loc_00402CD0: push ebp
  loc_00402CD1: mov ebp, esp
  loc_00402CD3: sub esp, 0000000Ch
  loc_00402CD6: push 004011D6h ; __vbaExceptHandler
  loc_00402CDB: mov eax, fs:[00000000h]
  loc_00402CE1: push eax
  loc_00402CE2: mov fs:[00000000h], esp
  loc_00402CE9: sub esp, 00000158h
  loc_00402CEF: push ebx
  loc_00402CF0: push esi
  loc_00402CF1: push edi
  loc_00402CF2: mov var_C, esp
  loc_00402CF5: mov var_8, 00401148h
  loc_00402CFC: mov esi, arg_8
  loc_00402CFF: mov eax, esi
  loc_00402D01: and eax, 00000001h
  loc_00402D04: mov var_4, eax
  loc_00402D07: and esi, FFFFFFFEh
  loc_00402D0A: push esi
  loc_00402D0B: mov arg_8, esi
  loc_00402D0E: mov ecx, [esi]
  loc_00402D10: call [ecx+00000004h]
  loc_00402D13: mov edi, [00401078h] ; __vbaAryConstruct2
  loc_00402D19: push 00000008h
  loc_00402D1B: lea edx, var_4C
  loc_00402D1E: xor ebx, ebx
  loc_00402D20: push 00402104h
  loc_00402D25: push edx
  loc_00402D26: mov var_24, ebx
  loc_00402D29: mov var_34, ebx
  loc_00402D2C: mov var_70, ebx
  loc_00402D2F: mov var_74, ebx
  loc_00402D32: mov var_78, ebx
  loc_00402D35: mov var_7C, ebx
  loc_00402D38: mov var_80, ebx
  loc_00402D3B: mov var_84, ebx
  loc_00402D41: mov var_88, ebx
  loc_00402D47: mov var_8C, ebx
  loc_00402D4D: mov var_90, ebx
  loc_00402D53: mov var_94, ebx
  loc_00402D59: mov var_98, ebx
  loc_00402D5F: mov var_9C, ebx
  loc_00402D65: mov var_A0, ebx
  loc_00402D6B: mov var_A4, ebx
  loc_00402D71: mov var_A8, ebx
  loc_00402D77: mov var_AC, ebx
  loc_00402D7D: mov var_B0, ebx
  loc_00402D83: mov var_C0, ebx
  loc_00402D89: mov var_D0, ebx
  loc_00402D8F: mov var_E0, ebx
  loc_00402D95: mov var_F0, ebx
  loc_00402D9B: mov var_100, ebx
  loc_00402DA1: mov var_104, ebx
  loc_00402DA7: mov var_108, ebx
  loc_00402DAD: mov var_138, ebx
  loc_00402DB3: mov var_148, ebx
  loc_00402DB9: call edi
  loc_00402DBB: push 00000008h
  loc_00402DBD: lea eax, var_68
  loc_00402DC0: push 00402104h
  loc_00402DC5: push eax
  loc_00402DC6: call edi
  loc_00402DC8: mov eax, 00000002h
  loc_00402DCD: lea ecx, var_E0
  loc_00402DD3: mov var_E0, eax
  loc_00402DD9: mov var_E8, eax
  loc_00402DDF: mov var_F0, eax
  loc_00402DE5: mov var_100, eax
  loc_00402DEB: lea edx, var_F0
  loc_00402DF1: push ecx
  loc_00402DF2: lea eax, var_100
  loc_00402DF8: push edx
  loc_00402DF9: lea ecx, var_148
  loc_00402DFF: push eax
  loc_00402E00: lea edx, var_138
  loc_00402E06: push ecx
  loc_00402E07: lea eax, var_24
  loc_00402E0A: push edx
  loc_00402E0B: push eax
  loc_00402E0C: mov var_D8, 00000001h
  loc_00402E16: mov var_F8, ebx
  loc_00402E1C: call [00401048h] ; __vbaVarForInit
  loc_00402E22: mov edi, [0040110Ch] ; __vbaStrMove
  loc_00402E28: cmp eax, ebx
  loc_00402E2A: jz 00402FA3h
  loc_00402E30: mov ecx, [esi]
  loc_00402E32: push esi
  loc_00402E33: call [ecx+0000030Ch]
  loc_00402E39: lea edx, var_A4
  loc_00402E3F: push eax
  loc_00402E40: push edx
  loc_00402E41: call [0040104Ch] ; __vbaObjSet
  loc_00402E47: mov ebx, [eax]
  loc_00402E49: mov var_10C, eax
  loc_00402E4F: lea eax, var_A8
  loc_00402E55: lea ecx, var_24
  loc_00402E58: push eax
  loc_00402E59: push ecx
  loc_00402E5A: call [004010BCh] ; __vbaI2Var
  loc_00402E60: mov edx, ebx
  loc_00402E62: mov ebx, var_10C
  loc_00402E68: push eax
  loc_00402E69: push ebx
  loc_00402E6A: call [edx+00000040h]
  loc_00402E6D: test eax, eax
  loc_00402E6F: fnclex
  loc_00402E71: jge 00402E82h
  loc_00402E73: push 00000040h
  loc_00402E75: push 004020D4h
  loc_00402E7A: push ebx
  loc_00402E7B: push eax
  loc_00402E7C: call [00401034h] ; __vbaHresultCheckObj
  loc_00402E82: mov eax, var_A8
  loc_00402E88: lea edx, var_70
  loc_00402E8B: push edx
  loc_00402E8C: push eax
  loc_00402E8D: mov ecx, [eax]
  loc_00402E8F: mov ebx, eax
  loc_00402E91: call [ecx+000000A0h]
  loc_00402E97: test eax, eax
  loc_00402E99: fnclex
  loc_00402E9B: jge 00402EAFh
  loc_00402E9D: push 000000A0h
  loc_00402EA2: push 004020E4h
  loc_00402EA7: push ebx
  loc_00402EA8: push eax
  loc_00402EA9: call [00401034h] ; __vbaHresultCheckObj
  loc_00402EAF: mov eax, [esi]
  loc_00402EB1: push esi
  loc_00402EB2: call [eax+00000304h]
  loc_00402EB8: lea ecx, var_AC
  loc_00402EBE: push eax
  loc_00402EBF: push ecx
  loc_00402EC0: call [0040104Ch] ; __vbaObjSet
  loc_00402EC6: mov ebx, [eax]
  loc_00402EC8: mov var_11C, eax
  loc_00402ECE: lea edx, var_B0
  loc_00402ED4: lea eax, var_24
  loc_00402ED7: push edx
  loc_00402ED8: push eax
  loc_00402ED9: call [004010BCh] ; __vbaI2Var
  loc_00402EDF: mov ecx, ebx
  loc_00402EE1: mov ebx, var_11C
  loc_00402EE7: push eax
  loc_00402EE8: push ebx
  loc_00402EE9: call [ecx+00000040h]
  loc_00402EEC: test eax, eax
  loc_00402EEE: fnclex
  loc_00402EF0: jge 00402F01h
  loc_00402EF2: push 00000040h
  loc_00402EF4: push 004020D4h
  loc_00402EF9: push ebx
  loc_00402EFA: push eax
  loc_00402EFB: call [00401034h] ; __vbaHresultCheckObj
  loc_00402F01: mov eax, var_B0
  loc_00402F07: mov edx, var_70
  loc_00402F0A: push 00000000h
  loc_00402F0C: push edx
  loc_00402F0D: mov ebx, [eax]
  loc_00402F0F: mov var_124, eax
  loc_00402F15: call 00404510h
  loc_00402F1A: mov edx, eax
  loc_00402F1C: lea ecx, var_74
  loc_00402F1F: call edi
  loc_00402F21: push eax
  loc_00402F22: mov eax, var_124
  loc_00402F28: push eax
  loc_00402F29: call [ebx+000000A4h]
  loc_00402F2F: xor ebx, ebx
  loc_00402F31: cmp eax, ebx
  loc_00402F33: fnclex
  loc_00402F35: jge 00402F4Fh
  loc_00402F37: mov ecx, var_124
  loc_00402F3D: push 000000A4h
  loc_00402F42: push 004020E4h
  loc_00402F47: push ecx
  loc_00402F48: push eax
  loc_00402F49: call [00401034h] ; __vbaHresultCheckObj
  loc_00402F4F: lea edx, var_74
  loc_00402F52: lea eax, var_70
  loc_00402F55: push edx
  loc_00402F56: push eax
  loc_00402F57: push 00000002h
  loc_00402F59: call [004010E4h] ; __vbaFreeStrList
  loc_00402F5F: lea ecx, var_B0
  loc_00402F65: lea edx, var_AC
  loc_00402F6B: push ecx
  loc_00402F6C: lea eax, var_A8
  loc_00402F72: push edx
  loc_00402F73: lea ecx, var_A4
  loc_00402F79: push eax
  loc_00402F7A: push ecx
  loc_00402F7B: push 00000004h
  loc_00402F7D: call [00401024h] ; __vbaFreeObjList
  loc_00402F83: add esp, 00000020h
  loc_00402F86: lea edx, var_148
  loc_00402F8C: lea eax, var_138
  loc_00402F92: lea ecx, var_24
  loc_00402F95: push edx
  loc_00402F96: push eax
  loc_00402F97: push ecx
  loc_00402F98: call [00401120h] ; __vbaVarForNext
  loc_00402F9E: jmp 00402E28h
  loc_00402FA3: mov edx, [esi]
  loc_00402FA5: push ebx
  loc_00402FA6: push 00000015h
  loc_00402FA8: push esi
  loc_00402FA9: call [edx+00000314h]
  loc_00402FAF: push eax
  loc_00402FB0: lea eax, var_A4
  loc_00402FB6: push eax
  loc_00402FB7: call [0040104Ch] ; __vbaObjSet
  loc_00402FBD: lea ecx, var_C0
  loc_00402FC3: push eax
  loc_00402FC4: push ecx
  loc_00402FC5: call [0040108Ch] ; __vbaLateIdCallLd
  loc_00402FCB: add esp, 00000010h
  loc_00402FCE: lea edx, var_C0
  loc_00402FD4: lea eax, var_D0
  loc_00402FDA: push 00000002h
  loc_00402FDC: push edx
  loc_00402FDD: push eax
  loc_00402FDE: call [00401104h] ; rtcLeftCharVar
  loc_00402FE4: lea ecx, var_D0
  loc_00402FEA: push ecx
  loc_00402FEB: call [00401014h] ; __vbaStrVarMove
  loc_00402FF1: mov edx, eax
  loc_00402FF3: lea ecx, var_70
  loc_00402FF6: call edi
  loc_00402FF8: mov ecx, var_40
  loc_00402FFB: mov edx, eax
  loc_00402FFD: call [004010D8h] ; __vbaStrCopy
  loc_00403003: lea ecx, var_70
  loc_00403006: call [00401128h] ; __vbaFreeStr
  loc_0040300C: lea ecx, var_A4
  loc_00403012: call [0040112Ch] ; __vbaFreeObj
  loc_00403018: lea edx, var_D0
  loc_0040301E: lea eax, var_C0
  loc_00403024: push edx
  loc_00403025: push eax
  loc_00403026: push 00000002h
  loc_00403028: call [0040101Ch] ; __vbaFreeVarList
  loc_0040302E: mov ecx, [esi]
  loc_00403030: add esp, 0000000Ch
  loc_00403033: push ebx
  loc_00403034: push 00000015h
  loc_00403036: push esi
  loc_00403037: call [ecx+00000314h]
  loc_0040303D: lea edx, var_A4
  loc_00403043: push eax
  loc_00403044: push edx
  loc_00403045: call [0040104Ch] ; __vbaObjSet
  loc_0040304B: push eax
  loc_0040304C: lea eax, var_C0
  loc_00403052: push eax
  loc_00403053: call [0040108Ch] ; __vbaLateIdCallLd
  loc_00403059: add esp, 00000010h
  loc_0040305C: lea ecx, var_C0
  loc_00403062: lea edx, var_D0
  loc_00403068: push 00000002h
  loc_0040306A: push ecx
  loc_0040306B: push edx
  loc_0040306C: call [00401110h] ; rtcRightCharVar
  loc_00403072: lea eax, var_D0
  loc_00403078: push eax
  loc_00403079: call [00401014h] ; __vbaStrVarMove
  loc_0040307F: mov edx, eax
  loc_00403081: lea ecx, var_70
  loc_00403084: call edi
  loc_00403086: mov ecx, var_40
  loc_00403089: mov edx, eax
  loc_0040308B: add ecx, 00000004h
  loc_0040308E: call [004010D8h] ; __vbaStrCopy
  loc_00403094: lea ecx, var_70
  loc_00403097: call [00401128h] ; __vbaFreeStr
  loc_0040309D: lea ecx, var_A4
  loc_004030A3: call [0040112Ch] ; __vbaFreeObj
  loc_004030A9: lea edx, var_D0
  loc_004030AF: lea eax, var_C0
  loc_004030B5: push edx
  loc_004030B6: push eax
  loc_004030B7: push 00000002h
  loc_004030B9: call [0040101Ch] ; __vbaFreeVarList
  loc_004030BF: add esp, 0000000Ch
  loc_004030C2: mov ecx, [esi]
  loc_004030C4: push ebx
  loc_004030C5: push 0000000Fh
  loc_004030C7: push esi
  loc_004030C8: call [ecx+00000314h]
  loc_004030CE: lea edx, var_A4
  loc_004030D4: push eax
  loc_004030D5: push edx
  loc_004030D6: call [0040104Ch] ; __vbaObjSet
  loc_004030DC: push eax
  loc_004030DD: lea eax, var_C0
  loc_004030E3: push eax
  loc_004030E4: call [0040108Ch] ; __vbaLateIdCallLd
  loc_004030EA: add esp, 00000010h
  loc_004030ED: push eax
  loc_004030EE: call [00401014h] ; __vbaStrVarMove
  loc_004030F4: mov edx, eax
  loc_004030F6: lea ecx, var_70
  loc_004030F9: call edi
  loc_004030FB: mov ecx, var_40
  loc_004030FE: mov edx, eax
  loc_00403100: add ecx, 00000008h
  loc_00403103: call [004010D8h] ; __vbaStrCopy
  loc_00403109: lea ecx, var_70
  loc_0040310C: call [00401128h] ; __vbaFreeStr
  loc_00403112: lea ecx, var_A4
  loc_00403118: call [0040112Ch] ; __vbaFreeObj
  loc_0040311E: lea ecx, var_C0
  loc_00403124: call [00401010h] ; __vbaFreeVar
  loc_0040312A: mov edx, [esi]
  loc_0040312C: push ebx
  loc_0040312D: push 00000008h
  loc_0040312F: push esi
  loc_00403130: call [edx+00000314h]
  loc_00403136: push eax
  loc_00403137: lea eax, var_A4
  loc_0040313D: push eax
  loc_0040313E: call [0040104Ch] ; __vbaObjSet
  loc_00403144: lea ecx, var_C0
  loc_0040314A: push eax
  loc_0040314B: push ecx
  loc_0040314C: call [0040108Ch] ; __vbaLateIdCallLd
  loc_00403152: add esp, 00000010h
  loc_00403155: push eax
  loc_00403156: call [00401014h] ; __vbaStrVarMove
  loc_0040315C: mov edx, eax
  loc_0040315E: lea ecx, var_70
  loc_00403161: call edi
  loc_00403163: mov edx, eax
  loc_00403165: mov eax, var_40
  loc_00403168: lea ecx, [eax+0000000Ch]
  loc_0040316B: call [004010D8h] ; __vbaStrCopy
  loc_00403171: lea ecx, var_70
  loc_00403174: call [00401128h] ; __vbaFreeStr
  loc_0040317A: lea ecx, var_A4
  loc_00403180: call [0040112Ch] ; __vbaFreeObj
  loc_00403186: lea ecx, var_C0
  loc_0040318C: call [00401010h] ; __vbaFreeVar
  loc_00403192: mov ecx, var_40
  loc_00403195: mov edx, [ecx]
  loc_00403197: push edx
  loc_00403198: call [00401130h] ; rtcR8ValFromBstr
  loc_0040319E: call [00401100h] ; __vbaFpI4
  loc_004031A4: push eax
  loc_004031A5: call [004010C0h] ; rtcBstrFromAnsi
  loc_004031AB: mov edx, eax
  loc_004031AD: lea ecx, var_94
  loc_004031B3: call edi
  loc_004031B5: mov eax, var_40
  loc_004031B8: mov ecx, [eax+00000004h]
  loc_004031BB: push ecx
  loc_004031BC: call [00401130h] ; rtcR8ValFromBstr
  loc_004031C2: call [00401100h] ; __vbaFpI4
  loc_004031C8: push eax
  loc_004031C9: call [004010C0h] ; rtcBstrFromAnsi
  loc_004031CF: mov edx, eax
  loc_004031D1: lea ecx, var_98
  loc_004031D7: call edi
  loc_004031D9: mov edx, var_40
  loc_004031DC: mov eax, [edx+00000008h]
  loc_004031DF: push eax
  loc_004031E0: call [00401130h] ; rtcR8ValFromBstr
  loc_004031E6: call [00401100h] ; __vbaFpI4
  loc_004031EC: push eax
  loc_004031ED: call [004010C0h] ; rtcBstrFromAnsi
  loc_004031F3: mov edx, eax
  loc_004031F5: lea ecx, var_9C
  loc_004031FB: call edi
  loc_004031FD: mov ecx, var_40
  loc_00403200: mov edx, [ecx+0000000Ch]
  loc_00403203: push edx
  loc_00403204: call [00401130h] ; rtcR8ValFromBstr
  loc_0040320A: call [00401100h] ; __vbaFpI4
  loc_00403210: push eax
  loc_00403211: call [004010C0h] ; rtcBstrFromAnsi
  loc_00403217: mov edx, eax
  loc_00403219: lea ecx, var_A0
  loc_0040321F: call edi
  loc_00403221: mov eax, [esi]
  loc_00403223: push esi
  loc_00403224: call [eax+00000304h]
  loc_0040322A: lea ecx, var_A4
  loc_00403230: push eax
  loc_00403231: push ecx
  loc_00403232: call [0040104Ch] ; __vbaObjSet
  loc_00403238: mov edx, [eax]
  loc_0040323A: lea ecx, var_A8
  loc_00403240: push ecx
  loc_00403241: push 00000003h
  loc_00403243: push eax
  loc_00403244: mov var_11C, eax
  loc_0040324A: call [edx+00000040h]
  loc_0040324D: cmp eax, ebx
  loc_0040324F: fnclex
  loc_00403251: jge 00403268h
  loc_00403253: mov edx, var_11C
  loc_00403259: push 00000040h
  loc_0040325B: push 004020D4h
  loc_00403260: push edx
  loc_00403261: push eax
  loc_00403262: call [00401034h] ; __vbaHresultCheckObj
  loc_00403268: mov ecx, var_98
  loc_0040326E: mov eax, var_A8
  loc_00403274: mov edx, var_94
  loc_0040327A: mov var_15C, ecx
  loc_00403280: mov ecx, var_A0
  loc_00403286: mov var_124, eax
  loc_0040328C: mov eax, var_9C
  loc_00403292: mov var_164, ecx
  loc_00403298: lea ecx, var_70
  loc_0040329B: mov var_94, ebx
  loc_004032A1: mov var_98, ebx
  loc_004032A7: mov var_160, eax
  loc_004032AD: mov var_9C, ebx
  loc_004032B3: mov var_A0, ebx
  loc_004032B9: call edi
  loc_004032BB: mov edx, var_15C
  loc_004032C1: push eax
  loc_004032C2: lea ecx, var_74
  loc_004032C5: call edi
  loc_004032C7: push eax
  loc_004032C8: call [00401030h] ; __vbaStrCat
  loc_004032CE: mov edx, eax
  loc_004032D0: lea ecx, var_78
  loc_004032D3: call edi
  loc_004032D5: mov edx, var_160
  loc_004032DB: push eax
  loc_004032DC: lea ecx, var_7C
  loc_004032DF: call edi
  loc_004032E1: push eax
  loc_004032E2: call [00401030h] ; __vbaStrCat
  loc_004032E8: mov edx, eax
  loc_004032EA: lea ecx, var_80
  loc_004032ED: call edi
  loc_004032EF: mov edx, var_164
  loc_004032F5: push eax
  loc_004032F6: lea ecx, var_84
  loc_004032FC: call edi
  loc_004032FE: push eax
  loc_004032FF: call [00401030h] ; __vbaStrCat
  loc_00403305: mov edx, eax
  loc_00403307: lea ecx, var_88
  loc_0040330D: call edi
  loc_0040330F: mov edi, [esi]
  loc_00403311: lea edx, var_C0
  loc_00403317: lea eax, var_34
  loc_0040331A: push edx
  loc_0040331B: lea ecx, var_8C
  loc_00403321: push eax
  loc_00403322: push ecx
  loc_00403323: call [004010B4h] ; __vbaStrVarVal
  loc_00403329: lea edx, var_88
  loc_0040332F: push eax
  loc_00403330: push edx
  loc_00403331: push esi
  loc_00403332: call [edi+00000700h]
  loc_00403338: mov esi, var_124
  loc_0040333E: lea eax, var_C0
  loc_00403344: lea ecx, var_90
  loc_0040334A: push eax
  loc_0040334B: mov edi, [esi]
  loc_0040334D: push ecx
  loc_0040334E: call [004010B4h] ; __vbaStrVarVal
  loc_00403354: push eax
  loc_00403355: push esi
  loc_00403356: call [edi+000000A4h]
  loc_0040335C: cmp eax, ebx
  loc_0040335E: fnclex
  loc_00403360: jge 00403374h
  loc_00403362: push 000000A4h
  loc_00403367: push 004020E4h
  loc_0040336C: push esi
  loc_0040336D: push eax
  loc_0040336E: call [00401034h] ; __vbaHresultCheckObj
  loc_00403374: lea edx, var_A0
  loc_0040337A: lea eax, var_9C
  loc_00403380: push edx
  loc_00403381: lea ecx, var_98
  loc_00403387: push eax
  loc_00403388: lea edx, var_94
  loc_0040338E: push ecx
  loc_0040338F: lea eax, var_90
  loc_00403395: push edx
  loc_00403396: lea ecx, var_8C
  loc_0040339C: push eax
  loc_0040339D: lea edx, var_88
  loc_004033A3: push ecx
  loc_004033A4: lea eax, var_84
  loc_004033AA: push edx
  loc_004033AB: lea ecx, var_80
  loc_004033AE: push eax
  loc_004033AF: lea edx, var_7C
  loc_004033B2: push ecx
  loc_004033B3: lea eax, var_78
  loc_004033B6: push edx
  loc_004033B7: lea ecx, var_74
  loc_004033BA: push eax
  loc_004033BB: lea edx, var_70
  loc_004033BE: push ecx
  loc_004033BF: push edx
  loc_004033C0: push 0000000Dh
  loc_004033C2: call [004010E4h] ; __vbaFreeStrList
  loc_004033C8: lea eax, var_A8
  loc_004033CE: lea ecx, var_A4
  loc_004033D4: push eax
  loc_004033D5: push ecx
  loc_004033D6: push 00000002h
  loc_004033D8: call [00401024h] ; __vbaFreeObjList
  loc_004033DE: add esp, 00000044h
  loc_004033E1: lea ecx, var_C0
  loc_004033E7: call [00401010h] ; __vbaFreeVar
  loc_004033ED: mov var_4, ebx
  loc_004033F0: fwait
  loc_004033F1: push 004034E8h
  loc_004033F6: jmp 00403490h
  loc_004033FB: lea edx, var_A0
  loc_00403401: lea eax, var_9C
  loc_00403407: push edx
  loc_00403408: lea ecx, var_98
  loc_0040340E: push eax
  loc_0040340F: lea edx, var_94
  loc_00403415: push ecx
  loc_00403416: lea eax, var_90
  loc_0040341C: push edx
  loc_0040341D: lea ecx, var_8C
  loc_00403423: push eax
  loc_00403424: lea edx, var_88
  loc_0040342A: push ecx
  loc_0040342B: lea eax, var_84
  loc_00403431: push edx
  loc_00403432: lea ecx, var_80
  loc_00403435: push eax
  loc_00403436: lea edx, var_7C
  loc_00403439: push ecx
  loc_0040343A: lea eax, var_78
  loc_0040343D: push edx
  loc_0040343E: lea ecx, var_74
  loc_00403441: push eax
  loc_00403442: lea edx, var_70
  loc_00403445: push ecx
  loc_00403446: push edx
  loc_00403447: push 0000000Dh
  loc_00403449: call [004010E4h] ; __vbaFreeStrList
  loc_0040344F: lea eax, var_B0
  loc_00403455: lea ecx, var_AC
  loc_0040345B: push eax
  loc_0040345C: lea edx, var_A8
  loc_00403462: push ecx
  loc_00403463: lea eax, var_A4
  loc_00403469: push edx
  loc_0040346A: push eax
  loc_0040346B: push 00000004h
  loc_0040346D: call [00401024h] ; __vbaFreeObjList
  loc_00403473: add esp, 0000004Ch
  loc_00403476: lea ecx, var_D0
  loc_0040347C: lea edx, var_C0
  loc_00403482: push ecx
  loc_00403483: push edx
  loc_00403484: push 00000002h
  loc_00403486: call [0040101Ch] ; __vbaFreeVarList
  loc_0040348C: add esp, 0000000Ch
  loc_0040348F: ret
  loc_00403490: lea eax, var_148
  loc_00403496: lea ecx, var_138
  loc_0040349C: push eax
  loc_0040349D: push ecx
  loc_0040349E: push 00000002h
  loc_004034A0: call [0040101Ch] ; __vbaFreeVarList
  loc_004034A6: mov esi, [00401010h] ; __vbaFreeVar
  loc_004034AC: add esp, 0000000Ch
  loc_004034AF: lea ecx, var_24
  loc_004034B2: call __vbaFreeVar
  loc_004034B4: lea ecx, var_34
  loc_004034B7: call __vbaFreeVar
  loc_004034B9: mov esi, [00401044h] ; __vbaAryDestruct
  loc_004034BF: lea eax, var_104
  loc_004034C5: lea edx, var_4C
  loc_004034C8: push eax
  loc_004034C9: push 00000000h
  loc_004034CB: mov var_104, edx
  loc_004034D1: call __vbaAryDestruct
  loc_004034D3: lea edx, var_108
  loc_004034D9: lea ecx, var_68
  loc_004034DC: push edx
  loc_004034DD: push 00000000h
  loc_004034DF: mov var_108, ecx
  loc_004034E5: call __vbaAryDestruct
  loc_004034E7: ret
  loc_004034E8: mov eax, arg_8
  loc_004034EB: push eax
  loc_004034EC: mov ecx, [eax]
  loc_004034EE: call [ecx+00000008h]
  loc_004034F1: mov eax, var_4
  loc_004034F4: mov ecx, var_14
  loc_004034F7: pop edi
  loc_004034F8: pop esi
  loc_004034F9: mov fs:[00000000h], ecx
  loc_00403500: pop ebx
  loc_00403501: mov esp, ebp
  loc_00403503: pop ebp
  loc_00403504: retn 0004h 

C++ Online Compiler

Write, Run & Share C++ code online using OneCompiler's C++ online compiler for free. It's one of the robust, feature-rich online compilers for C++ language, running on the latest version 17. Getting started with the OneCompiler's C++ compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C++ and start coding!

Read inputs from stdin

OneCompiler's C++ online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.

#include <iostream>
#include <string>
using namespace std;

int main() 
{
    string name;
    cout << "Enter name:";
    getline (cin, name);
    cout << "Hello " << name;
    return 0;
}

About C++

C++ is a widely used middle-level programming language.

  • Supports different platforms like Windows, various Linux flavours, MacOS etc
  • C++ supports OOPS concepts like Inheritance, Polymorphism, Encapsulation and Abstraction.
  • Case-sensitive
  • C++ is a compiler based language
  • C++ supports structured programming language
  • C++ provides alot of inbuilt functions and also supports dynamic memory allocation.
  • Like C, C++ also allows you to play with memory using Pointers.

Syntax help

Loops

1. If-Else:

When ever you want to perform a set of operations based on a condition If-Else is used.

if(conditional-expression) {
   //code
}
else {
   //code
}

You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.

2. Switch:

Switch is an alternative to If-Else-If ladder.

switch(conditional-expression){    
case value1:    
 // code    
 break;  // optional  
case value2:    
 // code    
 break;  // optional  
......    
    
default:     
 code to be executed when all the above cases are not matched;    
} 

3. For:

For loop is used to iterate a set of statements based on a condition.

for(Initialization; Condition; Increment/decrement){  
  //code  
} 

4. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while (condition) {  
// code 
}  

5. Do-While:

Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.

do {  
 // code 
} while (condition); 

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity. Function gets run only when it is called.

How to declare a Function:

return_type function_name(parameters);

How to call a Function:

function_name (parameters)

How to define a Function:

return_type function_name(parameters) {  
 // code
}