Function at 0x4bb960
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov edx, dword [0x53aab4]
fld dword [0x538b58]
lea eax, [eax + eax*2]
push ebx
shl eax, 2
push ebp
push esi
xor ecx, ecx
lea esi, [eax + edx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
fadd dword [esi + 4]
fst dword [esi + 4]
push edi
mov dword [esp + 0x14], ecx
fcomp dword [0x4036e8]
fnstsw ax
test ah, 0x41
jne 0x4bb9a4
mov dword [esi + 4], ecx
fld dword [esi + 8]
fcomp dword [0x4014d8]
fnstsw ax
test ah, 0x41
jne 0x4bb9bf
fld dword [esi + 8]
fsub dword [0x538b58]
jmp 0x4bb9dc
push 0x320
call fcn.004304b0
add eax, 0x190
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul dword [0x538b58]
fstp dword [esi + 8]
fld dword [esi + 8]
call dword [sym.imp.MSVBVM60.DLL___vbaFPFix]
fst dword [esp + 0x24]
fcomp dword [0x4014d8]
fnstsw ax
test ah, 1
jne 0x4bba0f
fld dword [esp + 0x24]
fcomp dword [0x4024c0]
fnstsw ax
test ah, 0x41
je 0x4bba0f
mov byte [esi], 0
jmp 0x4bba5b
fld dword [esp + 0x24]
fcomp dword [0x4024bc]
fnstsw ax
test ah, 1
jne 0x4bba36
fld dword [esp + 0x24]
fcomp dword [0x403010]
fnstsw ax
test ah, 0x41
je 0x4bba36
mov byte [esi], 1
jmp 0x4bba5b
fld dword [esp + 0x24]
fcomp dword [0x4036e4]
fnstsw ax
test ah, 1
jne 0x4bba5b
fld dword [esp + 0x24]
fcomp dword [0x4036e0]
fnstsw ax
test ah, 0x41
je 0x4bba5b
mov byte [esi], 2
fld dword [esi + 4]
call dword [sym.imp.MSVBVM60.DLL___vbaFPFix]
fst dword [esp + 0x24]
fcomp dword [0x4014d8]
fnstsw ax
test ah, 1
jne 0x4bba8c
fld dword [esp + 0x24]
fcomp dword [0x4036dc]
fnstsw ax
test ah, 0x41
je 0x4bba8c
mov byte [esi + 1], 0
jmp 0x4bbafc
fld dword [esp + 0x24]
fcomp dword [0x401724]
fnstsw ax
test ah, 1
jne 0x4bbaae
fld dword [esp + 0x24]
fcomp dword [0x4036d8]
fnstsw ax
test ah, 0x41
jne 0x4bbad0
fld dword [esp + 0x24]
fcomp dword [0x4024ec]
fnstsw ax
test ah, 1
jne 0x4bbad6
fld dword [esp + 0x24]
fcomp dword [0x4036e8]
fnstsw ax
test ah, 0x41
je 0x4bbad6
mov byte [esi + 1], 1
jmp 0x4bbafc
fld dword [esp + 0x24]
fcomp dword [0x40172c]
fnstsw ax
test ah, 1
jne 0x4bbafc
fld dword [esp + 0x24]
fcomp dword [0x4024f0]
fnstsw ax
test ah, 0x41
je 0x4bbafc
mov byte [esi + 1], 2
mov esi, dword [esp + 0x30]
mov bl, byte [esi + 3]
test bl, bl
jbe 0x4bbc95
cmp byte [esi], 1
jne 0x4bbbcb
cmp bl, 0x7f
jbe 0x4bbb21
mov dword [esp + 0x14], 0x3c0
mov eax, dword [0x53aac0]
mov ecx, ebx
and ecx, 0xff
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, edi
lea eax, [edx + ecx*8]
mov cl, byte [edx + ecx*8 + 4]
cmp cl, 0xff
jae 0x4bbc95
mov dl, byte [eax + 2]
lea edi, [esp + 0x10]
mov byte [esp + 0x24], dl
mov edx, dword [0x538c1c]
push edi
push 0x3f800000
mov ebp, dword [edx]
xor edx, edx
mov dl, byte [eax + 3]
and ecx, 0xff
push edx
mov edx, dword [esp + 0x30]
and edx, 0xff
push edx
movsx edx, word [eax]
movzx di, byte [esp + 0x34]
push edx
movzx dx, byte [esi + 4]
add edx, 8
imul edx, edi
mov edi, dword [esp + 0x28]
movsx edx, dx
add edx, edi
push edx
xor edx, edx
mov dl, byte [eax + 5]
mov eax, dword [esp + 0x44]
lea edx, [edx + eax - 0x25]
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [0x53aad0]
lea ecx, [ecx + eax - 0x1f]
mov eax, dword [0x538c1c]
push ecx
push edx
push eax
call dword [ebp + 0x78]
test eax, eax
fnclex
jge 0x4bbc95
jmp 0x4bbc80
mov dl, 0x7f
mov ecx, ebx
cmp dl, bl
sbb eax, eax
and ecx, 0xff
and eax, 0x514
add eax, 0x780
mov dword [esp + 0x14], eax
mov eax, dword [0x53aac4]
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ecx, edi
lea eax, [edx + ecx*8]
mov cl, byte [edx + ecx*8 + 4]
cmp cl, 0xff
jae 0x4bbc95
mov dl, byte [eax + 2]
lea edi, [esp + 0x10]
mov byte [esp + 0x24], dl
mov edx, dword [0x538c1c]
push edi
push 0x3f800000
mov ebp, dword [edx]
xor edx, edx
mov dl, byte [eax + 3]
and ecx, 0xff
push edx
mov edx, dword [esp + 0x30]
and edx, 0xff
push edx
movsx edx, word [eax]
movzx di, byte [esp + 0x34]
push edx
movzx dx, byte [esi + 4]
add edx, 8
imul edx, edi
mov edi, dword [esp + 0x28]
movsx edx, dx
add edx, edi
push edx
xor edx, edx
mov dl, byte [eax + 5]
mov eax, dword [esp + 0x44]
lea edx, [edx + eax - 0x25]
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [0x53aad0]
lea ecx, [ecx + eax - 0x1f]
mov eax, dword [0x538c1c]
push ecx
push edx
push eax
call dword [ebp + 0x78]
test eax, eax
fnclex
jge 0x4bbc95
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea edi, [esp + 0x10]
mov al, byte [esi]
push edi
mov ebp, dword [esp + 0x1c]
movzx di, byte [esi + 1]
shl edi, 6
movsx edi, di
push 0x3f800000
push 0x40
push 0x27
push edi
mov edi, dword [0x53aab4]
mov ecx, dword [0x538c1c]
movzx ax, al
movzx di, byte [edi + ebp + 1]
lea eax, [eax + eax*2]
mov edx, dword [ecx]
lea eax, [edi + eax - 3]
lea edi, [eax + eax*4]
shl edi, 3
sub edi, eax
movsx eax, di
push eax
mov eax, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x44]
push eax
mov eax, dword [0x53aad4]
push eax
push ecx
call dword [edx + 0x78]
test eax, eax
fnclex
jge 0x4bbd0f
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
cmp byte [esi], 1
jne 0x4bbde4
mov eax, dword [0x53aac8]
xor ecx, ecx
mov cl, byte [esi + 2]
xor dx, dx
mov edi, dword [eax + 0x14]
sub ecx, edi
mov edi, dword [eax + 0xc]
movzx bp, byte [esi + 5]
lea ecx, [ecx + ecx*4]
shl ecx, 1
mov al, byte [ecx + edi + 2]
mov dl, al
imul ebp, edx
lea edx, [ebp + ebp*2]
mov ebp, dword [esp + 0x18]
movsx edx, dx
mov dword [esp + 0x30], edx
mov edx, dword [0x53aab4]
mov dl, byte [edx + ebp]
lea ebp, [esp + 0x10]
mov byte [esp + 0x24], dl
and edx, 0xff
add edx, ecx
push ebp
add edx, edi
push 0x3f800000
mov dword [esp + 0x20], edx
mov edx, dword [0x538c1c]
mov edx, dword [edx]
mov dword [esp + 0x24], edx
xor edx, edx
mov dl, byte [ecx + edi + 3]
push edx
mov edx, eax
imul byte [esp + 0x30]
movsx ecx, word [ecx + edi]
and edx, 0xff
and eax, 0xff
push edx
push ecx
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
add eax, ecx
xor edx, edx
push eax
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dl, byte [eax + 7]
mov cl, byte [eax + 4]
mov eax, dword [esp + 0x40]
add edx, edi
push edx
mov edx, dword [0x53aad8]
add ecx, eax
mov eax, dword [0x538c1c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x4bbec0
jmp 0x4bbeab
mov eax, dword [0x53aacc]
xor ecx, ecx
mov cl, byte [esi + 2]
mov edi, dword [eax + 0x14]
sub ecx, edi
mov edi, dword [eax + 0xc]
movzx dx, byte [esi + 5]
lea ecx, [ecx + ecx*4]
shl ecx, 1
mov al, byte [ecx + edi + 2]
movzx bp, al
imul edx, ebp
add edx, 0x15f
mov ebp, dword [esp + 0x18]
lea edx, [edx + edx*2]
movsx edx, dx
mov dword [esp + 0x30], edx
mov edx, dword [0x53aab4]
mov dl, byte [edx + ebp]
lea ebp, [esp + 0x10]
mov byte [esp + 0x24], dl
and edx, 0xff
add edx, ecx
push ebp
add edx, edi
push 0x3f800000
mov dword [esp + 0x24], edx
mov edx, dword [0x538c1c]
mov edx, dword [edx]
mov dword [esp + 0x20], edx
xor edx, edx
mov dl, byte [ecx + edi + 3]
push edx
mov edx, eax
imul byte [esp + 0x30]
movsx ecx, word [ecx + edi]
and edx, 0xff
and eax, 0xff
push edx
push ecx
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
add eax, ecx
xor edx, edx
push eax
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov dl, byte [eax + 7]
mov cl, byte [eax + 4]
mov eax, dword [esp + 0x40]
add edx, edi
push edx
mov edx, dword [0x53aad8]
add ecx, eax
mov eax, dword [0x538c1c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x4bbec0
mov edx, dword [0x538c1c]
push 0x78
push 0x420690
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
test bl, bl
jbe 0x4bbfcf
cmp byte [esi], 1
jne 0x4bbf47
mov eax, dword [0x53aac0]
and ebx, 0xff
lea edx, [esp + 0x10]
mov edi, dword [0x538c1c]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
sub ebx, ecx
push edx
xor edx, edx
push 0x3f800000
mov dl, byte [eax + ebx*8 + 3]
lea ebx, [eax + ebx*8]
xor eax, eax
push edx
movsx edx, word [ebx]
mov al, byte [ebx + 2]
mov ecx, dword [edi]
push eax
push edx
xor edx, edx
mov dl, byte [esi + 4]
mov esi, dword [esp + 0x28]
imul edx, eax
add edx, esi
xor eax, eax
mov al, byte [ebx + 7]
push edx
mov edx, dword [esp + 0x44]
lea eax, [eax + edx - 0x25]
xor edx, edx
mov dl, byte [ebx + 6]
push eax
mov eax, dword [esp + 0x44]
lea edx, [edx + eax - 0x1f]
mov eax, dword [0x53aad0]
push edx
push eax
push edi
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x4bbfcf
jmp 0x4bbfba
mov eax, dword [0x53aac4]
and ebx, 0xff
mov edi, dword [0x538c1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
sub ebx, ecx
xor eax, eax
mov ecx, dword [edi]
lea ebx, [edx + ebx*8]
lea edx, [esp + 0x10]
push edx
xor edx, edx
mov dl, byte [ebx + 3]
mov al, byte [ebx + 2]
push 0x3f800000
push edx
movsx edx, word [ebx]
push eax
push edx
xor edx, edx
mov dl, byte [esi + 4]
mov esi, dword [esp + 0x28]
imul edx, eax
add edx, esi
xor eax, eax
mov al, byte [ebx + 7]
push edx
mov edx, dword [esp + 0x44]
lea eax, [eax + edx - 0x25]
xor edx, edx
mov dl, byte [ebx + 6]
push eax
mov eax, dword [esp + 0x44]
lea edx, [edx + eax - 0x1f]
mov eax, dword [0x53aad0]
push edx
push eax
push edi
call dword [ecx + 0x78]
test eax, eax
fnclex
jge 0x4bbfcf
mov ecx, dword [0x538c1c]
push 0x78
push 0x420690
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x10