Function at 0x4462cf
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x4044c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xe0
call fcn.004044c0
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x4025c0
mov ax, word [0x5210dc]
add ax, 1
jo 0x4466c1
mov word [0x5210dc], ax
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx eax, byte [eax]
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fstp qword [ebp - 0x2c]
mov ax, word [0x5210dc]
add ax, 1
jo 0x4466c1
movsx eax, ax
push eax
push dword [0x5210d8]
call fcn.00404832
movzx eax, byte [eax]
mov dword [ebp - 0xec], eax
fild dword [ebp - 0xec]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fmul qword [0x402378]
fadd qword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fnstsw ax
test al, 0xd
jne 0x4466bc
mov ax, word [0x5210dc]
add ax, 2
jo 0x4466c1
mov word [0x5210dc], ax
movsx eax, word [0x5210dc]
push eax
push dword [0x5210d8]
call fcn.00404832
movzx si, byte [eax]
mov ax, word [0x5210dc]
add ax, 1
jo 0x4466c1
movsx eax, ax
push eax
push dword [0x5210d8]
call fcn.00404832
movzx ax, byte [eax]
imul ax, ax, 0x100
jo 0x4466c1
add si, ax
jo 0x4466c1
movsx eax, si
mov dword [ebp - 0xf0], eax
fild dword [ebp - 0xf0]
fstp qword [ebp - 0x58]
lea eax, [ebp - 0x58]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd8], 0x4005
fld qword [ebp - 0x58]
fsub qword [0x4025b8]
fstp qword [ebp - 0x70]
fnstsw ax
test al, 0xd
jne 0x4466bc
mov dword [ebp - 0x78], 5
fld qword [ebp - 0x58]
fcomp qword [0x4025b0]
fnstsw ax
sahf
jbe 0x446444
mov dword [ebp - 0xf4], 1
jmp 0x44644b
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
neg eax
mov word [ebp - 0xb0], ax
mov dword [ebp - 0xb8], 0xb
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004047a2
lea eax, [ebp - 0x88]
push eax
call fcn.004047d8
fstp qword [ebp - 0x58]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xb8]
push eax
push 3
call fcn.00404898
add esp, 0x10
fld qword [ebp - 0x60]
fdiv qword [0x4025b8]
fadd qword [ebp - 0x58]
fstp qword [ebp - 0x70]
fnstsw ax
test al, 0xd
jne 0x4466bc
mov dword [ebp - 0x78], 5
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00404670
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.004046ca
lea eax, [ebp - 0x98]
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004048b6
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x78]
push eax
push 3
call fcn.00404898
add esp, 0x10
fld qword [ebp - 0x60]
fdiv qword [0x4025b8]
fstp qword [ebp - 0x70]
fnstsw ax
test al, 0xd
jne 0x4466bc
mov dword [ebp - 0x78], 5
push 0
push 0
push 0
push 3
lea eax, [ebp - 0x78]
push eax
call fcn.0040467c
mov edx, eax
lea ecx, [ebp - 0x68]
call fcn.004048b6
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xe4], eax
and dword [ebp - 0x68], 0
mov edx, dword [ebp - 0xe4]
lea ecx, [ebp - 0x64]
call fcn.004048b6
push eax
call fcn.00404802
fadd qword [ebp - 0x58]
fstp qword [ebp - 0x80]
fnstsw ax
test al, 0xd
jne 0x4466bc
mov dword [ebp - 0x88], 5
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00404670
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.004046ca
lea eax, [ebp - 0xa8]
push eax
call fcn.004048aa
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004048b6
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x64]
push eax
push 2
call fcn.0040489e
add esp, 0xc
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x78]
push eax
push 4
call fcn.00404898
add esp, 0x14
mov ax, word [0x5210dc]
add ax, 2
jo 0x4466c1
mov word [0x5210dc], ax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb8], 8
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x24]
call fcn.00404766
wait
push 0x44669e
jmp 0x44668d
lea ecx, [ebp - 0x38]
call fcn.00404868
lea ecx, [ebp - 0x50]
call fcn.00404844
ret
jmp fcn.004044cc
call fcn.0040477e