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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d2c8c
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x5920a4]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov eax, dword [0x5920a4]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esi, [eax + 0x38]
mov ebx, ecx
mov dword [esp + 0x24], eax
call fcn.00444140
lea edi, [eax + 0x18]
lea esi, [ebx + 0xc8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
add esi, 0x38
call fcn.00444140
push eax
mov ecx, esi
call fcn.00437b40
fld dword [ebx + 0x84]
mov edi, dword [esp + 0x24]
fsub dword [ebx + 0x7c]
mov eax, dword [edi]
push ecx
push ecx
fstp dword [esp + 4]
mov ecx, edi
fld dword [ebx + 0x80]
fsub dword [ebx + 0x78]
fstp dword [esp]
call dword [eax + 0x24]
push edi
call fcn.00435530
call fcn.00444140
fldz
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4f0eed
mov eax, dword [eax + 0x1c14]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fstp dword [esp + 0x30]
mov ecx, dword [ebx + 0xa8]
fstp dword [esp + 0x20]
test ecx, ecx
je 0x4f0ff8
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebx + 0xa8]
test al, al
mov eax, dword [ecx]
je 0x4f0f6f
call dword [eax + 4]
mov ecx, dword [ebx + 0xc0]
cmp eax, ecx
mov esi, eax
jl 0x45024a
mov esi, ecx
mov ecx, dword [ebx + 0xa8]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebx + 0xbc]
add ecx, esi
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x450269
mov dword [esp + 0x2c], ecx
cmp esi, dword [esp + 0x2c]
mov dword [esp + 0x18], esi
jge 0x4504ba
and dword [esp + 0x44], 0
jmp 0x450282
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
cmp eax, dword [ebx + 0xc4]
je 0x4504e0
mov eax, dword [edi + 0x44]
mov esi, dword [edi + 0x48]
add edi, 0x38
add esi, eax
cmp eax, esi
ja 0x4f0ef6
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
dec esi
add ecx, eax
cmp esi, ecx
ja 0x4f0f00
cmp esi, eax
jb 0x4f0f00
and dword [esp + 0x38], 0
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], esi
call fcn.00443be0
lea esi, [ebx + 0xd8]
lea edi, [eax + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
add esi, 0x38
add edi, eax
cmp eax, edi
ja 0x4f0f0a
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
dec edi
add ecx, eax
cmp edi, ecx
ja 0x4f0f14
cmp edi, eax
jb 0x4f0f14
lea eax, [esp + 0x44]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
call fcn.00443be0
mov ecx, dword [0x5a6370]
mov edx, dword [0x5a6360]
and dword [esp + 0x1c], 0
push 2
pop edi
shl edi, cl
mov ecx, edx
not ecx
and ecx, dword [eax + 0x34]
and edx, edi
or ecx, edx
and dword [esp + 0x34], 0
mov dword [eax + 0x34], ecx
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
je 0x4f0f1e
mov eax, dword [ebx + 0xb4]
sub eax, ecx
push 0x28
cdq
pop ecx
idiv ecx
cmp dword [esp + 0x1c], eax
jge 0x45049c
mov ecx, dword [ebx + 0xb0]
test ecx, ecx
je 0x4f0f25
mov eax, dword [ebx + 0xb4]
sub eax, ecx
push 0x28
cdq
pop ecx
idiv ecx
cmp dword [esp + 0x1c], eax
jae 0x4f0f25
mov edi, dword [ebx + 0xb0]
add edi, dword [esp + 0x34]
mov ecx, dword [ebx + 0xa8]
mov eax, dword [ecx]
push edi
push dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
call dword [eax + 8]
and dword [esp + 0xa8], 0
mov eax, dword [edi + 0x20]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
add eax, ecx
cmp ecx, eax
mov dword [esp + 0x14], eax
ja 0x4f0f2f
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
dec eax
add edx, ecx
cmp eax, edx
mov dword [esp + 0x14], eax
ja 0x4f0f3d
cmp eax, ecx
jb 0x4f0f3d
mov ecx, dword [esi + 0xc]
mov eax, dword [esp + 0x14]
add ecx, dword [esi + 0x10]
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x4f0f47
mov eax, dword [esi + 8]
cmp eax, dword [esp + 0x14]
jbe 0x4f0f51
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [0x5a6368]
mov edx, dword [esp + 0x28]
shl edx, cl
mov dword [esp + 0x14], eax
mov eax, dword [0x5a6358]
mov ecx, eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
and eax, dword [esp + 0x28]
not ecx
and ecx, dword [edx + 0x34]
or ecx, eax
mov eax, edx
mov dword [eax + 0x34], ecx
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x450461
lea eax, [esp + 0x64]
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x20]
mov edx, dword [ecx]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [edi + 0x24]
fstp dword [esp]
push eax
call dword [edx + 0xc]
or dword [esp + 0xa8], 0xffffffff
cmp dword [esp + 0x78], 0x10
jae 0x4f0f60
inc dword [esp + 0x1c]
add dword [esp + 0x34], 0x28
jmp 0x45034b
fld dword [esp + 0x20]
inc dword [esp + 0x18]
fadd dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x2c]
fstp dword [esp + 0x20]
jl 0x45027e
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.004a9c82
mov esp, ebp
pop ebp
ret 4
fld dword [ebx + 0x80]
and dword [esp + 0x50], 0
fsub dword [ebx + 0x78]
call fcn.004c3ae0
fld dword [esp + 0x20]
mov dword [esp + 0x58], eax
call fcn.004c3ae0
fld dword [esp + 0x20]
fadd dword [esp + 0x30]
mov dword [esp + 0x54], eax
call fcn.004c3ae0
add edi, 0x38
mov esi, edi
mov dword [esp + 0x5c], eax
call fcn.00444140
lea edi, [eax + 0x18]
lea esi, [ebx + 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
add esi, 0x38
call fcn.00444140
mov ecx, dword [0x5a6370]
mov edx, dword [0x5a6360]
xor edi, edi
shl edi, cl
mov ecx, edx
not ecx
and ecx, dword [eax + 0x34]
and edx, edi
or ecx, edx
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
lea edx, [esp + 0x50]
push edx
call dword [eax + 0x20]
call fcn.00444140
lea esi, [ebx + 0xf8]
jmp 0x4502da
fst dword [esp + 0x30]
jmp 0x450212
call fcn.004a9ee6
jmp 0x4502a5
call fcn.004a9ee6
jmp 0x4502be
call fcn.004a9ee6
jmp 0x4502f8
call fcn.004a9ee6
jmp 0x450311
xor eax, eax
jmp 0x450367
call fcn.004a9ee6
jmp 0x450397
call fcn.004a9ee6
mov eax, dword [esp + 0x14]
jmp 0x4503d9
call fcn.004a9ee6
jmp 0x4503f6
call fcn.004a9ee6
jmp 0x45040c
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x450419
push dword [esp + 0x64]
call fcn.004a9db7
pop ecx
jmp 0x45048e
lea edx, [esp + 0x60]
push edx
call dword [eax + 0x10]
mov dword [esp + 0xa8], 1
call fcn.00444140
lea edi, [eax + 0x18]
lea esi, [ebx + 0xd8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
push 2
pop eax
mov ecx, esi
call fcn.0040ae20
push 1
push esi
call fcn.00508498
push 1
push esi
call fcn.00508467
fld dword [ebx + 0x84]
fsub dword [ebx + 0x7c]
mov edi, dword [esi]
fld dword [0x54ddb0]
push ecx
push ecx
fmul st(1), st(0)
lea ecx, [esp + 0x68]
fxch st(1)
fstp dword [esp + 4]
fld dword [ebx + 0x80]
fsub dword [ebx + 0x78]
fmulp st(1)
fstp dword [esp]
call fcn.00403410
push eax
mov ecx, esi
call dword [edi + 0xc]
lea ecx, [esp + 0x60]
call fcn.00416880
jmp 0x4504ba
and dword [esp + 0x1c], 0
cmp dword [ebx + 0xbc], 0
jle 0x4504ba
and dword [esp + 0x18], 0
lea esi, [ebx + 0xac]
mov eax, esi
call fcn.0046f960
cmp dword [esp + 0x18], eax
jge 0x4f10a7
lea eax, [esp + 0x7c]
call fcn.00461fc0
push dword [esp + 0x18]
mov dword [esp + 0xac], 2
call fcn.00491330
push dword [eax + 0x20]
mov dword [esp + 0x2c], eax
push edi
call fcn.00508498
push dword [esp + 0x18]
lea esi, [esp + 0x80]
push dword [esp + 0x20]
push str.Data__d__d_
call fcn.0044bd80
add esp, 0xc
mov ecx, esi
call fcn.00403410
fld dword [esp + 0x20]
mov edx, dword [edi]
push ecx
push ecx
mov ecx, dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [ecx + 0x24]
mov ecx, edi
fstp dword [esp]
push eax
call dword [edx + 0xc]
or dword [esp + 0xa8], 0xffffffff
mov ecx, esi
call fcn.00416880
inc dword [esp + 0x18]
jmp 0x4f100f
fld dword [esp + 0x20]
inc dword [esp + 0x1c]
fadd dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebx + 0xbc]
fstp dword [esp + 0x20]
jl 0x4f100a
jmp 0x4504ba