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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f8
mov eax, dword [0x490540]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x491b20]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2d8], esi
mov dword [ebp - 0x2d0], eax
cmp dword [esi + 0x74], 0
je 0x441fae
push edi
mov edi, dword [esi + 0x220]
xor edx, edx
test edi, 0x10000
je 0x441390
lea edx, [esi + 0x234]
mov edi, 0xc
lea ecx, [esi + 0x64]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4410ea
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4410d5
xor edx, edx
jmp 0x4410ef
mov edx, 1
movdqu xmm0, xmmword [esi + 0x234]
movdqu xmmword [esi + 0x64], xmm0
mov edi, dword [ebp - 0x2c4]
mov eax, dword [esi + 0x220]
test al, 2
jne 0x441fad
test eax, 0x2000
je 0x4415f7
mov eax, dword [esi + 0x1d8]
cmp eax, dword [esi + 0x1fc]
jne 0x441145
mov eax, dword [esi + 0x1dc]
cmp eax, dword [esi + 0x200]
jne 0x441145
mov eax, dword [esi + 0x1e0]
cmp eax, dword [esi + 0x204]
je 0x44114a
mov edx, 1
mov eax, dword [esi + 0x1f0]
cmp eax, dword [esi + 0x214]
jne 0x44117c
mov eax, dword [esi + 0x1f4]
cmp eax, dword [esi + 0x218]
jne 0x44117c
mov eax, dword [esi + 0x1f8]
cmp eax, dword [esi + 0x21c]
jne 0x44117c
test edx, edx
je 0x441aaa
movq xmm0, qword [esi + 0x1d8]
lea edx, [ebp - 0x2c8]
mov eax, dword [esi + 0x1e0]
movq qword [esi + 0x1fc], xmm0
movq xmm0, qword [esi + 0x1f0]
mov dword [esi + 0x204], eax
mov eax, dword [esi + 0x1f8]
movq qword [esi + 0x214], xmm0
push 0
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x10]
push edx
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov edi, dword [esi + 0x1a0]
test edi, edi
jne 0x4411da
lea edi, [esi + 0x130]
lea edx, [esi + 0x64]
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], edx
lea ecx, [ecx]
mov eax, dword [edx]
cmp eax, 0xffffffff
je 0x4415e3
movss xmm0, dword [esi + 0x1f0]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 0x2c8]
mulss xmm0, dword [edi + edx*4]
addss xmm0, dword [esi + 0x1d8]
movss dword [eax + edx*4], xmm0
movss xmm0, dword [edi + edx*4 + 4]
mulss xmm0, dword [esi + 0x1f4]
addss xmm0, dword [esi + 0x1dc]
movss dword [eax + edx*4 + 4], xmm0
movss xmm0, dword [edi + edx*4 + 8]
addss xmm0, dword [esi + 0x1e0]
movss dword [eax + edx*4 + 8], xmm0
movss xmm0, dword [edi + edx*4 + 0x1c]
mulss xmm0, dword [esi + 0x1f0]
addss xmm0, dword [esi + 0x1d8]
movss dword [eax + edx*4 + 0x1c], xmm0
movss xmm0, dword [edi + edx*4 + 0x20]
mulss xmm0, dword [esi + 0x1f4]
addss xmm0, dword [esi + 0x1dc]
movss dword [eax + edx*4 + 0x20], xmm0
movss xmm0, dword [edi + edx*4 + 0x24]
addss xmm0, dword [esi + 0x1e0]
movss dword [eax + edx*4 + 0x24], xmm0
movss xmm0, dword [edi + edx*4 + 0x38]
mulss xmm0, dword [esi + 0x1f0]
addss xmm0, dword [esi + 0x1d8]
movss dword [eax + edx*4 + 0x38], xmm0
movss xmm0, dword [edi + edx*4 + 0x3c]
mulss xmm0, dword [esi + 0x1f4]
addss xmm0, dword [esi + 0x1dc]
movss dword [eax + edx*4 + 0x3c], xmm0
movss xmm0, dword [edi + edx*4 + 0x40]
addss xmm0, dword [esi + 0x1e0]
movss dword [eax + edx*4 + 0x40], xmm0
movss xmm0, dword [edi + edx*4 + 0x54]
mulss xmm0, dword [esi + 0x1f0]
addss xmm0, dword [esi + 0x1d8]
movss dword [eax + edx*4 + 0x54], xmm0
movss xmm0, dword [edi + edx*4 + 0x58]
mulss xmm0, dword [esi + 0x1f4]
addss xmm0, dword [esi + 0x1dc]
movss dword [eax + edx*4 + 0x58], xmm0
movss xmm0, dword [edi + edx*4 + 0x5c]
addss xmm0, dword [esi + 0x1e0]
movss dword [eax + edx*4 + 0x5c], xmm0
mov eax, dword [esi + 0x220]
mov ecx, eax
and ecx, 0x18
jne 0x4414dc
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [edi + edx*4 + 0x14]
mov dword [ecx + edx*4 + 0x14], eax
mov eax, dword [edi + edx*4 + 0x18]
mov dword [ecx + edx*4 + 0x18], eax
mov eax, dword [edi + edx*4 + 0x30]
mov dword [ecx + edx*4 + 0x30], eax
mov eax, dword [edi + edx*4 + 0x34]
mov dword [ecx + edx*4 + 0x34], eax
mov eax, dword [edi + edx*4 + 0x4c]
mov dword [ecx + edx*4 + 0x4c], eax
mov eax, dword [edi + edx*4 + 0x50]
mov dword [ecx + edx*4 + 0x50], eax
mov eax, dword [edi + edx*4 + 0x68]
mov dword [ecx + edx*4 + 0x68], eax
mov eax, dword [edi + edx*4 + 0x6c]
jmp 0x4415ba
dec dword [esi + 0x258]
cmp dword [esi + 0x258], edx
jg case.default.0x4413cc
mov dword [esi + 0x258], edx
cmp edx, edx
jne case.default.0x4413cc
mov ecx, dword [esi + 0x248]
mov eax, dword [ecx]
test eax, eax
jns 0x44147b
add eax, 4
cmp eax, 3
ja case.default.0x4413cc
jmp dword [eax*4 + 0x441fc0]
mov eax, dword [ecx + 4]
mov dword [esi + 0x230], eax
lea eax, [ecx + 8]
jmp 0x441406
mov eax, dword [esi + 0x254]
cmp eax, 0xffffffa8
je 0x441424
dec eax
mov dword [esi + 0x254], eax
test eax, eax
jg 0x441416
mov eax, dword [esi + 0x260]
mov dword [esi + 0x25c], eax
lea eax, [ecx + 4]
mov ecx, eax
mov dword [esi + 0x248], eax
mov eax, dword [ecx]
test eax, eax
js 0x4413c0
jmp 0x44147b
mov eax, dword [esi + 0x250]
mov dword [esi + 0x248], eax
jmp 0x44147b
mov eax, dword [esi + 0x250]
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x260]
dec eax
mov dword [esi + 0x25c], eax
jmp 0x44147b
or edi, 0x800
mov dword [esi + 0x220], edi
jmp case.default.0x4413cc
mov ecx, dword [esi + 0x248]
mov eax, dword [ecx + 4]
mov dword [esi + 0x254], eax
lea eax, [ecx + 8]
mov dword [esi + 0x250], eax
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x25c]
inc eax
mov dword [esi + 0x260], eax
mov ecx, dword [esi + 0x248]
mov dword [esi + 0x24c], ecx
mov eax, dword [ecx]
inc dword [esi + 0x25c]
xor edi, edi
mov dword [esi + 0x258], eax
lea eax, [ecx + 4]
mov dword [esi + 0x248], eax
lea ecx, [esi + 0x64]
mov eax, dword [esi + 0x248]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esi + 0x248], 4
cmp dword [ecx], 0xffffffff
je 0x4414c2
inc edi
add ecx, 4
cmp edi, 4
jl 0x4414a3
test byte [esi + 0x220], 2
mov ecx, 1
mov dword [ebp - 0x2c0], edi
cmove edx, ecx
jmp 0x441102
cmp ecx, 0x18
jne 0x44152c
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [edi + edx*4 + 0x14]
mov dword [ecx + edx*4 + 0x4c], eax
mov eax, dword [edi + edx*4 + 0x18]
mov dword [ecx + edx*4 + 0x50], eax
mov eax, dword [edi + edx*4 + 0x30]
mov dword [ecx + edx*4 + 0x68], eax
mov eax, dword [edi + edx*4 + 0x34]
mov dword [ecx + edx*4 + 0x6c], eax
mov eax, dword [edi + edx*4 + 0x4c]
mov dword [ecx + edx*4 + 0x14], eax
mov eax, dword [edi + edx*4 + 0x50]
mov dword [ecx + edx*4 + 0x18], eax
mov eax, dword [edi + edx*4 + 0x68]
mov dword [ecx + edx*4 + 0x30], eax
mov eax, dword [edi + edx*4 + 0x6c]
mov dword [ecx + edx*4 + 0x34], eax
jmp 0x4415be
test al, 8
je 0x441574
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [edi + edx*4 + 0x68]
mov dword [ecx + edx*4 + 0x14], eax
mov eax, dword [edi + edx*4 + 0x6c]
mov dword [ecx + edx*4 + 0x18], eax
mov eax, dword [edi + edx*4 + 0x4c]
mov dword [ecx + edx*4 + 0x30], eax
mov eax, dword [edi + edx*4 + 0x50]
mov dword [ecx + edx*4 + 0x34], eax
mov eax, dword [edi + edx*4 + 0x30]
mov dword [ecx + edx*4 + 0x4c], eax
mov eax, dword [edi + edx*4 + 0x34]
mov dword [ecx + edx*4 + 0x50], eax
mov eax, dword [edi + edx*4 + 0x14]
mov dword [ecx + edx*4 + 0x68], eax
mov eax, dword [edi + edx*4 + 0x18]
jmp 0x4415ba
test al, 0x10
je 0x4415be
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [edi + edx*4 + 0x30]
mov dword [ecx + edx*4 + 0x14], eax
mov eax, dword [edi + edx*4 + 0x34]
mov dword [ecx + edx*4 + 0x18], eax
mov eax, dword [edi + edx*4 + 0x14]
mov dword [ecx + edx*4 + 0x30], eax
mov eax, dword [edi + edx*4 + 0x18]
mov dword [ecx + edx*4 + 0x34], eax
mov eax, dword [edi + edx*4 + 0x68]
mov dword [ecx + edx*4 + 0x4c], eax
mov eax, dword [edi + edx*4 + 0x6c]
mov dword [ecx + edx*4 + 0x50], eax
mov eax, dword [edi + edx*4 + 0x4c]
mov dword [ecx + edx*4 + 0x68], eax
mov eax, dword [edi + edx*4 + 0x50]
mov dword [ecx + edx*4 + 0x6c], eax
mov eax, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
inc eax
add edx, 4
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edx
cmp eax, 4
jl 0x4411f0
mov eax, dword [esi + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edi, dword [ebp - 0x2c0]
jmp 0x441aaa
mov eax, dword [esi + 0x1d8]
lea ecx, [esi + 0x1d8]
cmp eax, dword [esi + 0x1fc]
jne 0x441679
mov eax, dword [ecx + 4]
cmp eax, dword [esi + 0x200]
jne 0x441679
mov eax, dword [ecx + 8]
cmp eax, dword [esi + 0x204]
jne 0x441679
mov eax, dword [esi + 0x1e4]
lea edx, [esi + 0x1e4]
cmp eax, dword [esi + 0x208]
jne 0x441679
mov eax, dword [edx + 4]
cmp eax, dword [esi + 0x20c]
jne 0x441679
mov eax, dword [edx + 8]
cmp eax, dword [esi + 0x210]
jne 0x441679
mov eax, dword [esi + 0x1f0]
cmp eax, dword [esi + 0x214]
jne 0x441679
mov eax, dword [esi + 0x1f4]
cmp eax, dword [esi + 0x218]
jne 0x441679
mov eax, dword [esi + 0x1f8]
cmp eax, dword [esi + 0x21c]
je 0x441880
movq xmm0, qword [ecx]
lea edx, [ebp - 0x2c4]
mov eax, dword [ecx + 8]
movq qword [esi + 0x1fc], xmm0
movq xmm0, qword [esi + 0x1e4]
mov dword [esi + 0x204], eax
mov eax, dword [esi + 0x1ec]
movq qword [esi + 0x208], xmm0
movq xmm0, qword [esi + 0x1f0]
mov dword [esi + 0x210], eax
mov eax, dword [esi + 0x1f8]
movq qword [esi + 0x214], xmm0
push 0
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x10]
push edx
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
mov edx, dword [esi + 0x1a0]
lea eax, [esi + 0x64]
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2cc], eax
jmp 0x441700
mov eax, dword [eax]
mov dword [ebp - 0x2d4], eax
cmp eax, 0xffffffff
je 0x441865
mov ecx, dword [ebp - 0x2c4]
mov edi, eax
shl edi, 5
mov eax, dword [edi + edx + 0x18]
mov dword [edi + ecx + 0x18], eax
mov eax, dword [edi + edx + 0x1c]
mov dword [edi + ecx + 0x1c], eax
mov eax, dword [edi + edx + 0x38]
mov dword [edi + ecx + 0x38], eax
mov eax, dword [edi + edx + 0x3c]
mov dword [edi + ecx + 0x3c], eax
mov eax, dword [edi + edx + 0x58]
mov dword [edi + ecx + 0x58], eax
mov eax, dword [edi + edx + 0x5c]
mov dword [edi + ecx + 0x5c], eax
mov eax, dword [edi + edx + 0x78]
mov dword [edi + ecx + 0x78], eax
mov eax, dword [edi + edx + 0x7c]
mov dword [edi + ecx + 0x7c], eax
test byte [esi + 0x220], 8
je 0x4417f1
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2bc]
add edx, 3
shl edx, 5
mov eax, dword [edx + eax + 0x78]
mov dword [edx + ecx + 0x18], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x7c]
mov dword [edx + ecx + 0x1c], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x58]
mov dword [edx + ecx + 0x38], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x5c]
mov dword [edx + ecx + 0x3c], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x38]
mov dword [edx + ecx + 0x58], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x3c]
mov dword [edx + ecx + 0x5c], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x18]
mov dword [edx + ecx + 0x78], eax
mov eax, dword [ebp - 0x2bc]
mov eax, dword [edx + eax + 0x1c]
mov dword [edx + ecx + 0x7c], eax
mov edx, dword [ebp - 0x2bc]
test byte [esi + 0x220], 0x10
je 0x441840
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [edi + edx + 0x38]
mov dword [edi + ecx + 0x18], eax
mov eax, dword [edi + edx + 0x3c]
mov dword [edi + ecx + 0x1c], eax
mov eax, dword [edi + edx + 0x18]
mov dword [edi + ecx + 0x38], eax
mov eax, dword [edi + edx + 0x1c]
mov dword [edi + ecx + 0x3c], eax
mov eax, dword [edi + edx + 0x78]
mov dword [edi + ecx + 0x58], eax
mov eax, dword [edi + edx + 0x7c]
mov dword [edi + ecx + 0x5c], eax
mov eax, dword [edi + edx + 0x58]
mov dword [edi + ecx + 0x78], eax
mov eax, dword [edi + edx + 0x5c]
mov dword [edi + ecx + 0x7c], eax
mov edi, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2cc]
inc edi
add eax, 4
mov dword [ebp - 0x2c0], edi
mov dword [ebp - 0x2cc], eax
cmp edi, 4
jl 0x441700
mov eax, dword [esi + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edi, dword [ebp - 0x2c0]
lea ecx, [esi + 0x1d8]
lea edx, [esi + 0x1e4]
mov eax, dword [esi + 0x220]
test eax, 0x100
jne 0x441aaa
test eax, 0x200
je 0x4418ce
mov eax, dword [ebp - 0x2d0]
push 2
add eax, 0xd8df3c
push eax
push ecx
push edx
call fcn.00439210
movss xmm0, dword [esi + 0x1e8]
lea eax, [ebp - 0xb8]
add esp, 0xc
movss dword [esp], xmm0
push eax
call fcn.004025e5
jmp 0x4419e1
test eax, 0x400
je 0x441932
mov eax, dword [ebp - 0x2d0]
push 0
add eax, 0xd8df3c
push eax
push ecx
push edx
call fcn.00439210
movss xmm0, dword [esi + 0x1e4]
lea eax, [ebp - 0x1f8]
add esp, 0xc
movss dword [esp], xmm0
push eax
call fcn.00402549
movss xmm0, dword [esi + 0x1e8]
lea eax, [ebp - 0x238]
push ecx
movss dword [esp], xmm0
push eax
call fcn.004025e5
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x1f8]
jmp 0x4419a3
movss xmm0, dword [edx]
lea eax, [ebp - 0x1f8]
push ecx
movss dword [esp], xmm0
push eax
call fcn.00402549
movss xmm0, dword [esi + 0x1e8]
lea eax, [ebp - 0x238]
push ecx
movss dword [esp], xmm0
push eax
call fcn.004025e5
movss xmm0, dword [esi + 0x1ec]
lea eax, [ebp - 0x2b8]
push ecx
movss dword [esp], xmm0
push eax
call fcn.00402682
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.00401b6e
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00401b6e
movdqu xmm0, xmmword [ebp - 0x78]
movdqu xmmword [ebp - 0xb8], xmm0
movdqu xmm0, xmmword [ebp - 0x68]
movdqu xmmword [ebp - 0xa8], xmm0
movdqu xmm0, xmmword [ebp - 0x58]
movdqu xmmword [ebp - 0x98], xmm0
movdqu xmm0, xmmword [ebp - 0x48]
movdqu xmmword [ebp - 0x88], xmm0
movss xmm0, dword [esi + 0x1e0]
lea eax, [ebp - 0x138]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x1dc]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x1d8]
movss dword [esp], xmm0
push eax
call fcn.004024cb
movss xmm0, dword [esi + 0x1f8]
lea eax, [ebp - 0x1b8]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x1f4]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 0x1f0]
movss dword [esp], xmm0
push eax
call fcn.0040243b
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.00401b6e
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00401b6e
movdqu xmm0, xmmword [ebp - 0x78]
movdqu xmmword [esi + 0x18], xmm0
movdqu xmm0, xmmword [ebp - 0x68]
movdqu xmmword [esi + 0x28], xmm0
movdqu xmm0, xmmword [ebp - 0x58]
movdqu xmmword [esi + 0x38], xmm0
movdqu xmm0, xmmword [ebp - 0x48]
movdqu xmmword [esi + 0x48], xmm0
mov eax, dword [esi + 0x220]
and eax, 0x2040
neg eax
sbb eax, eax
add eax, 2
mov dword [esi + 0x7c], eax
mov eax, 0
test byte [esi + 0x220], 0x80
setne al
inc eax
mov dword [esi + 0x80], eax
test byte [esi + 0x220], 4
je 0x441aea
mov dword [esi + 0x84], 0
jmp 0x441b0c
mov dword [esi + 0x84], 1
mov eax, dword [esi + 0x224]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x228]
mov dword [esi + 0x8c], eax
mov ecx, dword [esi + 0x220]
test ecx, 0x200000
je 0x441b89
dec dword [esi + 0x26c]
cmp dword [esi + 0x26c], 0
jg 0x441c7b
mov edx, dword [esi + 0x274]
mov eax, dword [esi + 0x264]
mov dword [esi + 0x26c], eax
cmp dword [esi + 0x270], edx
jl 0x441b58
and ecx, 0xffdfffff
mov dword [esi + 0x220], ecx
jmp 0x441c7b
mov eax, dword [esi + 0x268]
add eax, dword [esi + 0x270]
mov dword [esi + 0x270], eax
cmp eax, edx
jl 0x441b7e
mov dword [esi + 0x270], edx
mov dword [esi + 0x26c], 0
push dword [esi + 0x270]
jmp 0x441c72
test ecx, 0x400000
je 0x441be3
dec dword [esi + 0x26c]
cmp dword [esi + 0x26c], 0
jg 0x441c7b
mov eax, dword [esi + 0x264]
mov edx, dword [esi + 0x274]
mov dword [esi + 0x26c], eax
mov eax, dword [esi + 0x270]
cmp eax, edx
jg 0x441bd1
and ecx, 0xffbfffff
mov dword [esi + 0x220], ecx
jmp 0x441c7b
sub eax, dword [esi + 0x268]
mov dword [esi + 0x270], eax
cmp eax, edx
jg 0x441b7e
jmp 0x441b6e
test ecx, 0x100000
je 0x441c7b
mov ecx, dword [esi + 0x264]
mov edx, dword [esi + 0x270]
test ecx, ecx
jle 0x441c35
lea eax, [ecx + 1]
or ecx, 0xffffffff
cmp eax, dword [esi + 0x26c]
cmovg eax, ecx
mov dword [esi + 0x264], eax
mov eax, dword [esi + 0x268]
add eax, edx
mov dword [esi + 0x270], eax
cmp eax, 0xff
jle 0x441c67
mov dword [esi + 0x270], 0xff
jmp 0x441c67
mov eax, dword [esi + 0x26c]
dec ecx
neg eax
cmp ecx, eax
mov eax, 1
cmovl ecx, eax
mov eax, edx
sub eax, dword [esi + 0x268]
mov dword [esi + 0x264], ecx
cmp eax, 1
mov ecx, 1
cmovl eax, ecx
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x270]
cmp edx, eax
je 0x441c7b
push eax
push esi
call fcn.00440650
add esp, 8
cmp dword [esi + 0x22c], 1
jb 0x441caa
cmp edi, 2
jg 0x441caa
mov eax, dword [ebp - 0x2d0]
add eax, 0xd8df3c
push eax
lea eax, [esi + 0x1d8]
push eax
call fcn.00439780
fstp dword [esi + 0x90]
add esp, 8
mov eax, dword [esi + 0x230]
mov dword [esi + 0x60], eax
push dword [esi + 0x22c]
push esi
call fcn.0043d3a0
add esp, 8
test dword [esi + 0x220], 0x1000
je 0x441fad
lea edi, [esi + 0x98]
xor ecx, ecx
mov esi, edi
mov dword [ebp - 0x2cc], edi
lea eax, [ebp - 0x14]
sub esi, eax
mov dword [ebp - 0x2d4], esi
lea ecx, [ecx]
lea eax, [esi + ecx*4]
mov eax, dword [ebp + eax - 0x14]
mov dword [ebp + ecx*4 - 0x14], eax
test eax, eax
je 0x441d05
inc ecx
cmp ecx, 4
jl 0x441cf0
mov esi, dword [ebp - 0x2d8]
mov ecx, 0x26
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2d4]
xor edx, edx
lea ebx, [ebx]
mov ecx, dword [ebp + edx*4 - 0x14]
lea eax, [esi + edx*4]
mov dword [ebp + eax - 0x14], ecx
test ecx, ecx
je 0x441d35
inc edx
cmp edx, 4
jl 0x441d20
mov edi, dword [ebp - 0x2cc]
mov dword [edi + 0x84], 1
mov dword [edi + 0x88], 5
mov dword [edi + 0x8c], 6
mov dword [edi + 0x80], 2
mov dword [edi + 0x7c], 1
mov eax, dword [0x491b20]
cmp dword [eax + 0xd8d2fc], 3
jne 0x441d92
movss xmm0, dword [eax + 0xd8d330]
movss xmm1, dword [eax + 0xd8d334]
movss xmm2, dword [eax + 0xd8d338]
jmp 0x441daa
movss xmm0, dword [eax + 0xd8d33c]
movss xmm1, dword [eax + 0xd8d340]
movss xmm2, dword [eax + 0xd8d344]
movss xmm7, dword [0x46fb20]
xorps xmm6, xmm6
comiss xmm6, xmm0
movaps xmm5, xmm2
movaps xmm4, xmm1
movaps xmm3, xmm0
jbe 0x441dc6
xorps xmm3, xmm7
comiss xmm6, xmm1
jbe 0x441dd1
movaps xmm4, xmm1
xorps xmm4, xmm7
comiss xmm6, xmm2
jbe 0x441ddc
movaps xmm5, xmm2
xorps xmm5, xmm7
comiss xmm3, xmm4
jbe 0x441deb
comiss xmm3, xmm5
jbe 0x441deb
movaps xmm3, xmm0
jmp 0x441dfd
comiss xmm4, xmm3
jbe 0x441dfa
comiss xmm4, xmm5
jbe 0x441dfa
movaps xmm3, xmm1
jmp 0x441dfd
movaps xmm3, xmm2
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x441e12
divss xmm0, xmm3
divss xmm1, xmm3
divss xmm2, xmm3
mov esi, dword [ebp - 0x2d8]
lea eax, [ebp - 0x138]
sub esp, 0xc
movss dword [ebp - 0x2e8], xmm0
movss dword [ebp - 0x2e4], xmm1
movss dword [ebp - 0x2e0], xmm2
movss xmm0, dword [esi + 0x1e0]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x1d8]
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
push eax
mov dword [ebp - 0x2dc], 0
call fcn.004024cb
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x28], 0x3f800000
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x2f8]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.0040364b
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00402c56
test dword [esi + 0x220], 0x600
je 0x441f3d
mov eax, dword [ebp - 0x2d0]
movss xmm0, dword [esi + 0x1d8]
add eax, 0xd8df3c
push 2
push eax
lea eax, [ebp - 0x20]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [esi + 0x1e0]
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x1c], 0x3f800000
push eax
movss dword [ebp - 0x18], xmm0
call fcn.00439210
movss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 0xb8]
add esp, 0xc
movss dword [esp], xmm0
push eax
call fcn.004025e5
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.00401b6e
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0xf8]
jmp 0x441f4a
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.00401b6e
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00401b6e
movdqu xmm0, xmmword [ebp - 0x78]
push 1
push edi
movdqu xmmword [edi + 0x18], xmm0
movdqu xmm0, xmmword [ebp - 0x68]
movdqu xmmword [edi + 0x28], xmm0
movdqu xmm0, xmmword [ebp - 0x58]
movdqu xmmword [edi + 0x38], xmm0
movdqu xmm0, xmmword [ebp - 0x48]
movdqu xmmword [edi + 0x48], xmm0
mov eax, dword [esi + 0x90]
mov dword [edi + 0x90], eax
call fcn.0043d3a0
add esp, 8
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00456922
mov esp, ebp
pop ebp
ret