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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52d82b
mov eax, dword fs:[0]
push eax
sub esp, 0x78
push ebx
push esi
push edi
mov eax, dword [0x59c6b8]
xor eax, esp
push eax
lea eax, [esp + 0x88]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
sub ecx, eax
inc ecx
push ecx
add edx, eax
push 0
push edx
call fcn.00512510
mov ebx, dword [ebp + 0xc]
add esp, 0xc
cmp dword [esi + 0x18], ebx
je 0x49100d
mov edi, dword [esi + 0x10]
test edi, edi
je 0x490f5e
mov ecx, edi
call fcn.00473f80
push edi
call fcn.0051163f
add esp, 4
push 0x10
call fcn.00511699
add esp, 4
mov dword [esp + 0x78], eax
xor edi, edi
mov dword [esp + 0x90], edi
cmp eax, edi
je 0x490f82
mov ecx, eax
call fcn.004a31d0
jmp 0x490f84
xor eax, eax
mov dword [esi + 0x10], eax
mov eax, dword [esi]
mov dword [esi + 0x14], edi
mov dword [esp + 0x90], 0xffffffff
cmp dword [eax + 4], edi
jle 0x491000
fild dword [ebp + 0xc]
fst qword [esp + 0x7c]
mov eax, dword [esi + 0x14]
mov edx, dword [esi]
lea ecx, [eax + eax*8]
mov eax, dword [edx]
fcom qword [eax + ecx*8 + 8]
lea ecx, [eax + ecx*8]
fnstsw ax
test ah, 0x41
jnp 0x490ffe
fcom qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x490ff1
fld qword [ecx + 8]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x490fd9
fstp st(0)
fld qword [ecx]
jmp 0x490fe1
fsub qword [ecx + 8]
fmul qword [ecx + 0x20]
fadd qword [ecx]
fstp qword [ecx + 0x38]
push ecx
mov ecx, dword [esi + 0x10]
call fcn.004a3220
fld qword [esp + 0x7c]
inc dword [esi + 0x14]
mov ecx, dword [esi]
mov edx, dword [esi + 0x14]
cmp edx, dword [ecx + 4]
jl 0x490fa3
fstp st(0)
mov ecx, dword [esi + 0x10]
push 0x490600
call fcn.004a3200
mov eax, dword [esi + 0x10]
xor edi, edi
cmp dword [eax + 8], edi
jle 0x491045
fild dword [ebp + 0xc]
fstp qword [esp + 0x7c]
mov ecx, dword [esi + 0x10]
fld qword [esp + 0x7c]
mov edx, dword [ecx]
mov eax, dword [edx + edi*4]
fcomp qword [eax + 0x18]
fnstsw ax
test ah, 1
jne 0x49103c
push edi
call fcn.004a3340
jmp 0x49103d
inc edi
mov ecx, dword [esi + 0x10]
cmp edi, dword [ecx + 8]
jl 0x49101e
mov ecx, esi
call fcn.00490ba0
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 4]
jge 0x49109b
lea ecx, [ebx + 1]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
fstp qword [esp + 0x7c]
mov eax, dword [esi + 0x14]
fld qword [esp + 0x7c]
lea edx, [eax + eax*8]
mov eax, dword [esi]
mov ecx, dword [eax]
fcomp qword [ecx + edx*8 + 8]
lea ecx, [ecx + edx*8]
fnstsw ax
test ah, 0x41
jnp 0x49109b
fld qword [ecx]
push ecx
fstp qword [ecx + 0x38]
mov ecx, esi
call fcn.00490d50
inc dword [esi + 0x14]
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 4]
jl 0x491065
mov ecx, dword [esi + 0x10]
xor edx, edx
cmp dword [ecx + 8], edx
jle 0x4910dd
inc ebx
mov dword [esp + 0x70], ebx
fild dword [esp + 0x70]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov ecx, dword [ecx + edx*4]
fcom qword [ecx + 0x18]
fnstsw ax
test ah, 1
jne 0x4910c5
fld qword [ecx + 0x10]
jmp 0x4910cf
fld st(0)
fsub qword [ecx + 8]
fmul qword [ecx + 0x20]
fadd qword [ecx]
fstp qword [ecx + 0x40]
mov eax, dword [esi + 0x10]
inc edx
cmp edx, dword [eax + 8]
jl 0x4910ae
fstp st(0)
mov eax, dword [esi + 0x10]
xor edx, edx
xor ecx, ecx
cmp dword [esi + 4], edx
mov dword [esp + 0x6c], edx
setne cl
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x4c], edx
lea ecx, [ecx + ecx - 1]
mov dword [esp + 0x78], ecx
cmp dword [eax + 8], edx
jle 0x491335
fild dword [ebp + 0xc]
fstp qword [esp + 0x7c]
mov ecx, dword [esi + 0x10]
fld qword [esp + 0x7c]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x4c]
mov ecx, dword [eax + ecx*4]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 1
jne 0x49114e
fld qword [ecx + 0x18]
fcomp qword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x49114e
add edx, dword [ecx + 0x30]
mov eax, dword [esp + 0x78]
and eax, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x48], eax
cmp dword [esp + 0x70], 0
je 0x491209
fld qword [ecx + 0x38]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x14]
mov ax, word [esp + 0x14]
and ax, 0xf3ff
or ax, 0x800
mov word [esp + 0x10], ax
fldcw word [esp + 0x10]
fistp dword [esp + 0x50]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x50]
dec eax
cmp eax, edi
jle 0x491191
mov edi, eax
fld qword [ecx + 0x40]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x1c]
mov ax, word [esp + 0x1c]
and ax, 0xf3ff
or ax, 0x400
mov word [esp + 0x18], ax
fldcw word [esp + 0x18]
fistp dword [esp + 0x54]
fldcw word [esp + 0x1c]
mov eax, dword [esp + 0x54]
cmp eax, ebx
jge 0x4911c8
mov ebx, eax
fld qword [ecx + 0x40]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x24]
mov ax, word [esp + 0x24]
and ax, 0xf3ff
or ax, 0x800
mov word [esp + 0x20], ax
fldcw word [esp + 0x20]
fistp dword [esp + 0x58]
fldcw word [esp + 0x24]
mov eax, dword [esp + 0x58]
dec eax
cmp eax, edi
jle 0x4912dd
mov edi, eax
jmp 0x4912dd
fld qword [ecx + 0x40]
fcomp qword [ecx + 0x38]
fnstsw ax
test ah, 0x41
jne 0x49127a
fld qword [ecx + 0x38]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x2c]
mov ax, word [esp + 0x2c]
and ax, 0xf3ff
or ax, 0x400
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
fistp dword [esp + 0x5c]
fldcw word [esp + 0x2c]
fld qword [ecx + 0x40]
mov ebx, dword [esp + 0x5c]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x34]
mov ax, word [esp + 0x34]
and ax, 0xf3ff
or ax, 0x800
mov word [esp + 0x30], ax
fldcw word [esp + 0x30]
fistp dword [esp + 0x60]
fldcw word [esp + 0x34]
mov edi, dword [esp + 0x60]
jmp 0x4912dc
fld qword [ecx + 0x40]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x3c]
mov ax, word [esp + 0x3c]
and ax, 0xf3ff
or ax, 0x400
mov word [esp + 0x38], ax
fldcw word [esp + 0x38]
fistp dword [esp + 0x64]
fldcw word [esp + 0x3c]
fld qword [ecx + 0x38]
mov ebx, dword [esp + 0x64]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fnstcw word [esp + 0x44]
mov ax, word [esp + 0x44]
and ax, 0xf3ff
or ax, 0x800
mov word [esp + 0x40], ax
fldcw word [esp + 0x40]
fistp dword [esp + 0x68]
fldcw word [esp + 0x44]
mov edi, dword [esp + 0x68]
dec edi
cmp dword [esp + 0x48], 0
jne 0x491318
mov eax, dword [ebp + 0x10]
cmp ebx, eax
jge 0x4912ed
mov ebx, eax
mov eax, dword [ebp + 0x14]
cmp edi, eax
jle 0x4912f6
mov edi, eax
cmp ebx, edi
jg 0x491318
mov edx, dword [ebp + 8]
mov ecx, edi
sub ecx, ebx
inc ecx
push ecx
lea eax, [ebx + edx]
push 0xff
push eax
call fcn.00512510
mov edx, dword [esp + 0x78]
add esp, 0xc
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
cmp eax, dword [ecx + 8]
jl 0x491116
mov edx, dword [esi + 0x10]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x491376
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [edx + eax*4]
fld qword [ecx + 0x40]
inc eax
fstp qword [ecx + 0x38]
mov ecx, dword [esi + 0x10]
cmp eax, dword [ecx + 8]
jl 0x491340
mov edx, dword [ebp + 0xc]
inc edx
mov dword [esi + 0x18], edx
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0xc]
inc eax
mov dword [esi + 0x18], eax
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10