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

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x20]
xor ebx, ebx
xor ebp, ebp
cmp edi, 0x4f
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
jle 0x43764c
mov dword [esp + 0x20], 0x63
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
push esi
call dword [sym.imp.MSVBVM60.DLL___vbaLenBstr]
push esi
mov dword [0x538c30], eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov ecx, dword [0x538c30]
mov dword [0x538c2c], eax
lea eax, [ecx - 1]
cmp eax, ebx
jl 0x4376e6
mov ecx, dword [0x538c38]
mov edi, dword [0x5390a4]
mov esi, dword [ecx + 0x14]
mov edx, dword [ecx + 0xc]
shl esi, 1
inc eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x18]
mov eax, ebx
sub eax, esi
mov dx, word [eax + ecx]
sub dx, 0x20
movsx ecx, dx
cmp ecx, 0x20
jne 0x4376b1
add ebp, 0x26
jmp 0x4376d0
mov edx, dword [edi + 0x14]
mov eax, edx
shl eax, 4
add eax, edx
mov edx, dword [edi + 0xc]
lea eax, [eax + eax*2]
shl eax, 1
sub edx, eax
xor eax, eax
mov al, byte [edx + ecx + 0x4ce]
add ebp, eax
mov eax, dword [esp + 0x24]
add ebx, 2
dec eax
mov dword [esp + 0x24], eax
jne 0x437694
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
fild dword [esp + 0x28]
fild dword [esp + 0x18]
fmul qword [0x4014a0]
fsubp st(1)
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
mov ebx, eax
mov eax, dword [0x538ae4]
cmp eax, ebx
jl 0x4377ce
lea ecx, [ebx + ebp]
cmp eax, ecx
mov dword [esp + 0x24], ecx
jg 0x4377ce
mov eax, dword [0x538ae8]
mov esi, dword [esp + 0x2c]
cmp eax, esi
jl 0x4377ce
lea ecx, [esi + 0x15]
cmp eax, ecx
jg 0x4377ce
mov eax, dword [0x538c1c]
lea ecx, [esp + 0x10]
push ecx
push 0x3f800000
mov edx, dword [eax]
push 0x2a
push ebp
add esi, 0xfffffff6
push 0x492
push 0xc58
lea ecx, [ebx - 4]
push esi
push ecx
push 5
push eax
mov dword [esp + 0x3c], 0xffffffff
call dword [edx + 0x78]
test eax, eax
fnclex
jge 0x437785
mov edx, dword [0x538c1c]
push 0x78
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x538c1c]
lea edx, [esp + 0x10]
push edx
mov edx, dword [esp + 0x28]
mov ecx, dword [eax]
push 0x3f800000
push 0x2a
push 6
push 0x492
push 0xed2
add edx, 0xfffffffc
push esi
push edx
push 5
push eax
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x4377ce
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, dword [0x538c30]
xor esi, esi
mov dword [esp + 0x24], esi
lea eax, [edx - 1]
test eax, eax
mov dword [esp + 0x28], eax
jl 0x437922
mov eax, dword [0x5390a4]
mov ecx, dword [0x538c38]
mov edx, esi
mov ebp, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
sub edx, ebp
mov dx, word [ecx + edx*2]
sub dx, 0x20
movsx ebp, dx
cmp ebp, 0x20
jne 0x43786c
lea edx, [esp + 0x10]
mov eax, dword [0x538c1c]
push edx
lea edx, [edi + edi*2]
shl edx, 3
sub edx, edi
push 0x3f800000
push 0x26
push 0x26
lea edx, [edx + edx + 4]
mov ecx, dword [eax]
push 0x36e
push edx
mov edx, dword [esp + 0x44]
add edx, 0xfffffff8
push edx
push ebx
push 4
push eax
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x43785f
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x5390a4]
add ebx, 0x26
jmp 0x437911
mov edx, dword [eax + 0x14]
mov edi, dword [eax + 0xc]
mov eax, edx
mov ecx, 0xc
shl eax, 4
add eax, edx
mov esi, edi
sub ecx, edx
lea eax, [eax + eax*2]
shl eax, 1
sub esi, eax
mov eax, ecx
shl eax, 4
add eax, ecx
lea ecx, [eax + eax*2]
movsx eax, word [edi + ecx*2]
lea edi, [esp + 0x10]
mov ecx, dword [0x538c1c]
push edi
push 0x3f800000
movsx edi, word [esi + 0x4ca]
push edi
push eax
movsx esi, word [esi + 0x4cc]
imul eax, ebp
mov edx, dword [ecx]
push esi
push eax
mov eax, dword [esp + 0x44]
push eax
push ebx
push 5
push ecx
call dword [edx + 0x78]
test eax, eax
fnclex
jge 0x4378e5
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x5390a4]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [eax + 0x14]
mov ecx, edx
shl ecx, 4
add ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 0xc]
shl edx, 1
sub ecx, edx
xor edx, edx
mov dl, byte [ecx + ebp + 0x4ce]
add ebx, edx
mov ecx, dword [esp + 0x28]
inc esi
cmp esi, ecx
mov dword [esp + 0x24], esi
jle 0x4377ee
mov ax, word [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10