Function at 0x421520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x402736
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x401c60
xor edi, edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], edi
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 1
push 0xffffffffffffffff
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFileOpen]
cmp dword [0x431988], edi
jne 0x4215a7
push 0x431988
push 0x40866c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov esi, dword [0x431988]
mov edx, dword [esi]
lea eax, [ebp - 0x44]
push eax
push esi
call dword [edx + 0x14]
fnclex
cmp eax, edi
jge 0x4215cc
push 0x14
push 0x40865c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x44]
mov esi, eax
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
call dword [ecx + 0x60]
fnclex
cmp eax, edi
jge 0x4215f0
push 0x60
push 0x40867c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x38]
push eax
push 0x4099c0
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
call esi
mov edx, eax
lea ecx, [ebp - 0x3c]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
call edi
push eax
mov ecx, dword [0x43107c]
push ecx
call esi
mov edx, eax
lea ecx, [ebp - 0x40]
call edi
push eax
push 1
push 0x408c4c
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaPrintFile]
call esi
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x38]
push ecx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0x1c
lea ecx, [ebp - 0x44]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov edi, dword [ebp + 0x10]
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x9c]
fnclex
test eax, eax
jge 0x421679
push 0x9c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x4c]
fnclex
test eax, eax
jge 0x4216aa
push 0x4c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x4099dc
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x8c]
fnclex
test eax, eax
jge 0x4216e1
push 0x8c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x94]
fnclex
test eax, eax
jge 0x421718
push 0x94
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x38]
push eax
push ebx
call dword [edx + 0x60]
fnclex
test eax, eax
jge 0x421749
push 0x60
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x38]
push ecx
push 1
push 0x408c4c
call esi
add esp, 0xc
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x80]
fnclex
test eax, eax
jge 0x421789
push 0x80
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x4099dc
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x2c]
fnclex
test eax, eax
jge 0x4217ba
push 0x2c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x54]
fnclex
test eax, eax
jge 0x4217eb
push 0x54
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x38]
push eax
push ebx
call dword [edx + 0x78]
fnclex
test eax, eax
jge 0x42181c
push 0x78
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x38]
push ecx
push 1
push 0x408c4c
call esi
add esp, 0xc
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x6c]
fnclex
test eax, eax
jge 0x421856
push 0x6c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x64]
fnclex
test eax, eax
jge 0x421887
push 0x64
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x38]
push eax
push ebx
call dword [edx + 0x84]
fnclex
test eax, eax
jge 0x4218be
push 0x84
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x38]
push ecx
push 1
push 0x408c4c
call esi
add esp, 0xc
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x44]
fnclex
test eax, eax
jge 0x4218f8
push 0x44
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x24]
fnclex
test eax, eax
jge 0x421929
push 0x24
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x1c]
fnclex
test eax, eax
jge 0x42195a
push 0x1c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
push ecx
push 1
push 0x40957c
call esi
add esp, 0xc
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x6c]
push eax
push ebx
call dword [edx + 0x3c]
fnclex
test eax, eax
jge 0x42198b
push 0x3c
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x88], ecx
mov eax, 1
mov dword [ebp - 0x20], eax
cmp ax, word [ebp - 0x88]
jg 0x4219f4
mov ebx, dword [edi]
mov edx, dword [ebx]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x20]
push ecx
push ebx
call dword [edx + 0x40]
fnclex
test eax, eax
jge 0x4219ca
push 0x40
push 0x40830c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, dword [ebp - 0x38]
push edx
push 1
push 0x408c4c
call esi
add esp, 0xc
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, 1
add ax, word [ebp - 0x20]
jo 0x421b60
jmp 0x421999
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaFileClose]
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
push 0x421b31
jmp 0x421b27
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop