Function at 0x433640
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Check os version
Get number of processors
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x4012c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4011d0
push 8
lea eax, [ebp - 0x28]
xor ebx, ebx
push 0x40d42c
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x8c], ebx
call dword [sym.imp.MSVBVM60.DLL___vbaAryConstruct2]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov edx, 0x40d488
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x41e6a0
add ecx, 4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x41e9b0
lea ecx, [eax + 8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x41ed08
add ecx, 0xc
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x41f050
lea ecx, [eax + 0x10]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x41f394
add ecx, 0x14
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x41f6ec
lea ecx, [eax + 0x18]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x41fa20
add ecx, 0x1c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x41fd90
lea ecx, [eax + 0x20]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42009c
add ecx, 0x24
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x4203f4
lea ecx, [eax + 0x28]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x420750
add ecx, 0x2c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x420aa0
lea ecx, [eax + 0x30]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x420dd4
add ecx, 0x34
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x421134
lea ecx, [eax + 0x38]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x421484
add ecx, 0x3c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x4217b8
lea ecx, [eax + 0x40]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x421b58
add ecx, 0x44
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x421eec
lea ecx, [eax + 0x48]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x422238
add ecx, 0x4c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x422574
lea ecx, [eax + 0x50]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4228e4
add ecx, 0x54
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x422c60
lea ecx, [eax + 0x58]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x422fa8
add ecx, 0x5c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42330c
lea ecx, [eax + 0x60]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x423674
add ecx, 0x64
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x423a40
lea ecx, [eax + 0x68]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x423db8
add ecx, 0x6c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42412c
lea ecx, [eax + 0x70]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x424498
add ecx, 0x74
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x424804
lea ecx, [eax + 0x78]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x424b58
add ecx, 0x7c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x424eb4
lea ecx, [eax + 0x80]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x425200
add ecx, 0x84
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x4255cc
lea ecx, [eax + 0x88]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4259a4
add ecx, 0x8c
call esi
mov edx, 0x425df8
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 0x90]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4261b0
add ecx, 0x94
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x426500
lea ecx, [eax + 0x98]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4267c4
add ecx, 0x9c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x426b20
lea ecx, [eax + 0xa0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x426ed4
add ecx, 0xa4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x4272b0
lea ecx, [eax + 0xa8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x427598
add ecx, 0xac
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42791c
lea ecx, [eax + 0xb0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x427cc8
add ecx, 0xb4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x428060
lea ecx, [eax + 0xb8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x4283fc
add ecx, 0xbc
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x428858
lea ecx, [eax + 0xc0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x428bd0
add ecx, 0xc4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x429014
lea ecx, [eax + 0xc8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x429370
add ecx, 0xcc
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42970c
lea ecx, [eax + 0xd0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x429aa8
add ecx, 0xd4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x429e38
lea ecx, [eax + 0xd8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42a180
add ecx, 0xdc
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42a5a0
lea ecx, [eax + 0xe0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42a8e8
add ecx, 0xe4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42ac8c
lea ecx, [eax + 0xe8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42b01c
add ecx, 0xec
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42b470
lea ecx, [eax + 0xf0]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42b7e4
add ecx, 0xf4
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42bb9c
lea ecx, [eax + 0xf8]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42bf40
add ecx, 0xfc
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42c2dc
lea ecx, [eax + 0x100]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42c638
add ecx, 0x104
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42c9b4
lea ecx, [eax + 0x108]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42cd30
add ecx, 0x10c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42d110
lea ecx, [eax + 0x110]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42d500
add ecx, 0x114
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42d968
lea ecx, [eax + 0x118]
call esi
mov ecx, dword [ebp - 0x1c]
mov edx, 0x42dd14
add ecx, 0x11c
call esi
mov eax, dword [ebp - 0x1c]
mov edx, 0x42e090
lea ecx, [eax + 0x120]
call esi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x70], 0x40d424
mov dword [ebp - 0x78], 8
call dword [sym.imp.MSVBVM60.DLL___vbaVarDup]
mov edx, dword [ebp - 0x1c]
push ebx
lea ecx, [ebp - 0x58]
push 0xffffffffffffffff
mov eax, dword [edx]
push ecx
lea ecx, [ebp - 0x68]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcSplit]
lea edx, [ebp - 0x68]
lea ecx, [ebp - 0x44]
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaRefVarAry]
lea edx, [ebp - 0x44]
push ebx
push edx
call edi
mov eax, dword [eax]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
push eax
push 1
push 2
push 0x436060
push 2
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
lea ecx, [ebp - 0x44]
push ecx
call edi
mov edx, dword [eax]
push edx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0x9c], eax
mov edi, 1
cmp di, word [ebp - 0x9c]
jg 0x433c35
mov ax, di
mov dword [ebp - 0x78], 2
sub ax, 1
jo 0x433e00
mov word [ebp - 0x70], ax
mov eax, dword [0x436060]
cmp eax, ebx
je 0x433bc2
cmp word [eax], 1
jne 0x433bc2
mov edx, dword [eax + 0x14]
movsx ecx, di
sub ecx, edx
mov edx, dword [eax + 0x10]
cmp ecx, edx
mov dword [ebp - 0x90], ecx
jb 0x433bb8
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x90]
add ecx, ecx
mov dword [ebp - 0xb4], ecx
jmp 0x433bce
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
sub esp, 0x10
mov edx, esp
push 1
mov dword [edx], eax
mov eax, dword [ebp - 0x70]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [edx + 8], eax
lea eax, [ebp - 0x58]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x44]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarIndexLoad]
add esp, 0x1c
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2Var]
mov ecx, dword [0x436060]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xb4]
mov word [edx + ecx], ax
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, 1
add ax, di
jo 0x433e00
mov edi, eax
jmp 0x433b63
mov edi, 1
mov dword [ebp - 0x30], edi
mov eax, 0x48
cmp di, ax
jg 0x433da9
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x70], 0x40d424
mov dword [ebp - 0x78], 8
call dword [sym.imp.MSVBVM60.DLL___vbaVarDup]
movsx edi, di
cmp edi, 0x49
jb 0x433c73
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [ebp - 0x1c]
push ebx
lea edx, [ebp - 0x58]
push 0xffffffffffffffff
mov ecx, dword [eax + edi*4]
push edx
lea edx, [ebp - 0x68]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcSplit]
lea edx, [ebp - 0x68]
lea ecx, [ebp - 0x44]
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaRefVarAry]
mov ecx, dword [eax]
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0xac], eax
mov edi, 1
cmp di, word [ebp - 0xac]
jg 0x433d94
movsx eax, word [ebp - 0x30]
mov dx, di
mov dword [ebp - 0x78], 2
sub dx, 1
jo 0x433e00
dec eax
mov word [ebp - 0x70], dx
cmp eax, 0x48
jb 0x433cfd
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
movsx eax, di
dec eax
cmp eax, 0x5e
mov dword [ebp - 0x90], eax
jb 0x433d12
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
sub esp, 0x10
mov eax, esp
push 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x58]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x44]
push eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaVarIndexLoad]
add esp, 0x1c
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
mov eax, dword [ebp - 0x90]
lea ecx, [eax + eax*8]
movsx eax, word [ebp - 0x30]
dec eax
lea eax, [eax + ecx*8]
mov ecx, dword [0x43604c]
lea ecx, [ecx + eax*4]
call esi
lea ecx, [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, 1
add ax, di
jo 0x433e00
mov edi, eax
jmp 0x433cc8
mov eax, 1
add ax, word [ebp - 0x30]
jo 0x433e00
mov dword [ebp - 0x30], eax
mov edi, eax
jmp 0x433c3d
push 0x433def
jmp 0x433dcd
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0x28]
push edx
push 0
mov dword [ebp - 0x8c], ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x44]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop