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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x405996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x402a90
mov ecx, dword [0x562aec]
xor eax, eax
cmp ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
je 0x48578e
mov ebx, dword [0x564f60]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov dword [ebp - 0x14], ebx
mov edx, dword [0x564f54]
mov eax, ebx
sub eax, dword [edx + 0x14]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx + ecx*4]
mov ecx, dword [edx + 0xc]
shl eax, 4
mov eax, dword [eax + ecx + 0x5c]
cmp eax, 0xfffffffe
je 0x4852f5
cmp eax, 0xfffffffb
je 0x4852f5
cmp eax, 0xfffffff9
je 0x4852f5
cmp eax, 0xfffffff8
je 0x4852f5
cmp eax, 1
jl 0x485223
cmp eax, 0x12
jle 0x485235
cmp eax, 0x14
jl 0x485301
cmp eax, 0x1e
jg 0x485301
push edx
lea edx, [ebp - 0x20]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov edx, dword [ebp - 0x20]
mov eax, ebx
mov ebx, dword [edx + 0x14]
sub eax, ebx
mov ebx, dword [edx + 0xc]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x562aa0]
lea esi, [ecx + ecx*4]
shl esi, 4
add esi, ebx
mov ebx, dword [eax]
fld dword [esi + 0x40]
fild dword [0x561048]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x15c]
push ecx
push edx
fstp qword [ebp - 0x3c]
fsub qword [ebp - 0x3c]
fsub dword [esi + 0x54]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0x44]
fsub qword [ebp - 0x44]
fsub qword [0x4029c0]
call edi
mov ecx, dword [esi + 8]
push eax
mov eax, dword [0x564f58]
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, esi
shl ecx, 4
mov eax, dword [ecx + edx + 4]
mov ecx, dword [0x562aa0]
push eax
push ecx
call dword [ebx + 0xc4]
test eax, eax
fnclex
jge 0x4852e0
mov edx, dword [0x562aa0]
push 0xc4
push 0x420714
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [0x564f54]
mov ebx, dword [ebp - 0x14]
jmp 0x485301
push ebx
call fcn.0048a6c0
mov edx, dword [0x564f54]
lea ecx, [ebp - 0x24]
push edx
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x24]
mov eax, ebx
mov esi, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
sub eax, esi
lea esi, [eax*8]
sub esi, eax
lea esi, [esi + esi*4]
shl esi, 4
add esi, edx
cmp word [esi + 0x1bc], 0
je 0x485432
mov edx, dword [0x562aa0]
mov eax, dword [esi + 0x1a4]
fld dword [esi + 0x1b4]
mov ebx, dword [edx]
mov edx, dword [esi + 0x1a0]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x48], eax
push ecx
push 0x3f800000
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaFPFix]
fild dword [ebp - 0x48]
fstp qword [ebp - 0x50]
fmul qword [ebp - 0x50]
fild dword [esi + 0x19c]
fstp qword [ebp - 0x58]
fadd qword [ebp - 0x58]
call edi
fld dword [esi + 0x40]
fild dword [0x561048]
push eax
mov eax, dword [esi + 0x198]
push eax
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fsub dword [esi + 0x54]
fild dword [esi + 0x1b0]
fstp qword [ebp - 0x68]
fsub qword [ebp - 0x68]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0x70]
fsub qword [ebp - 0x70]
fild dword [esi + 0x1ac]
fstp qword [ebp - 0x78]
fsub qword [ebp - 0x78]
call edi
mov ecx, dword [0x562aa0]
push eax
push 6
push ecx
call dword [ebx + 0x7c]
test eax, eax
fnclex
jge 0x4853eb
mov edx, dword [0x562aa0]
push 0x7c
push 0x420714
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
fld dword [esi + 0x1b8]
fadd dword [esi + 0x1b4]
movsx ecx, word [esi + 0x1aa]
fstp dword [ebp - 0x7c]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x7c]
fild dword [ebp - 0x80]
mov dword [esi + 0x1b4], eax
fstp dword [ebp - 0x84]
fld dword [ebp - 0x7c]
fcomp dword [ebp - 0x84]
fnstsw ax
test ah, 1
jne 0x48542f
mov word [esi + 0x1bc], 0
mov ebx, dword [ebp - 0x14]
cmp word [esi + 0x1c0], 0
je 0x48547c
fld dword [0x56117c]
fadd dword [esi + 0x1c8]
fstp dword [ebp - 0x88]
fld dword [ebp - 0x88]
fcomp dword [esi + 0x1cc]
mov edx, dword [ebp - 0x88]
mov dword [esi + 0x1c8], edx
fnstsw ax
test ah, 0x41
jne 0x48547c
push ebx
call fcn.0048eda0
mov word [esi + 0x1c0], 0
fld dword [esi + 0x90]
fcomp dword [0x4014e0]
fnstsw ax
test ah, 0x41
jne 0x4854ef
fild dword [esi + 0x78]
push 0x20
fstp qword [ebp - 0x90]
fld dword [esi + 0x54]
fadd qword [ebp - 0x90]
call edi
fld dword [esi + 0x40]
fild dword [0x561048]
push eax
fstp qword [ebp - 0x98]
fsub qword [ebp - 0x98]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0xa0]
fsub qword [ebp - 0xa0]
fadd dword [esi + 0x84]
call edi
push eax
lea eax, [esi + 0x90]
push eax
lea eax, [esi + 0x8c]
push eax
call fcn.00439cf0
fld dword [esi + 0x9c]
fcomp dword [0x4014e0]
fnstsw ax
test ah, 0x41
jne 0x4855e1
fld dword [esi + 0xa0]
fcomp dword [0x4014e0]
fnstsw ax
test ah, 0x41
jne 0x48557b
fld dword [esi + 0xa0]
fsub dword [0x56117c]
fstp dword [ebp - 0xa4]
fld dword [ebp - 0xa4]
fcomp dword [0x4013e8]
mov ecx, dword [ebp - 0xa4]
mov dword [esi + 0xa0], ecx
fnstsw ax
test ah, 1
je 0x4855e1
mov eax, dword [0x562a88]
mov cx, word [esi + 8]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x4c]
test eax, eax
fnclex
jge 0x4855e1
mov edx, dword [0x562a88]
push 0x4c
push 0x4212ac
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
jmp 0x4855e1
fild dword [esi + 0x78]
push 0x20
fstp qword [ebp - 0xac]
fld dword [esi + 0x54]
fadd qword [ebp - 0xac]
call edi
fld dword [esi + 0x40]
fild dword [0x561048]
push eax
fstp qword [ebp - 0xb4]
fsub qword [ebp - 0xb4]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0xbc]
fsub qword [ebp - 0xbc]
fadd dword [esi + 0x84]
fadd qword [0x4015f8]
call edi
push eax
lea eax, [esi + 0x9c]
push eax
lea eax, [esi + 0x98]
push eax
call fcn.00439cf0
fld dword [esi + 0xa8]
fcomp dword [0x4014e0]
fnstsw ax
test ah, 0x41
jne 0x485644
fld dword [esi + 0x40]
fild dword [0x561048]
push 0
push 0
fstp qword [ebp - 0xc4]
fsub qword [ebp - 0xc4]
fsub dword [esi + 0x54]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0xcc]
fsub qword [ebp - 0xcc]
fadd dword [esi + 0x84]
call edi
push eax
lea eax, [esi + 0xa8]
lea ecx, [esi + 0xa4]
push eax
push ecx
call fcn.00439cf0
cmp ebx, dword [0x564f68]
jne 0x485753
mov eax, dword [esi + 0x154]
mov ecx, dword [esi + 0x1c]
cmp eax, ecx
jge 0x4856d9
cmp word [esi + 0x1f8], 0
jne 0x4856d9
test eax, eax
jle 0x485724
fld dword [esi + 0x40]
fild dword [0x561048]
fstp qword [ebp - 0xd4]
fsub qword [ebp - 0xd4]
fadd qword [0x402a88]
fsub dword [esi + 0x54]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0xdc]
fsub qword [ebp - 0xdc]
call edi
fild dword [esi + 0x154]
push eax
fstp qword [ebp - 0xe4]
fild dword [esi + 0x1c]
fstp qword [ebp - 0xec]
fld qword [ebp - 0xe4]
fdiv qword [ebp - 0xec]
fmul qword [0x402a80]
call edi
push eax
call fcn.00490bd0
jmp 0x485724
fld dword [esi + 0x40]
fild dword [0x561048]
mov edx, dword [esi + 0x14]
push 0x564f70
push edx
fstp qword [ebp - 0xf4]
fsub qword [ebp - 0xf4]
fadd qword [0x402500]
fsub dword [esi + 0x54]
call edi
fld dword [esi + 0x3c]
fild dword [0x561044]
push eax
fstp qword [ebp - 0xfc]
fsub qword [ebp - 0xfc]
call edi
add esi, 0x18
push eax
push esi
call fcn.0043ec10
fld dword [0x564f70]
fsub dword [0x561198]
fstp dword [0x564f70]
fld dword [0x564f70]
fcomp dword [0x4014e0]
fnstsw ax
test ah, 1
je 0x485753
mov dword [0x564f68], 0
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov edx, dword [0x564f64]
mov eax, dword [0x562aec]
add ebx, edx
cmp ebx, eax
mov dword [ebp - 0x14], ebx
jle 0x485778
mov ebx, 1
jmp 0x48577f
cmp ebx, 1
jge 0x485782
mov ebx, eax
mov dword [ebp - 0x14], ebx
cmp ebx, dword [0x564f60]
jne 0x4851d4
wait
push 0x4857a7
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x20]
push ecx
call esi
lea edx, [ebp - 0x24]
push edx
call esi
ret