Function at 0x55242a
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x412af6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
xor eax, eax
push 0x16
pop ecx
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0x4032e8
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
push 1
call sub.MSVBVM50.DLL___vbaOnError
cmp word [0x782024], bx
je 0x552480
fld dword [0x4013d4]
jmp 0x552486
fld dword [0x4013d8]
fstp dword [ebp - 0x34]
cmp word [0x782368], bx
je 0x5524a0
mov dword [ebp - 0x5c], 0x6b
mov eax, dword [0x7822ba]
jmp 0x5524cc
cmp word [0x782650], bx
je 0x5524b7
mov dword [ebp - 0x5c], 0x69
mov eax, dword [0x782674]
jmp 0x5524cc
cmp word [0x782c68], bx
je 0x5524cf
mov dword [ebp - 0x5c], 0x87
mov eax, dword [0x782c50]
mov dword [ebp - 0x54], eax
push 1
pop eax
mov dword [ebp - 0x20], eax
cmp word [ebp - 0x54], ax
jl 0x552d22
push 2
pop esi
cmp word [0x782368], bx
je 0x5524f9
push 1
movsx eax, ax
push eax
push dword [0x78294c]
jmp 0x552524
cmp word [0x782650], bx
je 0x552510
push 1
movsx eax, ax
push eax
push dword [0x782630]
jmp 0x552524
cmp word [0x782c68], bx
je 0x552532
push ebx
movsx eax, ax
push eax
push dword [0x782c24]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [eax]
fstp dword [ebp - 0x50]
mov ebx, dword [0x7822b8]
push 1
pop edi
cmp bx, di
jl 0x552573
movsx eax, di
push eax
push 0xffffffffffffffff
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x50]
fcomp dword [eax]
fnstsw ax
sahf
jbe 0x552570
add di, 1
jo 0x552d3b
cmp di, bx
jle 0x552540
jmp 0x552573
mov dword [ebp - 0x2c], edi
mov ax, word [ebp - 0x2c]
sub ax, 1
jo 0x552d3b
movsx edi, ax
push edi
push 0xffffffffffffffff
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x50]
fsub dword [eax]
fstp dword [ebp - 0x4c]
fnstsw ax
test al, 0xd
jne 0x552d36
movsx eax, word [ebp - 0x2c]
push eax
push 0xffffffffffffffff
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
push edi
push 0xffffffffffffffff
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebx]
fsub dword [eax]
fstp dword [ebp - 0x68]
fnstsw ax
test al, 0xd
jne 0x552d36
push 1
pop ebx
cmp word [ebp - 0x2c], bx
jne 0x5526f9
push ebx
push 3
movsx eax, word [0x78202c]
push eax
push dword [0x782814]
push 3
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x14
fld dword [eax]
fmul dword [0x40149c]
fstp dword [ebp - 0x58]
fnstsw ax
test al, 0xd
jne 0x552d36
push ebx
push 7
movsx eax, word [0x78202c]
push eax
push dword [0x782814]
push 3
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x14
fld dword [eax]
fmul dword [ebp - 0x50]
push ebx
push esi
movsx eax, word [0x78202c]
push eax
push dword [0x782814]
push 3
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x14
cmp dword [section..data], 0
jne 0x552667
fdiv dword [eax]
jmp 0x55266e
push dword [eax]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fstp dword [ebp - 0x38]
fnstsw ax
test al, 0xd
jne 0x552d36
fld dword [ebp - 0x50]
fsub dword [0x7822bc]
fstp dword [ebp - 0x40]
fnstsw ax
test al, 0xd
jne 0x552d36
fldz
fstp dword [ebp - 0x28]
fldz
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [ebp - 0x40]
fnstsw ax
sahf
jae 0x5526b8
fld dword [ebp - 0x40]
fmul dword [ebp - 0x34]
fstp dword [ebp - 0x28]
fnstsw ax
test al, 0xd
jne 0x552d36
fld dword [ebp - 0x58]
fmul dword [ebp - 0x50]
fsub dword [ebp - 0x28]
fstp dword [ebp - 0x28]
fnstsw ax
test al, 0xd
jne 0x552d36
fld dword [ebp - 0x38]
fmul qword [0x401578]
cmp dword [section..data], 0
jne 0x5526e5
fdiv dword [ebp - 0x28]
jmp 0x5526ed
push dword [ebp - 0x28]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fnstsw ax
test al, 0xd
jne 0x552d36
jmp 0x55276e
movsx eax, word [ebp - 0x2c]
push eax
push 0
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
push edi
push 0
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebx]
fsub dword [eax]
fstp dword [ebp - 0x60]
fnstsw ax
test al, 0xd
jne 0x552d36
push edi
push 0
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x60]
fmul dword [ebp - 0x4c]
cmp dword [section..data], 0
jne 0x55275a
fdiv dword [ebp - 0x68]
jmp 0x552762
push dword [ebp - 0x68]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fadd dword [eax]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0x6c]
mov dword [ebp - 0x74], 0x3e8
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0052d9e5
fstp dword [ebp - 0x6c]
movsx eax, word [ebp - 0x2c]
push eax
push 0xfffffffffffffffe
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
push edi
push 0xfffffffffffffffe
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebx]
fsub dword [eax]
fstp dword [ebp - 0x64]
fnstsw ax
test al, 0xd
jne 0x552d36
push edi
push 0xfffffffffffffffe
push dword [0x782948]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x64]
fmul dword [ebp - 0x4c]
cmp dword [section..data], 0
jne 0x5527e9
fdiv dword [ebp - 0x68]
jmp 0x5527f1
push dword [ebp - 0x68]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fadd dword [eax]
fstp dword [ebp - 0x48]
fnstsw ax
test al, 0xd
jne 0x552d36
mov dword [ebp - 0x74], 0x186a0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0052d9e5
fstp dword [ebp - 0x48]
xor ebx, ebx
cmp word [0x782368], bx
je 0x552b21
push 0xb
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x6c]
fstp dword [eax]
push 0x12
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x48]
fstp dword [eax]
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov edi, eax
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0x98]
fld dword [ebp - 0x98]
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [edi]
fnstsw ax
sahf
je 0x5528a1
push 1
pop edi
jmp 0x5528a3
xor edi, edi
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
fld qword [0x401460]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0x9c]
fld dword [ebp - 0x9c]
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [ebx]
fnstsw ax
sahf
je 0x5528ea
push 1
pop eax
xor ebx, ebx
jmp 0x5528ee
xor ebx, ebx
xor eax, eax
test eax, edi
jne 0x552913
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xa0]
fld dword [ebp - 0xa0]
jmp 0x552a8b
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov edi, eax
fld qword [0x401450]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xa4]
fld dword [ebp - 0xa4]
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [edi]
fnstsw ax
sahf
je 0x552958
push 1
pop edi
jmp 0x55295a
xor edi, edi
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
fld qword [0x401458]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xa8]
fld dword [ebp - 0xa8]
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [ebx]
fnstsw ax
sahf
je 0x5529a1
push 1
pop eax
xor ebx, ebx
jmp 0x5529a5
xor ebx, ebx
xor eax, eax
test eax, edi
jne 0x5529ca
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xac]
fld dword [ebp - 0xac]
jmp 0x552a8b
push ebx
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov edi, eax
fldz
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [edi]
fnstsw ax
sahf
je 0x5529f4
push 1
pop edi
jmp 0x5529f6
xor edi, edi
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov ebx, eax
fldz
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [ebx]
fnstsw ax
sahf
je 0x552a23
push 1
pop eax
xor ebx, ebx
jmp 0x552a27
xor ebx, ebx
xor eax, eax
or edi, eax
jne 0x552a49
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xb0]
fld dword [ebp - 0xb0]
jmp 0x552a8b
push 0xb
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov edi, eax
fldz
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [edi]
fnstsw ax
sahf
jne 0x552a9d
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xb4]
fld dword [ebp - 0xb4]
push 0xd
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
jmp 0x552be7
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [eax]
push 0xb
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
cmp dword [section..data], 0
jne 0x552ad8
fdiv dword [eax]
jmp 0x552adf
push dword [eax]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fstp dword [ebp - 0x44]
fnstsw ax
test al, 0xd
jne 0x552d36
mov dword [ebp - 0x74], 0x64
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0052d9e5
fstp dword [ebp - 0x44]
push 0xd
movsx eax, word [ebp - 0x20]
push eax
push dword [0x78294c]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x44]
jmp 0x552cfe
cmp word [0x782650], bx
je 0x552cc1
push 0x1c
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x6c]
fstp dword [eax]
push 0xffffffffffffffe4
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x48]
fstp dword [eax]
push 0xfffffffffffffff5
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
mov edi, eax
fldz
call sub.MSVBVM50.DLL___vbaFpR4
fcomp dword [edi]
fnstsw ax
sahf
je 0x552bf5
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xb8]
fld dword [ebp - 0xb8]
push 0x1d
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fstp dword [eax]
fld qword [0x401448]
fnstsw ax
test al, 0xd
jne 0x552d36
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xbc]
push 0xffffffffffffffdc
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
jmp 0x552cfe
push 0xb
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [eax]
push 0x1c
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
cmp dword [section..data], 0
jne 0x552c30
fdiv dword [eax]
jmp 0x552c37
push dword [eax]
call sub.MSVBVM50.DLL__adj_fdiv_m32
fstp dword [ebp - 0x44]
fnstsw ax
test al, 0xd
jne 0x552d36
mov dword [ebp - 0x74], 0x64
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0052d9e5
push 0x1d
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782630]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fstp dword [eax]
xor edx, edx
mov ax, word [0x7826c2]
cmp ax, 7
sete dl
neg edx
mov ecx, dword [0x7823a0]
and edx, ecx
test dx, dx
je 0x552c9d
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00543eeb
jmp 0x552d00
xor edx, edx
cmp ax, 8
sete dl
neg edx
and edx, ecx
test dx, dx
je 0x552d00
mov dword [ebp - 0x70], esi
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00544a2c
jmp 0x552d00
cmp word [0x782c68], bx
je 0x552d00
push 7
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782c24]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x6c]
fstp dword [eax]
push 0x16
movsx eax, word [ebp - 0x20]
push eax
push dword [0x782c24]
push esi
call sub.MSVBVM50.DLL___vbaDerefAry
add esp, 0x10
fld dword [ebp - 0x48]
fstp dword [eax]
mov ax, word [ebp - 0x20]
add ax, 1
jo 0x552d3b
mov dword [ebp - 0x20], eax
cmp ax, word [ebp - 0x54]
jle 0x5524e2
jmp 0x552d22
call sub.MSVBVM50.DLL___vbaExitProc
mov ecx, dword [ebp - 0x1c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret
jmp fcn.00412afc
call sub.MSVBVM50.DLL___vbaErrorOverflow