Function at 0x45b4d0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
mov cx, word [edi]
cmp cx, 3
ja 0x45b4fb
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
movzx eax, cx
mov ecx, dword [ebp + 0x4d4]
push 0x42c80000
push eax
push ecx
push edx
jmp 0x45b53a
movzx eax, byte [edi + 4]
mov esi, dword [0xb4ea34]
lea edx, [eax + eax*4]
mov edx, dword [esi + edx*4]
test edx, edx
je 0x45b529
cmp byte [edx + 0x10], 0
je 0x45b529
mov ebp, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
push 0x42c80000
movzx ecx, cx
push ecx
push eax
push edx
jmp 0x45b53a
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
push 0x42c80000
push 0
push 0
push eax
call fcn.004d4610
movzx ecx, byte [edi + 2]
mov dword [esp + 0x24], ecx
add esp, 0x10
mov esi, eax
fild dword [esp + 0x14]
push ecx
mov ecx, esi
fmul dword [0x859c2c]
fstp dword [esp]
call fcn.004cea80
movzx edx, byte [edi + 3]
mov dword [esp + 0x14], edx
push 0x3f800000
push 0x3f800000
fild dword [esp + 0x1c]
mov ecx, esi
fmul dword [0x859c28]
fstp dword [esi + 0x24]
call fcn.004ceba0
mov dword [esi + 0x30], 0
mov cl, byte [edi + 0xa]
test cl, cl
je 0x45b65a
mov ax, word [edi + 6]
test ax, ax
je 0x45b65a
cmp ax, 3
movzx edx, byte [edi + 8]
mov dword [esp + 0x14], edx
movzx edx, byte [edi + 9]
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
movzx ecx, cl
fmul dword [0x859c2c]
fstp dword [esp + 0x18]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fmul dword [0x859c28]
fstp dword [esp + 0xc]
fild dword [esp + 0x14]
fmul dword [0x859c24]
fstp dword [esp + 0x14]
ja 0x45b5ff
movzx edx, ax
mov eax, dword [ebp + 0x4d4]
push 0x42c80000
push edx
push eax
jmp 0x45b61d
movzx ecx, byte [edi + 0xb]
mov esi, dword [0xb4ea34]
lea edx, [ecx + ecx*4]
cmp dword [esi + edx*4 + 8], 0
jle 0x45b65a
movzx eax, ax
push 0x42c80000
push eax
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.004d4610
mov esi, eax
add esp, 0x10
test esi, esi
je 0x45b65a
mov edx, dword [esp + 0x18]
push edx
mov ecx, esi
call fcn.004cea80
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
push 0x3f800000
push ecx
mov ecx, esi
mov dword [esi + 0x24], eax
call fcn.004ceba0
mov dword [esi + 0x30], 0
mov edx, dword [ebp + 0x18]
push 0x10
push edx
call fcn.004d6820
mov dx, word [edi + 0xc]
add esp, 8
test dx, dx
je 0x45b71d
movzx eax, byte [edi + 0xe]
movzx ecx, byte [edi + 0xf]
mov dword [esp + 0x14], eax
movzx eax, byte [edi + 0x10]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fmul dword [0x859c2c]
fstp dword [esp + 0x18]
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fmul dword [0x859c28]
fstp dword [esp + 0xc]
fild dword [esp + 0x14]
fmul dword [0x859c24]
fst dword [esp + 0x14]
fcomp dword [0x858b50]
fnstsw ax
test ah, 0x41
jne 0x45b71d
cmp dx, 3
je 0x45b71d
movzx eax, byte [edi + 0x11]
mov esi, dword [0xb4ea34]
lea ecx, [eax + eax*4]
mov ecx, dword [esi + ecx*4]
test ecx, ecx
je 0x45b71d
cmp byte [ecx + 0x10], 0
je 0x45b71d
movzx edx, dx
push 0x447a0000
push edx
push eax
mov eax, dword [ebp + 0x18]
push eax
call fcn.004d4610
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov esi, eax
push ecx
mov ecx, esi
call fcn.004cea80
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x24], edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
pop edi
pop esi
pop ebp
pop ecx
ret