Function at 0x405fd0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x403096
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x12c
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x401638
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 3
mov ax, word [ebp - 0x40]
sub ax, 0x1486
jo 0x406be5
mov word [ebp - 0x40], ax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x88]
imul ecx, ecx, 0x966ad0
jo 0x406be5
mov dword [ebp - 0x88], ecx
mov dword [ebp - 4], 5
fld qword [ebp - 0x90]
fmul qword [0x401840]
fstp qword [ebp - 0x90]
fnstsw ax
test al, 0xd
jne 0x406be0
mov dword [ebp - 4], 6
fld qword [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
and eax, 0x616d7d
mov dword [ebp - 0xcc], eax
fild dword [ebp - 0xcc]
fstp qword [ebp - 0x48]
mov dword [ebp - 4], 7
mov dx, word [ebp - 0x40]
or dx, 0x7f7e
mov word [ebp - 0x40], dx
mov dword [ebp - 4], 8
mov ax, word [ebp - 0xac]
cwd
mov cx, 0x4a2
idiv cx
mov word [ebp - 0xac], dx
mov dword [ebp - 4], 9
movsx edx, word [ebp - 0x84]
mov dword [ebp - 0xd0], edx
fild dword [ebp - 0xd0]
fstp qword [ebp - 0xd8]
fld qword [0x401838]
cmp dword [section..data], 0
jne 0x40610c
fdiv qword [ebp - 0xd8]
jmp 0x40611d
push dword [ebp - 0xd4]
push dword [ebp - 0xd8]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov word [ebp - 0x84], ax
mov dword [ebp - 4], 0xa
mov ax, word [ebp - 0x60]
xor ax, 0x1d3e
mov word [ebp - 0x60], ax
mov dword [ebp - 4], 0xb
mov eax, 0x8193d2
cdq
idiv dword [ebp - 0x4c]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 4], 0xc
mov cx, word [ebp - 0xac]
xor cx, 0x1145
mov word [ebp - 0xac], cx
mov dword [ebp - 4], 0xd
mov ax, word [ebp - 0xa4]
cwd
mov cx, 0x344
idiv cx
mov word [ebp - 0xa4], dx
mov dword [ebp - 4], 0xe
movsx edx, word [ebp - 0x60]
mov dword [ebp - 0xdc], edx
fild dword [ebp - 0xdc]
fstp qword [ebp - 0xe4]
fld qword [0x401830]
cmp dword [section..data], 0
jne 0x4061c6
fdiv qword [ebp - 0xe4]
jmp 0x4061d7
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov word [ebp - 0x60], ax
mov dword [ebp - 4], 0xf
mov ax, word [ebp - 0x40]
cwd
mov cx, 0x1ffa
idiv cx
mov word [ebp - 0x40], dx
mov dword [ebp - 4], 0x10
mov dx, word [ebp - 0xa4]
add dx, 0x4f7
jo 0x406be5
mov word [ebp - 0xa4], dx
mov dword [ebp - 4], 0x11
fld qword [ebp - 0x6c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
xor eax, 0x5dd7c
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fstp qword [ebp - 0x6c]
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x74]
add eax, 0x33fa64
jo 0x406be5
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x64]
sub ecx, 0x313e61
jo 0x406be5
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], 0x14
mov edx, dword [ebp - 0x78]
and edx, 0xff
mov dword [ebp - 0xec], edx
fild dword [ebp - 0xec]
fstp qword [ebp - 0xf4]
fld qword [ebp - 0xf4]
cmp dword [section..data], 0
jne 0x4062b1
fdiv qword [0x401548]
jmp 0x4062c2
push dword [0x40154c]
push dword [0x401548]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpUI1]
mov byte [ebp - 0x78], al
mov dword [ebp - 4], 0x15
mov eax, dword [ebp - 0xa8]
and eax, 0xff
mov dword [ebp - 0xf8], eax
fild dword [ebp - 0xf8]
fstp qword [ebp - 0x100]
fld qword [0x401828]
cmp dword [section..data], 0
jne 0x406310
fdiv qword [ebp - 0x100]
jmp 0x406321
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpUI1]
mov byte [ebp - 0xa8], al
mov dword [ebp - 4], 0x16
fld qword [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
and eax, 0x122126
mov dword [ebp - 0x104], eax
fild dword [ebp - 0x104]
fstp qword [ebp - 0x48]
mov dword [ebp - 4], 0x17
fild dword [ebp - 0x50]
fstp qword [ebp - 0x10c]
fld qword [ebp - 0x10c]
cmp dword [section..data], 0
jne 0x406382
fdiv qword [0x401820]
jmp 0x406393
push dword [0x401824]
push dword [0x401820]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], 0x18
mov ecx, dword [ebp - 0x88]
and ecx, 0x4b8d65
mov dword [ebp - 0x88], ecx
mov dword [ebp - 4], 0x19
fld qword [0x401818]
fadd qword [ebp - 0x38]
fstp qword [ebp - 0x38]
fnstsw ax
test al, 0xd
jne 0x406be0
mov dword [ebp - 4], 0x1a
fld qword [ebp - 0x9c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
cdq
mov ecx, 0x2ee1a9
idiv ecx
mov dword [ebp - 0x110], edx
fild dword [ebp - 0x110]
fstp qword [ebp - 0x9c]
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x50]
cdq
mov ecx, 0xc7a306
idiv ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 4], 0x1c
movzx cx, byte [ebp - 0xa8]
or ecx, 0x18
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xa8], al
mov dword [ebp - 4], 0x1d
movzx cx, byte [ebp - 0xb0]
or ecx, 0xe8
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xb0], al
mov dword [ebp - 4], 0x1e
fld qword [ebp - 0x80]
fmul qword [0x401810]
fstp qword [ebp - 0x80]
fnstsw ax
test al, 0xd
jne 0x406be0
mov dword [ebp - 4], 0x1f
mov dx, word [ebp - 0x94]
and dx, 0x344
mov word [ebp - 0x94], dx
mov dword [ebp - 4], 0x20
mov ax, word [ebp - 0x24]
and ax, 0x1145
mov word [ebp - 0x24], ax
mov dword [ebp - 4], 0x21
mov cx, word [ebp - 0x40]
xor cx, 0x75e
mov word [ebp - 0x40], cx
mov dword [ebp - 4], 0x22
fld qword [ebp - 0x90]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
xor eax, 0x642980
mov dword [ebp - 0x114], eax
fild dword [ebp - 0x114]
fstp qword [ebp - 0x90]
mov dword [ebp - 4], 0x23
mov ax, word [ebp - 0x84]
cwd
mov cx, 0xf92
idiv cx
mov word [ebp - 0x84], dx
mov dword [ebp - 4], 0x24
movzx dx, byte [ebp - 0x30]
mov cx, 0xdf
sub cx, dx
jo 0x406be5
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0x30], al
mov dword [ebp - 4], 0x25
fld qword [ebp - 0x80]
fsub qword [0x401808]
fstp qword [ebp - 0x80]
fnstsw ax
test al, 0xd
jne 0x406be0
mov dword [ebp - 4], 0x26
mov ax, word [ebp - 0x94]
xor ax, 0xfe7
mov word [ebp - 0x94], ax
mov dword [ebp - 4], 0x27
fld qword [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
and eax, 0x24fab7
mov dword [ebp - 0x118], eax
fild dword [ebp - 0x118]
fstp qword [ebp - 0x38]
mov dword [ebp - 4], 0x28
mov cx, word [ebp - 0xb4]
or cx, 0x411f
mov word [ebp - 0xb4], cx
mov dword [ebp - 4], 0x29
movzx cx, byte [ebp - 0xa8]
xor cx, 0x93
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xa8], al
mov dword [ebp - 4], 0x2a
fld qword [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
xor eax, 0x53c16e
mov dword [ebp - 0x11c], eax
fild dword [ebp - 0x11c]
fstp qword [ebp - 0x2c]
mov dword [ebp - 4], 0x2b
movzx cx, byte [ebp - 0x70]
add cx, 0xc9
jo 0x406be5
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0x70], al
mov dword [ebp - 4], 0x2c
movzx cx, byte [ebp - 0xa0]
and ecx, 0xffff0082
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xa0], al
mov dword [ebp - 4], 0x2d
fld qword [ebp - 0x90]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
or eax, 0xd080de
mov dword [ebp - 0x120], eax
fild dword [ebp - 0x120]
fstp qword [ebp - 0x90]
mov dword [ebp - 4], 0x2e
mov dx, word [ebp - 0x84]
or dx, 0x16bd
mov word [ebp - 0x84], dx
mov dword [ebp - 4], 0x2f
mov ax, word [ebp - 0x54]
xor ax, 0x47a0
mov word [ebp - 0x54], ax
mov dword [ebp - 4], 0x30
fld qword [ebp - 0x9c]
fmul qword [0x401800]
fstp qword [ebp - 0x9c]
fnstsw ax
test al, 0xd
jne 0x406be0
mov dword [ebp - 4], 0x31
mov cx, word [ebp - 0x84]
imul cx, cx, 0xa6f
jo 0x406be5
mov word [ebp - 0x84], cx
mov dword [ebp - 4], 0x32
fld qword [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov ecx, eax
mov eax, 0x3ff38a
cdq
idiv ecx
mov dword [ebp - 0x124], edx
fild dword [ebp - 0x124]
fstp qword [ebp - 0x2c]
mov dword [ebp - 4], 0x33
mov ax, word [ebp - 0x3c]
cwd
mov cx, 0x7ed4
idiv cx
mov word [ebp - 0x3c], dx
mov dword [ebp - 4], 0x34
fld qword [ebp - 0x6c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
or eax, 0xe1185
mov dword [ebp - 0x128], eax
fild dword [ebp - 0x128]
fstp qword [ebp - 0x6c]
mov dword [ebp - 4], 0x35
mov dx, word [ebp - 0x60]
xor dx, 0x10f0
mov word [ebp - 0x60], dx
mov dword [ebp - 4], 0x36
mov eax, 0xbd5cc9
sub eax, dword [ebp - 0x64]
jo 0x406be5
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 0x37
mov cx, word [ebp - 0xa4]
imul cx, cx, 0x5a3f
jo 0x406be5
mov word [ebp - 0xa4], cx
mov dword [ebp - 4], 0x38
mov dx, 0x150a
sub dx, word [ebp - 0x24]
jo 0x406be5
mov word [ebp - 0x24], dx
mov dword [ebp - 4], 0x39
mov eax, dword [ebp - 0x88]
add eax, 0xa416df
jo 0x406be5
mov dword [ebp - 0x88], eax
mov dword [ebp - 4], 0x3a
fld qword [ebp - 0x6c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov ecx, eax
mov eax, 0x96ca1b
cdq
idiv ecx
mov dword [ebp - 0x12c], edx
fild dword [ebp - 0x12c]
fstp qword [ebp - 0x6c]
mov dword [ebp - 4], 0x3b
mov edx, dword [ebp - 0x74]
xor edx, 0xbd5cc9
mov dword [ebp - 0x74], edx
mov dword [ebp - 4], 0x3c
fld qword [ebp - 0x5c]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
xor eax, 0x749192
mov dword [ebp - 0x130], eax
fild dword [ebp - 0x130]
fstp qword [ebp - 0x5c]
mov dword [ebp - 4], 0x3d
movzx cx, byte [ebp - 0xa0]
imul cx, cx, 0x10
jo 0x406be5
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xa0], al
mov dword [ebp - 4], 0x3e
fild dword [ebp - 0x74]
fstp qword [ebp - 0x138]
fld qword [ebp - 0x138]
cmp dword [section..data], 0
jne 0x40684c
fdiv qword [0x4017f8]
jmp 0x40685d
push dword [0x4017fc]
push dword [0x4017f8]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 0x3f
mov ax, word [ebp - 0x3c]
xor ax, 0x554c
mov word [ebp - 0x3c], ax
mov dword [ebp - 4], 0x40
fild dword [ebp - 0x50]
fstp qword [ebp - 0x140]
fld qword [0x4017f0]
cmp dword [section..data], 0
jne 0x4068aa
fdiv qword [ebp - 0x140]
jmp 0x4068bb
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x406be0
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], 0x41
movzx cx, byte [ebp - 0xb0]
and ecx, 0xffff001f
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0xb0], al
mov dword [ebp - 4], 0x42
movzx cx, byte [ebp - 0x70]
and ecx, 0xffff0007
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0x70], al
mov dword [ebp - 4], 0x43
mov ecx, dword [ebp - 0x64]
or ecx, 0x7311a
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], 0x44
movzx cx, byte [ebp - 0x78]
add cx, 0x88
jo 0x406be5
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [ebp - 0x78], al
mov dword [ebp - 4], 0x45
mov edx, dword [ebp - 0x4c]
xor edx, 0xaf6636
mov dword [ebp - 0x4c], edx
mov dword [ebp - 4], 0x46
fld qword [ebp - 0x48]
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
or eax, 0xf6c908
mov dword [ebp - 0x144], eax
fild dword [ebp - 0x144]
fstp qword [ebp - 0x48]
mov dword [ebp - 4], 0x47
mov eax, dword [ebp - 0x50]
and eax, 0x92a5b3
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], 0x48
add byte [eax], al
add ch, bl
inc ebp
enter 0x15ff, 0xffffffffffffffb8
adc byte [eax], al