Function at 0x54f430
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x40caf6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x40c710
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ebx
xor esi, esi
mov eax, 2
cmp esi, eax
jg 0x54f4ba
mov eax, dword [0x55e330]
mov edx, 0x42928c
lea ecx, [eax + esi*4]
call edi
mov ecx, dword [0x55e34c]
mov edx, 0x42928c
lea ecx, [ecx + esi*4]
call edi
mov eax, 1
add eax, esi
jo 0x54f827
mov esi, eax
jmp 0x54f481
cmp word [0x55e240], bx
je 0x54f7c1
lea edx, [ebp - 0x20]
push 1
push edx
push 0x55e17c
push 0x80000001
call fcn.0049d080
test eax, eax
jle 0x54f7c1
mov eax, dword [ebp - 0x20]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCmp]
add eax, 1
mov dword [ebp - 0x70], 1
jo 0x54f827
sub eax, 1
mov dword [ebp - 0x14], ebx
jo 0x54f827
mov dword [ebp - 0x74], eax
cmp ebx, dword [ebp - 0x74]
jg 0x54f7c1
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x54], 0x4275bc
mov dword [ebp - 0x5c], 8
call dword [sym.imp.MSVBVM60.DLL___vbaVarDup]
mov eax, dword [ebp - 0x20]
push 0
lea ecx, [ebp - 0x3c]
push 0xffffffffffffffff
mov edx, dword [eax + 0x14]
push ecx
sub ebx, edx
mov edx, dword [eax + 0xc]
lea ecx, [ebp - 0x4c]
mov eax, dword [edx + ebx*4]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcSplit]
lea edx, [ebp - 0x4c]
push edx
push 0x2008
call dword [sym.imp.MSVBVM60.DLL___vbaAryVar]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x24]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryCopy]
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x3c]
push edx
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
mov ecx, dword [ebp - 0x24]
add esp, 0xc
lea edx, [ebp - 0x28]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], 0x80000001
mov ecx, 2
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, ebx
lea eax, [edx + ecx*4]
lea ecx, [ebp - 0x60]
push eax
push 0x55e17c
push ecx
call fcn.0049c1c0
mov edx, eax
lea ecx, [ebp - 0x2c]
call esi
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x2c], 0
call esi
mov eax, dword [ebp - 0x1c]
push eax
push 0x42e54c
call edi
mov ecx, dword [ebp - 0x1c]
mov ebx, eax
neg ebx
sbb ebx, ebx
push ecx
push 0x42928c
inc ebx
call edi
neg eax
sbb eax, eax
inc eax
or ebx, eax
jne 0x54f7af
mov eax, dword [ebp - 0x24]
mov edx, 2
push 3
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ebx
mov ecx, dword [eax + edx*4]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcLeftCharBstr]
mov edx, eax
lea ecx, [ebp - 0x2c]
call esi
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcLowerCaseBstr]
mov edx, eax
lea ecx, [ebp - 0x64]
call esi
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov edx, dword [ebp - 0x64]
push edx
push 0x439e28
call edi
test eax, eax
jne 0x54f6d2
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00529e60
test ax, ax
je 0x54f7af
mov ecx, dword [ebp - 0x1c]
push 0
push ecx
call fcn.0052c950
mov edx, eax
lea ecx, [ebp - 0x1c]
call esi
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x28]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x28]
mov ecx, 2
push 0x4275bc
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + ecx*4]
mov ecx, dword [0x55e34c]
push eax
push ecx
call fcn.004a39c0
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov ecx, dword [0x55e330]
lea eax, [ebp - 0x1c]
push 0x4275bc
push eax
push ecx
jmp 0x54f7aa
mov edx, dword [ebp - 0x64]
push edx
push 0x439e34
call edi
test eax, eax
jne 0x54f748
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00529db0
test ax, ax
je 0x54f7af
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x28]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x28]
mov ecx, 2
push 0x4275bc
mov edx, dword [eax + 0x14]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [edx + ecx*4]
mov ecx, dword [0x55e34c]
add ecx, 4
push eax
push ecx
call fcn.004a39c0
lea edx, [ebp - 0x28]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov ecx, dword [0x55e330]
lea eax, [ebp - 0x1c]
push 0x4275bc
add ecx, 4
push eax
push ecx
jmp 0x54f7aa
mov edx, dword [ebp - 0x64]
push edx
push 0x439e40
call edi
test eax, eax
jne 0x54f7af
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x28]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov eax, dword [ebp - 0x28]
mov edx, 2
push 0x4275bc
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub edx, ecx
lea ecx, [eax + edx*4]
mov edx, dword [0x55e34c]
add edx, 8
push ecx
push edx
call fcn.004a39c0
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [0x55e330]
lea ecx, [ebp - 0x1c]
push 0x4275bc
add edx, 8
push ecx
push edx
call fcn.004a39c0
mov ebx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x14]
add ebx, eax
jo 0x54f827
mov dword [ebp - 0x14], ebx
jmp 0x54f51b
push 0x54f816
jmp 0x54f7ef
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x64]
call esi
lea ecx, [ebp - 0x1c]
call esi
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea eax, [ebp - 0x20]
push eax
push 0
call esi
lea ecx, [ebp - 0x24]
push ecx
push 0
call esi
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop