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

Disassembly:
sub esp, 0x1dc
mov eax, dword [esp + 0x1e0]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0xc18c0000
push ebx
push eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1f4], ebx
mov dword [esp + 0x20], 0x447a0000
call fcn.00419af0
fstp st(0)
add esp, 0xc
mov dword [esp + 0x10], 2
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [0x581d84]
mov edx, dword [ecx + 0xc]
lea edi, [edx + eax]
lea eax, [edi + 1]
cdq
idiv ebp
mov eax, dword [0x581d80]
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*2]
lea ecx, [esp + 0xb8]
lea esi, [eax + edx*4]
push esi
call fcn.004149e0
lea ecx, [esi + 0xc]
push ecx
lea ecx, [esp + 0xc8]
call fcn.004149e0
mov edx, dword [esi + 0x18]
lea ecx, [esi + 0x20]
mov dword [esp + 0xd0], edx
mov eax, dword [esi + 0x1c]
push ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0xd8], eax
call fcn.004149e0
lea edx, [esi + 0x2c]
lea ecx, [esp + 0xe4]
push edx
call fcn.004149e0
mov eax, dword [esi + 0x38]
add esi, 0x49
mov dword [esp + 0xf0], eax
mov ecx, dword [esi - 0xd]
mov dword [esp + 0xf4], ecx
mov edx, dword [esi - 9]
mov dword [esp + 0xf8], edx
mov ax, word [esi - 5]
mov word [esp + 0xfc], ax
mov cx, word [esi - 3]
mov word [esp + 0xfe], cx
mov dl, byte [esi - 1]
mov byte [esp + 0x100], dl
mov ax, word [esi]
mov word [esp + 0x101], ax
mov eax, edi
cdq
idiv ebp
mov cl, byte [esi + 2]
mov byte [esp + 0x103], cl
lea eax, [edx + edx*8]
lea ecx, [edx + eax*2]
mov edx, dword [0x581d80]
lea esi, [edx + ecx*4]
lea ecx, [esp + 0x6c]
push esi
call fcn.004149e0
lea eax, [esi + 0xc]
lea ecx, [esp + 0x78]
push eax
call fcn.004149e0
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x20]
mov dword [esp + 0x84], ecx
mov edx, dword [esi + 0x1c]
push eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x8c], edx
call fcn.004149e0
lea ecx, [esi + 0x2c]
push ecx
lea ecx, [esp + 0x9c]
call fcn.004149e0
mov edx, dword [esi + 0x38]
mov dword [esp + 0xa4], edx
mov eax, dword [esi + 0x3c]
mov dword [esp + 0xa8], eax
mov ecx, dword [esi + 0x40]
mov dword [esp + 0xac], ecx
mov dx, word [esi + 0x44]
mov word [esp + 0xb0], dx
mov ax, word [esi + 0x46]
mov word [esp + 0xb2], ax
mov cl, byte [esi + 0x48]
add esi, 0x49
mov byte [esp + 0xb4], cl
mov dx, word [esi]
mov word [esp + 0xb5], dx
mov al, byte [esi + 2]
mov byte [esp + 0xb7], al
lea eax, [edi - 1]
cdq
idiv ebp
mov eax, dword [0x581d80]
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*2]
lea ecx, [esp + 0x20]
lea esi, [eax + edx*4]
push esi
call fcn.004149e0
lea ecx, [esi + 0xc]
push ecx
lea ecx, [esp + 0x30]
call fcn.004149e0
mov edx, dword [esi + 0x18]
lea ecx, [esi + 0x20]
mov dword [esp + 0x38], edx
mov eax, dword [esi + 0x1c]
push ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x40], eax
call fcn.004149e0
lea edx, [esi + 0x2c]
lea ecx, [esp + 0x4c]
push edx
call fcn.004149e0
mov eax, dword [esi + 0x38]
add esi, 0x49
mov dword [esp + 0x58], eax
mov ecx, dword [esi - 0xd]
mov dword [esp + 0x5c], ecx
mov edx, dword [esi - 9]
mov dword [esp + 0x60], edx
mov ax, word [esi - 5]
mov word [esp + 0x64], ax
mov cx, word [esi - 3]
mov word [esp + 0x66], cx
mov dl, byte [esi - 1]
mov byte [esp + 0x68], dl
mov ax, word [esi]
mov word [esp + 0x69], ax
lea edx, [esp + 0xd8]
mov cl, byte [esi + 2]
lea eax, [esp + 0x8c]
mov byte [esp + 0x6b], cl
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.00434ca0
fmul qword [0x554810]
fcomp qword [0x552510]
add esp, 0xc
fnstsw ax
and eax, 0x4100
jne 0x414817
fld qword [0x552510]
jmp 0x4148ae
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov esi, dword [0x581d84]
mov edi, dword [0x581d80]
mov eax, dword [edx + 0xc]
or ebx, 1
add ecx, eax
or ebx, 2
mov eax, ecx
or ebx, 4
cdq
idiv esi
lea eax, [edx + edx*8]
lea edx, [edx + eax*2]
lea eax, [ecx - 1]
lea ebp, [edi + edx*4]
cdq
idiv esi
lea eax, [edx + edx*8]
lea edx, [edx + eax*2]
lea eax, [edi + edx*4]
mov dword [esp + 0x18], eax
lea eax, [ecx + 1]
cdq
idiv esi
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*2]
lea ecx, [esp + 0x104]
lea eax, [edi + edx*4]
push eax
call fcn.00414a00
add eax, 0x20
lea ecx, [esp + 0x150]
push eax
push ebp
call fcn.00414a00
mov ecx, dword [esp + 0x1c]
add eax, 0x20
push eax
push ecx
lea ecx, [esp + 0x1a8]
call fcn.00414a00
add eax, 0x20
push eax
call fcn.00434ca0
fmul qword [0x554810]
add esp, 0xc
fstp dword [esp + 0x18]
test bl, 4
je 0x4148ba
and ebx, 0xfffffffb
test bl, 2
je 0x4148c2
and ebx, 0xfffffffd
test bl, 1
je 0x4148d6
lea ecx, [esp + 0x104]
and ebx, 0xfffffffe
call fcn.00403a30
lea ecx, [esp + 0x20]
call fcn.00403a30
lea ecx, [esp + 0x6c]
call fcn.00403a30
lea ecx, [esp + 0xb8]
call fcn.00403a30
fld dword [esp + 0x18]
fsubr qword [0x552510]
fmul qword [0x554808]
fadd qword [0x554800]
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x41491b
fstp dword [esp + 0x14]
jmp 0x41491d
fstp st(0)
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x19
mov dword [esp + 0x10], eax
jl 0x4145bf
fld dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1dc
ret 4