Function at 0x4c2ed0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
mov eax, dword [esp + 0x18]
mov edx, dword [0x550c20]
fld dword [0x54ea70]
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]
push edi
mov dword [esp + 0x14], ecx
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x403760]
mov eax, dword [esp + 0x28]
mov dword [esi + 4], eax
fnstsw ax
test ah, 0x41
jne 0x4c2f20
mov dword [esi + 4], ecx
fld dword [esi + 8]
fcomp dword [0x4014d0]
fnstsw ax
test ah, 0x41
jne 0x4c2f3b
fld dword [esi + 8]
fsub dword [0x54ea70]
jmp 0x4c2f60
push 0x320
call fcn.0042fcc0
add eax, 0x190
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fstp qword [esp + 0x1c]
fld dword [0x54ea70]
fmul qword [esp + 0x1c]
fstp dword [esi + 8]
fld dword [esi + 8]
call dword [sym.imp.MSVBVM60.DLL___vbaFPFix]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x4014d0]
fnstsw ax
test ah, 1
jne 0x4c2f97
fld dword [esp + 0x28]
fcomp dword [0x402768]
fnstsw ax
test ah, 0x41
je 0x4c2f97
mov byte [esi], 0
jmp 0x4c2fe3
fld dword [esp + 0x28]
fcomp dword [0x402410]
fnstsw ax
test ah, 1
jne 0x4c2fbe
fld dword [esp + 0x28]
fcomp dword [0x403040]
fnstsw ax
test ah, 0x41
je 0x4c2fbe
mov byte [esi], 1
jmp 0x4c2fe3
fld dword [esp + 0x28]
fcomp dword [0x40375c]
fnstsw ax
test ah, 1
jne 0x4c2fe3
fld dword [esp + 0x28]
fcomp dword [0x403758]
fnstsw ax
test ah, 0x41
je 0x4c2fe3
mov byte [esi], 2
fld dword [esi + 4]
call dword [sym.imp.MSVBVM60.DLL___vbaFPFix]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x4014d0]
fnstsw ax
test ah, 1
jne 0x4c3018
fld dword [esp + 0x28]
fcomp dword [0x403754]
fnstsw ax
test ah, 0x41
je 0x4c3018
mov byte [esi + 1], 0
jmp 0x4c3088
fld dword [esp + 0x28]
fcomp dword [0x401740]
fnstsw ax
test ah, 1
jne 0x4c303a
fld dword [esp + 0x28]
fcomp dword [0x403750]
fnstsw ax
test ah, 0x41
jne 0x4c305c
fld dword [esp + 0x28]
fcomp dword [0x4024e4]
fnstsw ax
test ah, 1
jne 0x4c3062
fld dword [esp + 0x28]
fcomp dword [0x403760]
fnstsw ax
test ah, 0x41
je 0x4c3062
mov byte [esi + 1], 1
jmp 0x4c3088
fld dword [esp + 0x28]
fcomp dword [0x401738]
fnstsw ax
test ah, 1
jne 0x4c3088
fld dword [esp + 0x28]
fcomp dword [0x4024e8]
fnstsw ax
test ah, 0x41
je 0x4c3088
mov byte [esi + 1], 2
mov esi, dword [esp + 0x34]
mov bl, byte [esi + 3]
test bl, bl
jbe 0x4c3221
cmp byte [esi], 1
jne 0x4c3157
cmp bl, 0x7f
jbe 0x4c30ad
mov dword [esp + 0x14], 0x3c0
mov eax, dword [0x550c2c]
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 0x4c3221
mov dl, byte [eax + 2]
lea edi, [esp + 0x10]
mov byte [esp + 0x28], dl
mov edx, dword [0x54eb40]
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 + 0x34]
and edx, 0xff
push edx
movsx edx, word [eax]
movzx di, byte [esp + 0x38]
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 + 0x48]
lea edx, [edx + eax - 0x25]
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [0x550c3c]
lea ecx, [ecx + eax - 0x1f]
mov eax, dword [0x54eb40]
push ecx
push edx
push eax
call dword [ebp + 0x7c]
test eax, eax
fnclex
jge 0x4c3221
jmp 0x4c320c
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 [0x550c30]
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 0x4c3221
mov dl, byte [eax + 2]
lea edi, [esp + 0x10]
mov byte [esp + 0x28], dl
mov edx, dword [0x54eb40]
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 + 0x34]
and edx, 0xff
push edx
movsx edx, word [eax]
movzx di, byte [esp + 0x38]
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 + 0x48]
lea edx, [edx + eax - 0x25]
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [0x550c3c]
lea ecx, [ecx + eax - 0x1f]
mov eax, dword [0x54eb40]
push ecx
push edx
push eax
call dword [ebp + 0x7c]
test eax, eax
fnclex
jge 0x4c3221
mov ecx, dword [0x54eb40]
push 0x7c
push 0x420b44
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 [0x550c20]
mov ecx, dword [0x54eb40]
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 + 0x48]
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [0x550c40]
push eax
push ecx
call dword [edx + 0x7c]
test eax, eax
fnclex
jge 0x4c329b
mov ecx, dword [0x54eb40]
push 0x7c
push 0x420b44
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
cmp byte [esi], 1
jne 0x4c3370
mov eax, dword [0x550c34]
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 + 0x34], edx
mov edx, dword [0x550c20]
mov dl, byte [edx + ebp]
lea ebp, [esp + 0x10]
mov byte [esp + 0x28], dl
and edx, 0xff
add edx, ecx
push ebp
add edx, edi
push 0x3f800000
mov dword [esp + 0x20], edx
mov edx, dword [0x54eb40]
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 + 0x34]
movsx ecx, word [ecx + edi]
and edx, 0xff
and eax, 0xff
push edx
push ecx
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
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 + 0x44]
add edx, edi
push edx
mov edx, dword [0x550c44]
add ecx, eax
mov eax, dword [0x54eb40]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
call dword [ecx + 0x7c]
test eax, eax
fnclex
jge 0x4c344c
jmp 0x4c3437
mov eax, dword [0x550c38]
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 + 0x34], edx
mov edx, dword [0x550c20]
mov dl, byte [edx + ebp]
lea ebp, [esp + 0x10]
mov byte [esp + 0x28], dl
and edx, 0xff
add edx, ecx
push ebp
add edx, edi
push 0x3f800000
mov dword [esp + 0x24], edx
mov edx, dword [0x54eb40]
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 + 0x34]
movsx ecx, word [ecx + edi]
and edx, 0xff
and eax, 0xff
push edx
push ecx
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
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 + 0x44]
add edx, edi
push edx
mov edx, dword [0x550c44]
add ecx, eax
mov eax, dword [0x54eb40]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
call dword [ecx + 0x7c]
test eax, eax
fnclex
jge 0x4c344c
mov edx, dword [0x54eb40]
push 0x7c
push 0x420b44
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
test bl, bl
jbe 0x4c355b
cmp byte [esi], 1
jne 0x4c34d3
mov eax, dword [0x550c2c]
and ebx, 0xff
lea edx, [esp + 0x10]
mov edi, dword [0x54eb40]
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 + 0x48]
lea eax, [eax + edx - 0x25]
xor edx, edx
mov dl, byte [ebx + 6]
push eax
mov eax, dword [esp + 0x48]
lea edx, [edx + eax - 0x1f]
mov eax, dword [0x550c3c]
push edx
push eax
push edi
call dword [ecx + 0x7c]
test eax, eax
fnclex
jge 0x4c355b
jmp 0x4c3546
mov eax, dword [0x550c30]
and ebx, 0xff
mov edi, dword [0x54eb40]
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 + 0x48]
lea eax, [eax + edx - 0x25]
xor edx, edx
mov dl, byte [ebx + 6]
push eax
mov eax, dword [esp + 0x48]
lea edx, [edx + eax - 0x1f]
mov eax, dword [0x550c3c]
push edx
push eax
push edi
call dword [ecx + 0x7c]
test eax, eax
fnclex
jge 0x4c355b
mov ecx, dword [0x54eb40]
push 0x7c
push 0x420b44
push ecx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0x10