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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x178
mov edx, dword [0x10087770]
push esi
push edi
mov dword [esp + 0x100], ecx
mov eax, dword [edx + 0x19ac]
mov byte [eax + 0x7c], 1
mov edi, dword [edx + 0x19ac]
mov dword [esp + 0x8c], edi
cmp byte [edi + 0x7f], 0
jne 0x43fe73
mov ecx, dword [ebp + 0x14]
mov eax, ecx
mov esi, dword [0x10054230]
and eax, 0x100080
cmp eax, 0x100080
jne 0x43faa1
push 0xe28
push 0x1007fe10
push 0x10080690
call esi
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov eax, ecx
and eax, 0x440
mov dword [esp + 0x64], eax
cmp eax, 0x440
jne 0x43faca
push 0xe29
push 0x1007fe10
push 0x10080748
call esi
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov eax, dword [0x10087770]
mov dword [esp + 0x18], eax
mov eax, ecx
shr eax, 0x14
and eax, 0xffffff01
mov dword [esp + 0x38], eax
mov eax, ecx
shr eax, 0xe
and eax, 0xffffff01
mov dword [esp + 0x4c], eax
mov eax, ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0xbc], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x6c], eax
mov eax, ecx
shr eax, 0x12
and al, 1
mov dword [esp + 0x5c], eax
je 0x43fb31
push 0xe36
push 0x1007fe10
push 0x10080810
call esi
add esp, 0xc
cmp byte [esp + 0x38], 0
je 0x43fb3d
call fcn.00418af7
push ecx
push dword [esp + 0x104]
mov ecx, edi
call fcn.0040eac7
mov esi, dword [0x10087770]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x100]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x43fb7d
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x43fb7d
cmp dl, 0x23
jne 0x43fb77
cmp byte [ecx + 1], dl
je 0x43fb7d
inc ecx
cmp ecx, 0xffffffff
jb 0x43fb67
movss xmm0, dword [0x10081e3c]
movss xmm2, dword [esi + 0x18c8]
movss dword [esp + 0x104], xmm0
cmp eax, ecx
jne 0x43fba8
xorps xmm6, xmm6
movss dword [esp + 0x108], xmm6
jmp 0x43fc00
movss xmm3, dword [0x10081e18]
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c4]
lea eax, [esp + 0x90]
mov dword [esp], 0xbf800000
push eax
call fcn.004343f7
movss xmm0, dword [esp + 0x80]
xorps xmm6, xmm6
addss xmm0, dword [0x10081d08]
movss xmm2, dword [esp + 0x84]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x108], xmm0
mov edx, dword [esp + 0x38]
test dl, dl
je 0x43fc18
movss xmm2, dword [esi + 0x18c8]
mulss xmm2, dword [0x10081d90]
test byte [esi + 0x1a68], 1
mov ecx, dword [esi + 0x19ac]
je 0x43fc31
movss xmm0, dword [esi + 0x1a6c]
jmp 0x43fc39
movss xmm0, dword [ecx + 0x170]
comiss xmm6, xmm0
jbe 0x43fc71
mov eax, ecx
cmp dword [eax + 0x1c0], 0
movss xmm1, dword [eax + 0x228]
je 0x43fc59
movss xmm1, dword [eax + 0x208]
subss xmm1, dword [ecx + 0xc8]
addss xmm1, xmm0
movss xmm0, dword [0x10081d0c]
maxss xmm0, xmm1
cvttss2si eax, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
movd xmm4, eax
mov eax, dword [esp + 0x18]
cvtdq2ps xmm4, xmm4
movss xmm5, dword [eax + 0x1554]
mov eax, dword [ebp + 0x10]
movaps xmm3, xmm5
addss xmm3, xmm5
movss xmm7, dword [eax]
comiss xmm6, xmm7
addss xmm3, xmm2
movss dword [esp + 0x7c], xmm7
movss xmm2, dword [eax + 4]
movss dword [esp + 0x90], xmm2
ja 0x43fcbe
comiss xmm6, xmm2
jbe 0x43fcdf
cmp dword [ecx + 0x1c0], 0
movss xmm0, dword [ecx + 0x228]
movss xmm1, dword [ecx + 0x22c]
je 0x43fcdf
movss xmm0, dword [ecx + 0x208]
movss xmm2, dword [0x10081d78]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x43fcfb
movaps xmm7, xmm4
movss dword [esp + 0x7c], xmm7
jmp 0x43fd20
comiss xmm6, xmm7
jbe 0x43fd20
subss xmm0, dword [ecx + 0xc8]
addss xmm7, xmm0
comiss xmm2, xmm7
movss dword [esp + 0x7c], xmm7
jb 0x43fd20
movaps xmm7, xmm2
movss dword [esp + 0x7c], xmm2
movss xmm0, dword [esp + 0x90]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x43fd3d
movss dword [esp + 0x90], xmm3
jmp 0x43fd65
comiss xmm6, xmm0
jbe 0x43fd65
subss xmm1, dword [ecx + 0xcc]
addss xmm0, xmm1
comiss xmm2, xmm0
movss dword [esp + 0x90], xmm0
jb 0x43fd65
movss dword [esp + 0x90], xmm2
movss xmm3, dword [edi + 0xc8]
movss xmm4, dword [edi + 0xcc]
movaps xmm0, xmm3
movss xmm2, dword [esp + 0x108]
addss xmm0, xmm7
comiss xmm2, xmm6
mov esi, dword [esp + 0x18]
movaps xmm1, xmm4
movss dword [esp + 0xa4], xmm3
addss xmm1, dword [esp + 0x90]
movss dword [esp + 0xa8], xmm4
movss dword [esp + 0xac], xmm0
movss dword [esp + 0xb0], xmm1
jbe 0x43fdc8
addss xmm2, dword [esi + 0x1568]
jmp 0x43fdcb
xorps xmm2, xmm2
movss dword [esp + 0xd0], xmm3
addss xmm0, xmm2
movss dword [esp + 0xd4], xmm4
addss xmm1, xmm6
mov dword [esp + 0x68], edi
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0xdc], xmm1
test dl, dl
je 0x43ff12
mov edi, dword [esp + 0x50]
lea eax, [esp + 0xa4]
push eax
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.0040f027
add esp, 4
test al, al
jne 0x43fe7b
movss xmm0, dword [esp + 0xd8]
lea ecx, [esp + 0x80]
subss xmm0, dword [esp + 0xd0]
movss xmm1, dword [esi + 0x1554]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0xd4]
movss dword [esp + 0x84], xmm0
call fcn.0040ef17
call fcn.00418c37
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xac]
lea edx, [esp + 0x80]
subss xmm0, dword [esp + 0xa4]
push ecx
mov ecx, edi
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, dword [esp + 0xac]
movss dword [esp + 0x88], xmm0
call fcn.00412a17
add esp, 4
test al, al
jne 0x43fed9
call fcn.00412847
call fcn.00418c37
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x10087770]
movss xmm0, dword [esp + 0x7c]
mov eax, dword [ecx + 0x19ac]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x19ac]
mov dword [esp + 0x68], edi
subss xmm0, dword [edi + 0x70]
mov eax, dword [edi + 0x134]
or dword [edi + 0x13c], eax
movss dword [esp + 0x7c], xmm0
jmp 0x43ff5e
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [esp + 0x80]
movss dword [esp + 0x84], xmm1
movaps xmm1, xmm5
movss dword [esp + 0x80], xmm0
call fcn.0040ef17
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xd4]
call fcn.0040f027
add esp, 4
test al, al
je 0x43fe73
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0xa4]
call fcn.0040f307
mov byte [esp + 0x33], al
test al, al
je 0x43ff80
mov dword [esi + 0x1d14], 1
lea eax, [esi + 0x1ddc]
xor edi, edi
cmp dword [eax], edx
mov esi, dword [esp + 0x8c]
mov ecx, esi
cmove edi, eax
mov dword [esp + 0x58], edi
call fcn.0040f477
mov edx, dword [esp + 0x18]
mov byte [esp + 0x37], al
test al, al
je 0x440013
cmp dword [edx + 0x1bc0], esi
jne 0x440013
mov ecx, dword [edx + 0x1bc8]
cmp ecx, dword [esi + 0x164]
jne 0x440013
mov byte [esp + 0x1e], 1
mov byte [esp + 0x36], 0
cmp byte [esp + 0x33], 0
je 0x43ffe0
cmp byte [edx + 0x3d8], 0
mov byte [esp + 0x17], 1
jne 0x43ffe5
mov byte [esp + 0x17], 0
mov eax, dword [edx + 0x19d0]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
je 0x440028
cmp dword [edx + 0x1ac8], ecx
je 0x44000c
cmp dword [edx + 0x1abc], ecx
jne 0x440028
cmp dword [edx + 0x1adc], 3
jne 0x440028
mov byte [esp + 0x1d], 1
jmp 0x44002d
mov byte [esp + 0x1e], 0
test al, al
je 0x43ffc6
mov byte [esp + 0x36], 1
mov byte [esp + 0x1e], 0
jmp 0x43ffcb
mov byte [esp + 0x1d], 0
cmp byte [esp + 0x38], 0
mov esi, eax
je 0x4400a2
test edi, edi
je 0x4400a2
test eax, eax
jne 0x4400a2
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1c4], esi
jg 0x440070
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
mov eax, dword [esp + 0x24]
add esp, 0xc
mov esi, dword [eax + 0x19d0]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x1c4]
xor edx, edx
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, 0x1007ff08
call fcn.0040be87
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp dword [ecx + 0x19fc], eax
jne 0x4400a2
mov byte [esp + 0x1c], 1
jmp 0x4400b7
cmp byte [esp + 0x38], 0
mov byte [esp + 0x1c], 0
je 0x440111
mov byte [esp + 0x1c], 0
test edi, edi
je 0x440111
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x1c4], 0
jg 0x4400dc
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, 0x1007ff08
mov esi, dword [eax + 0x19d0]
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1cc]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.0040be87
add esp, 4
cmp esi, eax
jne 0x440111
mov al, 1
jmp 0x440113
xor al, al
mov cl, byte [esp + 0x1d]
mov byte [esp + 0x34], al
mov byte [esp + 0x47], 0
cmp esi, dword [esp + 0x50]
je 0x44013c
test byte [ebp + 0x14], 0x10
jne 0x440130
test cl, cl
je 0x44013c
cmp byte [esp + 0x38], 0
mov byte [esp + 0x24], 1
je 0x440141
mov byte [esp + 0x24], 0
cmp byte [esp + 0x37], 0
jne 0x44016b
cmp byte [esp + 0x17], 0
jne 0x44016b
cmp byte [esp + 0x1c], 0
jne 0x44016b
test cl, cl
jne 0x44016b
mov byte [esp + 0x1c], cl
test al, al
jne 0x440170
mov byte [esp + 0x35], al
jmp 0x44038f
mov byte [esp + 0x1c], 1
mov byte [esp + 0x35], 1
cmp esi, dword [esp + 0x50]
je 0x44038f
mov edi, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
add edi, 0x1ddc
mov dword [esp + 0x58], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44019d
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x4401da
test eax, eax
je 0x4401c3
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x4401cb
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421707
push esi
push dword [ebp + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.0045bfb8
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [esp + 0x40], edx
cmp edx, esi
jle 0x44022f
test esi, esi
je 0x440213
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x440218
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.00421877
mov edx, dword [esp + 0x40]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x440251
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.00421707
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [esp + 0x40], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x4402c4
mov edi, eax
nop
cmp byte [edi], 0
je 0x4402b8
push 0
mov edx, edi
lea ecx, [esp + 0x30]
call fcn.0040c247
add edi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4402b4
cmp eax, 0x10000
jae 0x4402a3
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x40]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x440277
jmp 0x4402b8
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov edx, dword [ebp + 8]
sub eax, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x440304
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x44035d
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe58], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x50], ecx
mov ecx, dword [esp + 0x38]
mov al, cl
xor al, 1
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x48], 0x10000
mov byte [edi + 0x4c], al
test cl, cl
jne 0x440361
mov ecx, dword [esp + 0x24]
mov eax, 1
cmp byte [esp + 0x1e], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
test dword [ebp + 0x14], 0x2000
je 0x44036e
mov byte [edi + 0x48], 1
test cl, cl
jne 0x44038f
cmp byte [esp + 0x36], cl
jne 0x44038a
cmp byte [esp + 0x17], cl
je 0x44038f
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xf8], cl
je 0x44038f
mov byte [esp + 0x24], 1
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x50]
cmp dword [ecx + 0x19d0], esi
je 0x440438
cmp byte [esp + 0x1c], 0
je 0x440430
test edi, edi
je 0x4403b8
mov ecx, esi
cmp dword [edi], ecx
je 0x4403d4
push 0xe9d
push 0x1007fe10
push 0x1008082c
call dword [0x10054230]
mov ecx, dword [esp + 0x5c]
add esp, 0xc
mov esi, dword [esp + 0x8c]
mov edx, esi
call fcn.0040ed17
call fcn.0040edc7
mov ecx, esi
call fcn.00417867
mov ecx, dword [esp + 0x18]
mov edx, 0x20002
cmp dword [esp + 0x64], 0
mov esi, dword [esp + 0x50]
mov dword [ecx + 0x19e8], 2
mov eax, dword [ecx + 0x19e8]
cmovne eax, edx
cmp byte [esp + 0x38], 0
mov dword [ecx + 0x19e8], eax
jne 0x440430
test byte [ebp + 0x14], 0x80
jne 0x440430
mov dword [ecx + 0x19e4], 0xc
cmp dword [ecx + 0x19d0], esi
jne 0x44046d
test edi, edi
jne 0x440445
call fcn.0040eea7
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x19d0], esi
jne 0x44046d
cmp byte [ecx + 0x3d8], 0
je 0x440478
cmp byte [esp + 0x35], 0
jne 0x440478
cmp byte [esp + 0x1c], 0
jne 0x440478
mov byte [esp + 0x47], 1
mov dl, 1
jmp 0x44047e
test edi, edi
je 0x44047c
cmp byte [esp + 0x34], 0
je 0x44047c
mov dl, 1
jmp 0x44047e
xor dl, dl
mov byte [esp + 0x1e], dl
test edi, edi
je 0x440499
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x440499
test dl, dl
je 0x440499
mov edx, 1
jmp 0x44049b
xor dl, dl
cmp byte [esp + 0x4c], 0
mov dword [esp + 0x98], edx
mov byte [esp + 0x37], dl
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 0
je 0x4405be
test edi, edi
je 0x4405be
cmp byte [esp + 0x1e], 0
jne 0x4404d2
test dl, dl
je 0x4405c9
mov esi, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
inc esi
cmp esi, eax
jle 0x440507
test eax, eax
je 0x4404f0
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x4404f8
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421877
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [esp + 0x40], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x440573
mov edi, eax
nop dword [eax + eax]
cmp byte [edi], 0
je 0x440567
push 0
mov edx, edi
lea ecx, [esp + 0x30]
call fcn.0040c247
add edi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x440563
cmp eax, 0x10000
jae 0x440553
mov word [esi], ax
add esi, 2
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x440527
jmp 0x440567
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x3c]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x44]
xor edx, edx
movzx eax, byte [esp + 0x37]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov ecx, dword [esp + 0x18]
cmovne edx, eax
mov dword [edi + 0x44], esi
mov dword [esp + 0x98], edx
cmp byte [esp + 0x1e], 0
jne 0x4405d5
test dl, dl
jne 0x4405d5
mov eax, dword [esp + 0x50]
cmp dword [ecx + 0x19d0], eax
jne 0x4405eb
cmp byte [esp + 0x4c], 0
jne 0x4405eb
test edi, edi
je 0x4405eb
cmp byte [edi + 0x30], 0
mov byte [esp + 0x37], 1
jne 0x4405f0
mov byte [esp + 0x37], 0
cmp byte [esp + 0xbc], 0
je 0x440750
mov esi, dword [ecx + 0x18c4]
cmp dword [esi + 0x14], 0x2a
jg 0x44060f
mov eax, dword [esi + 0x2c]
jmp 0x440632
mov eax, dword [esi + 0x1c]
mov edx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, dx
jne 0x440625
mov eax, dword [esi + 0x2c]
jmp 0x440632
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x2c70], 0
lea edx, [ecx + 0x2c50]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x18c4]
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [ecx + 0x18c4]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [ecx + 0x18c4]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [ecx + 0x18c4]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [ecx + 0x18c4]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [edx + 0xc], eax
jne 0x4406ad
cmp dword [edx], 0
jne 0x4406ad
cmp dword [edx + 0x14], 0
je 0x4406c9
push 0xed4
push 0x1007fe10
push 0x10080860
call dword [0x10054230]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov esi, dword [0x10087770]
mov ecx, edx
mov dword [esp + 0x2c], edx
call fcn.00417d57
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x1a90]
call fcn.00421537
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x2c88]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x19ac]
mov eax, dword [eax + 0x27c]
mov ecx, dword [eax + 0x4c]
lea esi, [eax + 0x4c]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 4]
cmp ecx, eax
jne 0x440739
inc ecx
test eax, eax
je 0x440727
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 4]
jmp 0x44072c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00421357
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x2c]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x64]
inc dword [esi]
call fcn.0042de07
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x78], 0
cmp dword [esi + 0x19d0], eax
jne 0x440b8e
test edi, edi
jne 0x440788
push 0xedc
push 0x1007fe10
push 0x10080938
call dword [0x10054230]
add esp, 0xc
mov eax, dword [edi + 8]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xe68], eax
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dl, byte [esi + 0xe8]
test dl, dl
mov dword [esi + 0x2f3c], 1
sete al
cmp byte [esp + 0x38], 0
mov byte [esi + 0x19dd], al
movss xmm7, dword [esi + 0xe0]
subss xmm7, dword [esp + 0xa4]
subss xmm7, dword [esi + 0x1550]
addss xmm7, dword [edi + 0x38]
je 0x440810
mov eax, dword [esp + 0x68]
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x1554]
jmp 0x440820
movss xmm2, dword [esi + 0x18c8]
mulss xmm2, dword [0x10081ca0]
cmp byte [esp + 0x24], 0
mov al, byte [esi + 0xad]
mov byte [esp + 0x57], al
jne 0x440995
mov cl, byte [esp + 0x33]
test cl, cl
je 0x44084d
test al, al
jne 0x4408b9
cmp byte [esi + 0x3dd], al
jne 0x440995
cmp byte [esi + 0x3d8], 0
mov al, byte [edi + 0xe65]
je 0x440900
test al, al
jne 0x440900
test cl, cl
je 0x4408ae
cmp byte [edi + 0x4c], al
je 0x44088d
push 0
mov edx, edi
lea ecx, [esp + 0xe4]
call fcn.0043de57
movss xmm2, dword [esp + 0xf0]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.0043e227
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
lea ecx, [edi + 0xe65]
jmp 0x4409b6
cmp byte [esi + 0x3dd], 0
je 0x44084d
push 0x1000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e6d7
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.0043e6d7
add esp, 4
mov byte [edi + 0xe64], 1
jmp 0x4408a4
lea ecx, [edi + 0xe65]
test dl, dl
je 0x4409b6
lea ecx, [edi + 0xe65]
test al, al
jne 0x4409b6
mov edx, esi
xorps xmm1, xmm1
movss xmm0, dword [edx + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x440949
movss xmm0, dword [edx + 0x378]
lea ecx, [edi + 0xe65]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4409b4
cmp byte [edi + 0x4c], 0
je 0x44096b
push 0
mov edx, edi
lea ecx, [esp + 0xe4]
call fcn.0043de57
movss xmm2, dword [esp + 0xf0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x440979
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.0043e227
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe64], 1
jmp 0x4408a4
mov eax, dword [edi + 4]
lea ecx, [edi + 0xe65]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [ecx], 1
jmp 0x4409b6
mov esi, edx
cmp byte [ecx], 0
je 0x4409c7
cmp byte [esi + 0xe8], 0
jne 0x4409c7
mov byte [ecx], 0
cmp byte [esi + 0xf8], 0
je 0x4409d9
cmp byte [esi + 0xfa], 0
je 0x4409e9
cmp byte [esp + 0x57], 0
je 0x4409f0
cmp byte [esi + 0xfb], 0
je 0x4409f0
mov byte [esp + 0x17], 1
jmp 0x4409f5
mov byte [esp + 0x17], 0
test dword [ebp + 0x14], 0x400
je 0x440a9a
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x440a9a
call fcn.00412507
mov cl, byte [esp + 0x17]
mov edx, dword [esp + 0x4c]
test al, al
je 0x440aa2
test cl, cl
jne 0x440aa2
cmp byte [esi + 0xf9], cl
jne 0x440aa2
test dl, dl
jne 0x440aa2
mov ecx, dword [esi + 0x1510]
mov eax, dword [esi + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x440a5a
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x440a9a
cmp ecx, edx
jb 0x440a4a
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x40]
sub esp, 8
mov dword [esp + 0x48], 9
call fcn.0043f8b7
add esp, 8
test al, al
je 0x440a9a
push dword [esp + 0x40]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e6d7
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov edx, dword [esp + 0x4c]
mov cl, byte [esp + 0x17]
mov eax, dword [esi + 0x1508]
add esi, 0x1508
mov dword [esp + 0x2c], esi
test eax, eax
jle 0x440b86
test cl, cl
jne 0x440b61
test dl, dl
jne 0x440b61
cmp byte [esp + 0x1d], dl
jne 0x440b61
xor esi, esi
cmp esi, eax
jl 0x440af2
push 0x551
push 0x100543c0
push 0x10057b5c
call dword [0x10054230]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1510]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x40], eax
cmp eax, 9
jne 0x440b16
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xf9], 0
jne 0x440b52
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x40]
sub esp, 8
call fcn.0043f8b7
add esp, 8
test al, al
je 0x440b4e
push dword [esp + 0x40]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e6d7
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1508]
inc esi
cmp esi, eax
jl 0x440af2
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x440b80
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.00421877
mov dword [esi], 0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov byte [esp + 0x57], 0
cmp dword [esi + 0x19d0], eax
jne 0x441cde
cmp byte [esi + 0x19dc], 0
jne 0x441635
cmp byte [esp + 0x47], 0
jne 0x441635
test edi, edi
jne 0x440bd3
push 0xf2c
push 0x1007fe10
push 0x10080938
call dword [0x10054230]
add esp, 0xc
mov dl, byte [esi + 0xf9]
mov eax, 0x20000
mov ecx, dword [esp + 0x18]
xor esi, esi
test dl, dl
cmovne esi, eax
mov ah, byte [ecx + 0xad]
mov byte [esp + 0x77], ah
test ah, ah
je 0x440c27
mov edi, dword [esp + 0x18]
add ecx, 0xfb
mov dword [esp + 0x24], ecx
cmp byte [ecx], 0
mov al, byte [edi + 0xf8]
je 0x440c1b
test al, al
jne 0x440c1b
mov ecx, 1
jmp 0x440c1d
xor ecx, ecx
mov edi, dword [esp + 0x58]
test ecx, ecx
je 0x440c59
jmp 0x440c40
mov al, byte [ecx + 0xf8]
add ecx, 0xfb
test al, al
je 0x440c55
cmp byte [ecx], 0
jne 0x440c55
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0xfa], 0
jne 0x440c59
test dl, dl
jne 0x440c59
mov ch, 1
jmp 0x440c5b
mov dword [esp + 0x24], ecx
xor ch, ch
mov byte [esp + 0x1c], ch
mov cl, al
test ah, ah
je 0x440ca6
mov edi, dword [esp + 0x18]
cmp byte [edi + 0xfb], 0
mov edi, dword [esp + 0x58]
je 0x440ca6
test dl, dl
je 0x440ca6
mov edi, dword [esp + 0x18]
mov al, byte [edi + 0xf8]
mov edi, dword [esp + 0x58]
mov cl, al
test al, al
jne 0x440ca6
mov edi, dword [esp + 0x18]
cmp byte [edi + 0xfa], 0
mov edi, dword [esp + 0x58]
jne 0x440ca6
mov byte [esp + 0x32], 1
jmp 0x440cb5
mov byte [esp + 0x32], 0
mov al, cl
test ah, ah
je 0x440d5a
mov edi, dword [esp + 0x18]
mov cl, byte [edi + 0xfa]
mov edi, dword [esp + 0x24]
mov byte [esp + 0x17], cl
cmp byte [edi], 0
mov edi, dword [esp + 0x58]
je 0x440d65
test al, al
jne 0x440d65
test cl, cl
jne 0x440d65
mov byte [esp + 0x1f], 1
mov ah, byte [esp + 0x1f]
mov byte [esp + 0x33], ah
mov byte [esp + 0x1f], ah
mov byte [esp + 0x17], cl
mov byte [esp + 0x1d], 0
test dl, dl
je 0x440da7
mov byte [esp + 0x1f], ah
mov byte [esp + 0x17], cl
mov byte [esp + 0x1d], 0
test al, al
jne 0x440da7
mov edx, dword [esp + 0x18]
mov byte [esp + 0x1f], ah
mov byte [esp + 0x17], cl
mov byte [esp + 0x1d], al
cmp byte [edx + 0xfa], al
jne 0x440da7
mov edx, dword [esp + 0x24]
mov byte [esp + 0x1f], ah
mov byte [esp + 0x17], cl
mov byte [esp + 0x1d], al
cmp byte [edx], al
jne 0x440da7
mov byte [esp + 0x2b], 1
mov byte [esp + 0x1f], ah
mov byte [esp + 0x17], cl
mov byte [esp + 0x1d], al
jmp 0x440dac
mov cl, al
mov byte [esp + 0x17], al
mov byte [esp + 0x32], 0
mov byte [esp + 0x1f], 0
test al, al
je 0x440ce9
test dl, dl
jne 0x440ce9
mov edi, dword [esp + 0x18]
cmp byte [edi + 0xfa], dl
mov edi, dword [esp + 0x58]
jne 0x440ce9
mov edi, dword [esp + 0x24]
cmp byte [edi], dl
mov edi, dword [esp + 0x58]
jne 0x440ce9
mov byte [esp + 0x1d], 1
mov byte [esp + 0x33], dl
mov byte [esp + 0x2b], 0
test ch, ch
je 0x440dc5
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x440dc5
call fcn.00412507
test al, al
jne 0x440de1
cmp byte [esp + 0x2b], 0
je 0x440e08
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x440e08
call fcn.00412507
test al, al
je 0x440e08
cmp byte [esp + 0x4c], 0
jne 0x440e08
cmp byte [esp + 0xbc], 0
jne 0x440e08
cmp byte [esp + 0x38], 0
je 0x440e01
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x440e08
mov byte [esp + 0x34], 1
jmp 0x440e0d
mov byte [esp + 0x34], 0
cmp byte [esp + 0x1c], 0
je 0x440e29
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x440e29
call fcn.00412507
test al, al
jne 0x440e45
cmp byte [esp + 0x1d], 0
je 0x440e65
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x440e65
call fcn.00412507
test al, al
je 0x440e65
cmp byte [esp + 0xbc], 0
jne 0x440e65
cmp byte [esp + 0x38], 0
je 0x440e5e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x440e65
mov byte [esp + 0x1d], 1
jmp 0x440e6a
mov byte [esp + 0x1d], 0
cmp byte [esp + 0x1c], 0
je 0x440e86
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x440e86
call fcn.00412507
test al, al
jne 0x440ea2
cmp byte [esp + 0x2b], 0
je 0x440eae
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x440eae
call fcn.00412507
test al, al
je 0x440eae
cmp byte [esp + 0x4c], 0
mov byte [esp + 0x63], 1
je 0x440eb3
mov byte [esp + 0x63], 0
mov dl, byte [esp + 0x1c]
test dl, dl
je 0x440eec
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x440eec
call fcn.00412507
test al, al
je 0x440ee8
cmp byte [esp + 0x4c], 0
jne 0x440ee8
cmp byte [esp + 0x6c], 0
je 0x440ee8
mov byte [esp + 0x2b], 1
jmp 0x440ef5
mov dl, byte [esp + 0x1c]
mov byte [esp + 0x2b], 0
test dl, dl
je 0x440f0d
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x440f0d
call fcn.00412507
test al, al
jne 0x440f2c
cmp byte [esp + 0x32], 0
je 0x440f3f
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x440f3f
call fcn.00412507
test al, al
je 0x440f3f
cmp byte [esp + 0x4c], 0
jne 0x440f3f
cmp byte [esp + 0x6c], 0
mov byte [esp + 0x32], 1
jne 0x440f44
mov byte [esp + 0x32], 0
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x440f9b
call fcn.00412507
test al, al
je 0x440f9b
cmp byte [esp + 0x33], 0
je 0x440f77
mov eax, 0x10004
lea edx, [edi + 0x3c]
or eax, esi
mov ecx, edi
push eax
call fcn.0043e6d7
jmp 0x4415fd
cmp byte [esp + 0x17], 0
lea edx, [edi + 0x3c]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x440ff2
call fcn.00412507
test al, al
je 0x440ff2
cmp byte [esp + 0x33], 0
je 0x440fce
mov eax, 0x10005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.0043e6d7
jmp 0x4415fd
cmp byte [esp + 0x17], 0
lea edx, [edi + 0x3c]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x44105d
call fcn.00412507
test al, al
je 0x44105d
cmp byte [esp + 0x38], 0
je 0x44105d
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xf8], 0
je 0x44103f
mov ecx, dword [esp + 0x68]
mov esi, eax
xorps xmm2, xmm2
movss xmm0, dword [ecx + 0x54]
subss xmm0, dword [esi + 0x18c8]
maxss xmm0, xmm2
movss dword [ecx + 0x54], xmm0
jmp 0x441615
movzx eax, byte [esp + 0x1f]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x4410d1
call fcn.00412507
test al, al
je 0x4410d1
cmp byte [esp + 0x38], 0
je 0x4410d1
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xf8], 0
je 0x4410b3
mov ecx, dword [esp + 0x68]
mov esi, eax
mov eax, dword [0x10087770]
movss xmm0, dword [esi + 0x18c8]
addss xmm0, dword [ecx + 0x54]
mov eax, dword [eax + 0x19ac]
minss xmm0, dword [eax + 0x5c]
movss dword [ecx + 0x54], xmm0
jmp 0x441615
movzx eax, byte [esp + 0x1f]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x441111
call fcn.00412507
test al, al
je 0x441111
mov ecx, dword [esp + 0x18]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x10004
or eax, 0x10006
cmp byte [ecx + 0xf8], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x441151
call fcn.00412507
test al, al
je 0x441151
mov ecx, dword [esp + 0x18]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x10005
or eax, 0x10007
cmp byte [ecx + 0xf8], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x441183
call fcn.00412507
test al, al
je 0x441183
cmp byte [esp + 0x4c], 0
jne 0x441183
or esi, 0x10008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x441218
call fcn.00412507
test al, al
je 0x441218
cmp byte [esp + 0x4c], 0
jne 0x441218
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x441202
cmp byte [esp + 0x17], 0
je 0x4411b9
push 0x3000c
jmp 0x4411e4
cmp byte [esp + 0x77], 0
je 0x441202
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x441202
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xfa], 0
jne 0x441202
cmp byte [eax + 0xf8], 0
jne 0x441202
push 0x30004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e6d7
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
or esi, 0x10009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.0043e6d7
jmp 0x4415fd
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x4412bc
call fcn.00412507
test al, al
je 0x4412bc
mov edx, dword [ebp + 0x14]
mov eax, edx
mov esi, dword [esp + 0x18]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x38], 0
je 0x441258
mov cl, byte [esi + 0xf8]
test al, al
je 0x441267
test cl, cl
jne 0x44126b
mov byte [esp + 0x47], 1
mov byte [esp + 0x36], 1
jmp 0x441615
test cl, cl
jne 0x441258
cmp byte [esp + 0x4c], 0
jne 0x441615
sub esp, 8
mov dword [esp + 0x48], 0xa
lea ecx, [esp + 0x48]
call fcn.0043f8b7
add esp, 8
test al, al
je 0x441615
push dword [esp + 0x40]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e6d7
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x441615
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x4412e0
call fcn.00412507
test al, al
je 0x4412e0
mov byte [esp + 0x57], 1
mov byte [esp + 0x47], 1
jmp 0x441611
mov al, byte [esp + 0x2b]
test al, al
jne 0x4415de
cmp byte [esp + 0x32], al
jne 0x4415de
cmp byte [esp + 0x1c], al
je 0x44132a
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x44132a
call fcn.00412507
test al, al
je 0x44132a
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x44160a
mov al, byte [esp + 0x34]
test al, al
jne 0x4414d2
cmp byte [esp + 0x1d], al
jne 0x4414d2
cmp byte [esp + 0x63], al
je 0x441611
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0xc8]
test ecx, ecx
je 0x44136f
push dword [eax + 0xd0]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x441374
jmp 0x441611
mov esi, 0x10054536
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441379
mov eax, dword [0x10087770]
sub ecx, edx
test eax, eax
je 0x441391
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
call dword [0x100541c8]
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp byte [esi], al
je 0x441411
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [esp + 0x40]
call fcn.0040c247
add esi, eax
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x441401
cmp eax, 0x10000
jae 0x4413fc
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x3c]
sub esp, 8
call fcn.0043f8b7
add esp, 8
test al, al
je 0x4413fc
mov ecx, dword [esp + 0x20]
mov ax, word [esp + 0x3c]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x4413b7
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x24]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x4414b0
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x441445
cmp ecx, eax
jle 0x441435
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x44143e
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x441445
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x44144d
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.0043e647
push dword [esp + 0x24]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [esp + 0x24]
call fcn.0043e097
add esp, 8
test al, al
je 0x441491
push dword [esp + 0x24]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push 0
call fcn.0043f517
mov eax, dword [esp + 0x2c]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x4414a5
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x4414a5
dec eax
mov word [edi + 0xe52], ax
mov ecx, dword [esp + 0x20]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x4414c3
mov eax, dword [0x10087770]
test eax, eax
je 0x4414c3
dec dword [eax + 0x370]
push ecx
call dword [0x100541c4]
add esp, 4
jmp 0x441611
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xcc], 0
je 0x44159e
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x4414f7
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x4414fc
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x8c], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.0040c507
mov ecx, dword [0x10087770]
inc eax
mov dword [esp + 0x2c], eax
test ecx, ecx
je 0x44152a
inc dword [ecx + 0x370]
push eax
call dword [0x100541c8]
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x64], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x90]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.0040c3d7
mov eax, dword [0x10087770]
add esp, 8
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x44157e
push esi
push dword [eax + 0xd0]
call ecx
mov eax, dword [0x10087770]
add esp, 8
test esi, esi
je 0x44158c
test eax, eax
je 0x44158c
dec dword [eax + 0x370]
push esi
call dword [0x100541c4]
mov al, byte [esp + 0x38]
add esp, 4
mov esi, dword [esp + 0x18]
test al, al
je 0x441615
mov eax, dword [edi + 0x40]
lea esi, [edi + 0x3c]
cmp eax, dword [edi + 0x44]
jne 0x4415c0
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [esi], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x441611
mov edx, esi
mov ecx, edi
call fcn.0043e647
mov byte [esi + 0xf], 0
jmp 0x441611
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x1000a
push eax
call fcn.0043e6d7
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
add esp, 4
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
mov esi, dword [esp + 0x18]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x441628
cmp byte [esp + 0x1e], 0
je 0x441628
mov al, 1
jmp 0x44162a
xor al, al
or byte [esp + 0x98], al
mov eax, dword [esp + 0x50]
cmp dword [esi + 0x19d0], eax
jne 0x441cde
test edi, edi
jne 0x44165d
push 0xfa2
push 0x1007fe10
push 0x10080938
call dword [0x10054230]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x24], eax
cmp byte [esp + 0x57], al
je 0x4416c9
cmp byte [esp + 0x4c], al
jne 0x4416b4
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44169f
test dl, dl
je 0x44169b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44169f
add eax, 2
add ecx, 2
test dl, dl
jne 0x44167f
xor eax, eax
jmp 0x4416a4
sbb eax, eax
or eax, 1
test eax, eax
je 0x4416b4
mov eax, dword [edi + 0x24]
dec eax
mov dword [esp + 0x70], esi
mov dword [esp + 0x24], eax
cmp byte [esp + 0x36], 0
je 0x441b8d
test byte [ebp + 0x14], 0x20
je 0x441b8d
cmp byte [esp + 0x4c], 0
jne 0x441724
mov eax, dword [edi + 0xc]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [edi + 0x1c]
cmp esi, eax
jle 0x44170f
test eax, eax
je 0x4416f8
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x441700
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421707
mov dword [edi + 0x18], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.0040c3d7
add esp, 8
test dword [ebp + 0x14], 0x1c0
je 0x441b4c
push 0xfc2
push 0x1007fe10
push 0x10080810
call dword [0x10054230]
mov edx, dword [ebp + 0x14]
add esp, 0xc
mov esi, 0x15
test dl, 0x40
je 0x441775
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x441775
call fcn.00412507
test al, al
je 0x441772
lea eax, [esi + 0x2b]
xor esi, esi
jmp 0x4417c9
mov edx, dword [ebp + 0x14]
test dl, dl
jns 0x4417b7
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x441798
call fcn.00412507
test al, al
je 0x441798
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x4417c9
mov eax, dword [0x10087770]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x4417b7
call fcn.00412507
test al, al
je 0x4417b7
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x4417c9
test dword [ebp + 0x14], 0x100
je 0x441b4c
mov eax, 0x100
mov dword [esp + 0x11c], eax
xor ecx, ecx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x120], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x130], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x134], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x12c], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x138], eax
mov eax, dword [edi + 0x3c]
mov word [esp + 0x13d], cx
mov byte [esp + 0x13f], cl
mov dword [esp + 0x124], ecx
mov byte [esp + 0x13c], cl
lea edx, [esi + eax*2]
mov ecx, esi
mov dword [esp + 0x128], 0
call fcn.0040c507
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x140], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.0040c507
mov edx, dword [edi + 0x44]
mov ecx, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x144], eax
lea edx, [esi + edx*2]
call fcn.0040c507
mov dword [esp + 0xb4], eax
mov dword [esp + 0x148], eax
lea eax, [esp + 0x11c]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0x134]
add esp, 4
mov esi, dword [0x10054230]
mov dword [esp + 0x48], ecx
cmp ecx, dword [edi + 0x20]
je 0x4418bb
push 0xff1
push 0x1007fe10
push 0x10080950
call esi
mov ecx, dword [esp + 0x13c]
add esp, 0xc
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x138]
cmp eax, dword [edi + 0x34]
je 0x4418e6
push 0xff2
push 0x1007fe10
push 0x100809a0
call esi
mov ecx, dword [esp + 0x13c]
add esp, 0xc
mov dword [esp + 0x48], ecx
mov eax, dword [ebp + 0x14]
cmp dword [esp + 0x120], eax
je 0x441911
push 0xff3
push 0x1007fe10
push 0x100809fc
call esi
mov ecx, dword [esp + 0x13c]
add esp, 0xc
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x140]
cmp eax, dword [esp + 0x2c]
je 0x441973
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [esp + 0x20], eax
test edi, edi
je 0x441931
cmp esi, edi
jae 0x441961
cmp byte [esi], 0
je 0x441961
push edi
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.0040c247
add esi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44195d
cmp eax, 0x10000
mov eax, dword [esp + 0x20]
jae 0x441929
inc eax
jmp 0x441925
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe64], 1
mov eax, dword [esp + 0x144]
cmp eax, dword [esp + 0x64]
je 0x4419ce
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [esp + 0x20], eax
test edi, edi
je 0x441993
cmp esi, edi
jae 0x4419c3
cmp byte [esi], 0
je 0x4419c3
push edi
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.0040c247
add esi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4419bf
cmp eax, 0x10000
mov eax, dword [esp + 0x20]
jae 0x44198b
inc eax
jmp 0x441987
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x148]
cmp eax, dword [esp + 0xb4]
je 0x441a2c
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [esp + 0x20], eax
test edi, edi
je 0x4419f1
cmp esi, edi
jae 0x441a21
cmp byte [esi], 0
je 0x441a21
push edi
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.0040c247
add esi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441a1d
cmp eax, 0x10000
mov eax, dword [esp + 0x20]
jae 0x4419e9
inc eax
jmp 0x4419e5
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x44], eax
cmp byte [esp + 0x13c], 0
je 0x441b4c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441a3d
sub ecx, edx
mov edx, dword [esp + 0x134]
cmp edx, ecx
je 0x441a7b
push 0xff9
push 0x1007fe10
push 0x10080a38
call dword [0x10054230]
mov eax, dword [esp + 0x13c]
add esp, 0xc
mov edx, dword [esp + 0x134]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x78]
cmp edx, ecx
jle 0x441ad0
cmp byte [esp + 0x5c], 0
je 0x441ad0
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub esi, ecx
add esi, edx
cmp esi, eax
jle 0x441acd
test eax, eax
je 0x441aab
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x441ab3
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00421877
mov eax, dword [esp + 0x130]
mov dword [esp + 0x48], eax
mov dword [edi + 0xc], esi
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov eax, dword [edi + 0xc]
dec eax
mov dword [esp + 0xb4], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x64], eax
cmp ecx, eax
jae 0x441b2c
mov edi, dword [esp + 0x48]
cmp byte [edi], 0
je 0x441b21
push 0
mov edx, edi
lea ecx, [esp + 0x30]
call fcn.0040c247
add edi, eax
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x441b21
cmp eax, 0x10000
jae 0x441b1b
mov word [esi], ax
add esi, 2
cmp esi, dword [esp + 0x64]
jb 0x441aef
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0xb4]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [esp + 0x134]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe60], 0xbe99999a
cmp byte [esp + 0x4c], 0
jne 0x441b8d
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x441b7b
test dl, dl
je 0x441b77
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x441b7b
add eax, 2
add ecx, 2
test dl, dl
jne 0x441b5b
xor eax, eax
jmp 0x441b80
sbb eax, eax
or eax, 1
test eax, eax
je 0x441b8d
mov dword [esp + 0x70], esi
mov esi, dword [edi + 8]
jmp 0x441b91
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x70], 0
je 0x441cb8
test esi, esi
jns 0x441bb8
push 0x100e
push 0x1007fe10
push 0x10080ab0
call dword [0x10054230]
add esp, 0xc
cmp dword [esp + 0x78], esi
je 0x441c7e
cmp byte [esp + 0x5c], 0
je 0x441c7e
mov eax, dword [ebp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x154], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x164], eax
lea eax, [esi + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x15c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
push eax
xor eax, eax
movlpd qword [esp + 0x174], xmm0
movlpd qword [esp + 0x17c], xmm0
mov dword [esp + 0x154], 0x40000
mov dword [esp + 0x16c], esi
mov dword [esp + 0x15c], 0
call eax
mov ecx, dword [esp + 0x170]
add esp, 4
mov edx, dword [esp + 0x164]
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ecx
lea esi, [ecx - 1]
cmp dword [esp + 0x168], esi
cmovl esi, dword [esp + 0x168]
cmp esi, ecx
jle 0x441c84
push 0x101c
push 0x1007fe10
push 0x10080ae8
call dword [0x10054230]
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
lea eax, [esi + 1]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebp + 0xc], ecx
cmp ecx, 1
jb 0x441cb3
jbe 0x441cab
lea eax, [ecx - 1]
push eax
push dword [esp + 0x74]
push edx
call dword [0x10054288]
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [ecx + eax - 1], 0
mov byte [esp + 0x35], 1
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [esp + 0x47], 0
je 0x441cf2
cmp dword [esi + 0x19d0], eax
jne 0x441cf2
call fcn.0040eea7
mov edx, dword [esp + 0x38]
test dl, dl
jne 0x441dde
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0xa4]
push 1
call fcn.0040e057
movss xmm1, dword [0x10081d0c]
add esp, 4
mov ecx, 7
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
push dword [esp + 0xb0]
call fcn.0040c6d7
movss xmm2, dword [esi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.0040d857
movss xmm7, dword [esp + 0xb4]
add esp, 0x10
movss xmm5, dword [esp + 0xa8]
movaps xmm0, xmm7
addss xmm0, dword [esi + 0x1550]
movss xmm4, dword [esp + 0x7c]
movaps xmm2, xmm7
mov edx, dword [esp + 0x38]
addss xmm2, xmm4
movaps xmm1, xmm5
movss dword [esp + 0x10c], xmm7
addss xmm1, dword [esp + 0x90]
movss dword [esp + 0xd0], xmm0
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x1554]
movss dword [esp + 0x110], xmm5
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x114], xmm2
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0x78], xmm1
jmp 0x441e5a
movss xmm0, dword [esp + 0xa4]
movss xmm1, dword [esp + 0xa8]
movss xmm4, dword [esp + 0x7c]
movaps xmm2, xmm1
mov ecx, dword [esp + 0x68]
movaps xmm3, xmm4
addss xmm2, dword [esp + 0x90]
addss xmm3, xmm0
movss dword [esp + 0x10c], xmm0
movss dword [esp + 0x110], xmm1
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [esp + 0x78], xmm2
movaps xmm1, xmm2
movaps xmm0, xmm3
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x114], xmm0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
cmp byte [esp + 0x37], 0
lea eax, [esp + 0xd0]
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x84], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movss dword [esp + 0x118], xmm1
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x8c], xmm0
movss dword [esp + 0x40], xmm6
je 0x441eb9
mov eax, dword [edi + 0x20]
mov dword [ebp + 8], eax
jmp 0x441ebc
mov eax, dword [ebp + 8]
cmp byte [esp + 0x1e], 0
jne 0x442170
cmp byte [esp + 0x98], 0
jne 0x442170
test dl, dl
je 0x441f30
mov dl, byte [eax]
lea edi, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x441ef9
nop dword [eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x441ee7
mov al, byte [edi - 1]
dec edi
mov dword [esp + 0x94], edi
cmp al, 0xa
je 0x441f0d
cmp al, 0xd
je 0x441f0d
inc ecx
movd xmm7, ecx
movaps xmm0, xmm4
cvtdq2ps xmm7, xmm7
movss dword [esp + 0x8c], xmm0
mulss xmm7, dword [esi + 0x18c8]
movss dword [esp + 0x40], xmm7
jmp 0x441f6d
mov ecx, dword [esp + 0x50]
cmp dword [esi + 0x19d0], ecx
jne 0x441f43
mov edi, dword [edi + 8]
add edi, eax
jmp 0x441f56
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441f48
mov edi, dword [ebp + 8]
sub ecx, edx
add edi, ecx
mov eax, edi
mov dword [esp + 0x94], edi
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x442e19
movss xmm1, dword [0x10081d0c]
xor ecx, ecx
call fcn.0040c6d7
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x3c], edi
lea edi, [esp + 0x10c]
mov esi, dword [eax + 0x27c]
mov eax, dword [esp + 0x18]
movss xmm0, dword [eax + 0x18c8]
lea edx, [eax + 0x18c8]
movss dword [esp + 0x78], xmm0
mov ecx, dword [eax + 0x18c4]
xor eax, eax
cmp byte [esp + 0x38], al
mov dword [esp + 0x20], ecx
cmovne edi, eax
test dword [esp + 0x6c], 0xff000000
mov eax, edx
je 0x442d50
cmp dword [esp + 0x94], 0
jne 0x441fff
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x2c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441fe7
sub ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, edx
mov edx, dword [ebp + 8]
cmp edx, dword [esp + 0x3c]
je 0x442d50
test ecx, ecx
jne 0x44201c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
xorps xmm2, xmm2
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x442036
mov eax, dword [esi + 0x28]
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x78], xmm0
cmp dword [esi + 0x4c], 0
jg 0x442054
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + edx*4 - 4]
je 0x442082
push 0x95f
push 0x1007f058
push 0x1007f1e8
call dword [0x10054230]
add esp, 0xc
cmp dword [esi + 0x40], 0
jg 0x4420a0
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
add esp, 0xc
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esp + 0xc0], xmm0
test edi, edi
je 0x442121
movss xmm1, dword [edi]
movss xmm0, dword [esp + 0xc0]
comiss xmm0, xmm1
jae 0x4420d5
movss dword [esp + 0xc0], xmm1
movss xmm1, dword [edi + 4]
movss xmm0, dword [esp + 0xc4]
comiss xmm0, xmm1
jae 0x4420f1
movss dword [esp + 0xc4], xmm1
movss xmm0, dword [edi + 8]
comiss xmm0, dword [esp + 0xc8]
ja 0x442109
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [esp + 0xcc]
ja 0x442121
movss dword [esp + 0xcc], xmm0
mov eax, dword [esp + 0x48]
test edi, edi
movss xmm2, dword [esp + 0x78]
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xd0]
mov dword [esp], 0
push dword [esp + 0x4c]
push dword [ebp + 8]
push eax
push dword [esp + 0x88]
push esi
call fcn.004345c7
mov esi, dword [esp + 0x18]
lea eax, [esi + 0x18c8]
jmp 0x442d54
test edi, edi
jne 0x44218f
push 0x1049
push 0x1007fe10
push 0x10080938
call dword [0x10054230]
add esp, 0xc
xorps xmm6, xmm6
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
mov ecx, dword [edi + 0x14]
xor edx, edx
mov dword [esp + 0xc0], eax
xorps xmm7, xmm7
add eax, dword [ebp + 8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], ecx
movss dword [esp + 0xb4], xmm6
mov dword [esp + 0x5c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x88], esi
mov dword [esp + 0xa0], esi
cmp byte [esp + 0x1e], dl
je 0x4421fb
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [esp + 0x88], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x5c], eax
lea edx, [esi + 2]
cmp byte [esp + 0x98], 0
je 0x442230
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x9c]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [esp + 0xa0], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x9c]
movzx eax, word [eax]
test ax, ax
je 0x4422b4
mov edi, dword [esp + 0x88]
mov esi, eax
cmp si, 0xa
jne 0x442294
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp edi, 0xffffffff
jne 0x442278
cmp ecx, dword [esp + 0x5c]
jb 0x442278
dec edx
mov edi, eax
test edx, edx
jle 0x4422a2
cmp dword [esp + 0xa0], 0xffffffff
jne 0x442294
cmp ecx, dword [esp + 0x70]
jb 0x442294
dec edx
mov dword [esp + 0xa0], eax
test edx, edx
jle 0x4422a2
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x442257
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x20], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xa0]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0xa0], ecx
mov ecx, edx
cmp edx, esi
jbe 0x442305
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x442305
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x4422f7
mov eax, dword [0x10087770]
movaps xmm1, xmm6
movaps xmm3, xmm6
mov esi, dword [eax + 0x18c4]
movss xmm2, dword [eax + 0x18c8]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x442365
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x44233b
maxss xmm1, xmm3
movaps xmm3, xmm6
jmp 0x442361
cmp eax, 0xd
je 0x442361
mov edx, eax
cmp edx, dword [esi]
jge 0x442350
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x442355
movss xmm0, dword [esi + 0xc]
mov edx, dword [esp + 0x5c]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, edx
jb 0x442327
cmp dword [esp + 0xa0], 0
maxss xmm3, xmm1
movd xmm5, dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm5, xmm5
movss xmm0, dword [ecx + 0x18c8]
mulss xmm5, xmm0
movss dword [esp + 0x2c], xmm3
movss dword [esp + 0x14c], xmm5
jl 0x44245a
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
cmp ecx, edx
jbe 0x4423c5
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x4423c5
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x4423b7
movaps xmm1, xmm6
mov eax, dword [0x10087770]
movaps xmm7, xmm6
mov esi, dword [eax + 0x18c4]
movss xmm2, dword [eax + 0x18c8]
divss xmm2, dword [esi + 0x10]
cmp ecx, dword [esp + 0x70]
jae 0x44242b
mov edi, dword [esp + 0x70]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x442401
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x442423
cmp eax, 0xd
je 0x442423
mov edx, eax
cmp edx, dword [esi]
jge 0x442416
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x44241b
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x4423ed
mov edi, dword [esp + 0x58]
movd xmm3, dword [esp + 0xa0]
maxss xmm7, xmm1
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18c8]
mulss xmm3, xmm0
movss dword [esp + 0xb4], xmm3
movss xmm3, dword [esp + 0x2c]
cmp byte [esp + 0x38], 0
je 0x442488
movd xmm4, dword [esp + 0x20]
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm0
movss dword [esp + 0x40], xmm4
movss xmm4, dword [esp + 0x7c]
movaps xmm0, xmm4
movss dword [esp + 0x8c], xmm0
jmp 0x44248e
movss xmm4, dword [esp + 0x7c]
cmp byte [esp + 0x1e], 0
je 0x442562
cmp byte [edi + 0xe64], 0
je 0x442562
test dword [ebp + 0x14], 0x1000
jne 0x4424f3
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm3
mulss xmm0, dword [0x10081c74]
movaps xmm1, xmm3
jbe 0x4424d4
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x4424e1
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x4424fa
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x4424fa
mov dword [edi + 0x38], 0
cmp byte [esp + 0x38], 0
je 0x44255b
mov eax, dword [esp + 0x68]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x18c8]
movss xmm4, dword [eax + 0x54]
comiss xmm4, xmm1
jbe 0x442523
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x442533
movaps xmm0, xmm5
subss xmm0, dword [esp + 0x90]
maxss xmm0, xmm4
subss xmm4, xmm0
movss dword [eax + 0x54], xmm0
addss xmm4, dword [eax + 0xcc]
movss dword [esp + 0x24], xmm4
movss dword [eax + 0xcc], xmm4
movss dword [esp + 0x84], xmm4
mov byte [edi + 0xe64], 0
cmp byte [esp + 0x98], 0
movss xmm4, dword [edi + 0x38]
movss dword [esp + 0x20], xmm4
je 0x44285b
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [esp + 0x9c]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x1e], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x9c]
lea eax, [eax + edx*2]
mov dword [esp + 0x5c], eax
je 0x4425b4
movss xmm1, dword [0x10081d0c]
jmp 0x4425bc
movss xmm1, dword [0x10081cb4]
mov ecx, 0x2a
call fcn.0040c6d7
cmp byte [esp + 0x38], 0
xorps xmm0, xmm0
mov dword [esp + 0x70], eax
je 0x4425e2
movss dword [esp + 0x104], xmm0
xorps xmm6, xmm6
jmp 0x4425ea
movss xmm6, dword [0x10081d44]
mov ecx, dword [esp + 0x48]
movss dword [esp + 0x88], xmm6
movss xmm3, dword [ecx]
mov ecx, dword [esp + 0x5c]
addss xmm3, xmm7
movss xmm7, dword [esp + 0x24]
movaps xmm4, xmm7
addss xmm4, dword [esp + 0xb4]
subss xmm3, dword [esp + 0x20]
subss xmm4, xmm0
movss dword [esp + 0xb4], xmm4
cmp esi, ecx
jae 0x4428a6
movss xmm7, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
nop dword [eax + eax]
movaps xmm0, xmm7
addss xmm0, dword [edx + 0x18c8]
comiss xmm4, xmm0
ja 0x44284e
movss xmm0, dword [esp + 0xa8]
comiss xmm0, xmm4
jbe 0x442690
cmp esi, ecx
jae 0x442822
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x44281e
cmp esi, ecx
jb 0x442677
jmp 0x44281e
mov eax, dword [0x10087770]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c4]
movss xmm2, dword [eax + 0x18c8]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x4426fb
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x4426ee
cmp eax, 0xd
je 0x4426e8
mov ecx, eax
cmp ecx, dword [edx]
jge 0x4426d7
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x4426dc
movss xmm0, dword [edx + 0xc]
mov ecx, dword [esp + 0x5c]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x4426b7
jmp 0x4426f8
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x442738
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18c4]
cmp dword [eax], 0x20
jle 0x442720
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x442725
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10081ca0]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [esp + 0x18]
addss xmm1, xmm3
movss xmm5, dword [esp + 0x64]
xorps xmm2, xmm2
addss xmm3, xmm2
movaps xmm0, xmm6
movss xmm2, dword [esp + 0x104]
addss xmm0, xmm4
subss xmm2, dword [eax + 0x18c8]
minss xmm1, xmm5
maxss xmm3, dword [esp + 0xa4]
minss xmm0, xmm7
addss xmm2, xmm4
movss dword [esp + 0xe8], xmm1
movss dword [esp + 0xe0], xmm3
comiss xmm0, dword [esp + 0xa8]
maxss xmm2, dword [esp + 0xa8]
movss dword [esp + 0xec], xmm0
movss dword [esp + 0xe4], xmm2
jbe 0x44281a
comiss xmm7, xmm2
jbe 0x44281a
comiss xmm1, dword [esp + 0xa4]
jbe 0x44281a
comiss xmm5, xmm3
jbe 0x44281a
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xf0]
push edi
push eax
lea eax, [esp + 0xf0]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x27c]
call fcn.0042fb57
movss xmm0, dword [esp + 0x3c]
movss xmm4, dword [esp + 0xb4]
movss xmm7, dword [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x78], xmm0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
movss xmm3, dword [eax]
movss xmm6, dword [esp + 0x88]
addss xmm4, dword [edx + 0x18c8]
subss xmm3, dword [esp + 0x20]
movss dword [esp + 0xb4], xmm4
cmp esi, ecx
jb 0x442647
movss xmm4, dword [esp + 0x20]
xorps xmm6, xmm6
mov edi, dword [esp + 0x58]
movss xmm7, dword [esp + 0x24]
cmp byte [esp + 0x38], 0
jne 0x442879
cmp dword [esp + 0xc0], 0x200000
jge 0x442b81
mov eax, dword [0x10087770]
movups xmm2, xmmword [eax + 0x15c4]
comiss xmm6, xmm2
movaps xmm1, xmm2
movaps xmmword [esp + 0xe0], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1518]
jbe 0x4428b1
movaps xmm0, xmm6
jmp 0x4428bd
movss xmm4, dword [esp + 0x20]
xorps xmm6, xmm6
jmp 0x442861
movss xmm0, dword [0x10081d0c]
minss xmm0, xmm2
movss xmm2, dword [0x10081ddc]
movss xmm5, dword [0x10081ca0]
movss xmm3, dword [esp + 0xe4]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x4428ec
movaps xmm0, xmm6
jmp 0x4428f8
movss xmm0, dword [0x10081d0c]
minss xmm0, xmm3
movss xmm3, dword [esp + 0xe8]
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x44291c
movaps xmm0, xmm6
jmp 0x442928
movss xmm0, dword [0x10081d0c]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x442943
movaps xmm0, xmm6
jmp 0x44294f
movss xmm0, dword [0x10081d0c]
minss xmm0, xmm1
mov eax, dword [esp + 0x48]
mulss xmm0, xmm2
mov dword [esp + 0xc0], 0
addss xmm0, xmm5
cvttss2si edx, xmm0
movss xmm0, dword [eax]
mov eax, dword [esp + 0x68]
subss xmm0, xmm4
shl edx, 0x18
or edx, ecx
cmp byte [esp + 0x38], 0
mov dword [esp + 0x104], edx
mov esi, dword [eax + 0x27c]
mov eax, dword [esp + 0x18]
movss dword [esp + 0xb4], xmm0
movaps xmm0, xmm7
subss xmm0, xmm6
mov ecx, dword [eax + 0x18c4]
mov dword [esp + 0x5c], ecx
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [eax + 0x18c8]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x10c]
cmovne eax, dword [esp + 0xc0]
movss dword [esp + 0x64], xmm0
mov dword [esp + 0xc0], eax
test edx, 0xff000000
je 0x442b81
cmp dword [esp + 0x94], 0
jne 0x442a17
mov ecx, dword [ebp + 8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4429ff
mov eax, dword [ebp + 8]
sub ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x6c], eax
jmp 0x442a1b
mov eax, dword [esp + 0x6c]
cmp dword [ebp + 8], eax
je 0x442b81
test ecx, ecx
jne 0x442a32
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x442a49
mov eax, dword [esi + 0x28]
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x64], xmm0
cmp dword [esi + 0x4c], 0
jg 0x442a67
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
add esp, 0xc
mov eax, dword [esp + 0x5c]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + edx*4 - 4]
je 0x442a95
push 0x95f
push 0x1007f058
push 0x1007f1e8
call dword [0x10054230]
add esp, 0xc
cmp dword [esi + 0x40], 0
jg 0x442ab3
push 0x55b
push 0x100543c0
push 0x10057b70
call dword [0x10054230]
add esp, 0xc
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
mov eax, dword [esp + 0xc0]
movups xmmword [esp + 0xe0], xmm0
test eax, eax
je 0x442b3b
movss xmm1, dword [eax]
movss xmm0, dword [esp + 0xe0]
comiss xmm0, xmm1
jae 0x442aef
movss dword [esp + 0xe0], xmm1
movss xmm1, dword [eax + 4]
movss xmm0, dword [esp + 0xe4]
comiss xmm0, xmm1
jae 0x442b0b
movss dword [esp + 0xe4], xmm1
movss xmm0, dword [eax + 8]
comiss xmm0, dword [esp + 0xe8]
ja 0x442b23
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [eax + 0xc]
comiss xmm0, dword [esp + 0xec]
ja 0x442b3b
movss dword [esp + 0xec], xmm0
push dword [esp + 0xb8]
movss xmm2, dword [esp + 0x68]
test eax, eax
push dword [esp + 0xb8]
setne al
movzx eax, al
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp], 0
push eax
push dword [ebp + 8]
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x120]
push esi
call fcn.004345c7
cmp byte [esp + 0x1e], 0
mov ecx, dword [esp + 0x18]
lea esi, [ecx + 0x18c8]
mov eax, esi
je 0x442f2e
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [ecx + 0xae], 0
je 0x442c01
xorps xmm2, xmm2
comiss xmm2, xmm0
jae 0x442c01
cvtps2pd xmm0, xmm0
movsd qword [esp + 0xc0], xmm0
fld qword [esp + 0xc0]
fld qword [0x10081d38]
call fcn.0045bfca
movss xmm0, dword [0x10081ce4]
fstp qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xc0]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x442c01
xor al, al
jmp 0x442c03
mov al, 1
movss xmm3, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
movss xmm6, dword [0x10081d0c]
addss xmm3, dword [esp + 0x14c]
movss xmm4, dword [ecx]
addss xmm4, dword [esp + 0x2c]
subss xmm3, dword [0x10081bcc]
subss xmm4, dword [esp + 0x20]
movss dword [esp + 0x24], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [esi]
movss dword [esp + 0xc0], xmm4
movaps xmm2, xmm4
movss dword [esp + 0xe0], xmm4
addss xmm2, xmm6
subss xmm1, dword [0x10081d24]
addss xmm0, dword [0x10081ca0]
movss dword [esp + 0xe8], xmm2
movss dword [esp + 0xec], xmm1
movss dword [esp + 0xe4], xmm0
test al, al
je 0x442d29
comiss xmm1, dword [esp + 0xa8]
jbe 0x442d29
movss xmm5, dword [esp + 0x78]
comiss xmm5, xmm0
jbe 0x442d29
comiss xmm2, dword [esp + 0xa4]
jbe 0x442d29
movss xmm0, dword [esp + 0x3c]
comiss xmm0, xmm4
jbe 0x442d29
sub esp, 8
movss dword [esp + 0xdc], xmm1
movaps xmm1, xmm6
movss dword [esp + 0xd8], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.0040c6d7
add esp, 4
push eax
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0xec]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x27c]
call fcn.0042f957
movss xmm3, dword [esp + 0x24]
movss xmm4, dword [esp + 0xc0]
movss xmm6, dword [0x10081d0c]
cmp byte [esp + 0x4c], 0
mov eax, esi
jne 0x442d50
mov eax, dword [esp + 0x18]
subss xmm4, xmm6
subss xmm3, dword [esi]
movss dword [eax + 0x2ce4], xmm4
movss dword [eax + 0x2ce8], xmm3
mov eax, esi
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x38], 0
je 0x442e12
mov ecx, dword [0x10087770]
xorps xmm5, xmm5
movss xmm3, dword [esp + 0x40]
addss xmm3, dword [eax]
movss xmm4, dword [esp + 0x8c]
mov eax, dword [ecx + 0x19ac]
addss xmm4, xmm5
movss dword [esp + 0xd4], xmm3
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19ac]
movss dword [esp + 0xd0], xmm4
cmp byte [eax + 0x7f], 0
jne 0x442e08
movss xmm0, dword [eax + 0xcc]
lea ecx, [esp + 0xd0]
movss xmm2, dword [eax + 0xc8]
movaps xmm1, xmm0
addss xmm1, xmm3
movss dword [esp + 0xe0], xmm2
addss xmm4, xmm2
movss dword [esp + 0xe4], xmm0
movss dword [esp + 0xec], xmm1
xorps xmm1, xmm1
movss dword [esp + 0xe8], xmm4
call fcn.0040ef17
push 0
xor edx, edx
lea ecx, [esp + 0xe4]
call fcn.0040f027
add esp, 4
call fcn.00412847
call fcn.00418c37
mov edi, dword [esp + 0x94]
mov eax, dword [esp + 0xbc]
test al, al
je 0x442e30
call fcn.00417e27
mov eax, dword [esp + 0xbc]
cmp byte [esi + 0x2d20], 0
je 0x442e50
test al, al
jne 0x442e50
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x80]
push edi
call fcn.0041f247
add esp, 4
movss xmm0, dword [esp + 0x108]
comiss xmm0, dword [0x10081bcc]
jbe 0x442eb7
movss xmm0, dword [esp + 0xac]
xor edx, edx
addss xmm0, dword [esi + 0x1568]
mov ecx, dword [esp + 0x100]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0xa8]
addss xmm0, dword [esi + 0x1554]
movss dword [esp + 0x84], xmm0
push dword [esp + 0x84]
push dword [esp + 0x84]
push 1
call fcn.0040ced7
add esp, 0xc
mov cl, byte [esp + 0x35]
test cl, cl
je 0x442f19
test dword [ebp + 0x14], 0x200000
jne 0x442f19
mov esi, dword [0x10087770]
mov eax, dword [esi + 0x19d0]
cmp eax, dword [esp + 0x50]
je 0x442f03
test eax, eax
je 0x442f03
cmp byte [esi + 0x1d18], 0
jne 0x442f03
push 0xb12
push 0x10054490
push 0x10054658
call dword [0x10054230]
mov cl, byte [esp + 0x41]
add esp, 0xc
mov eax, dword [esi + 0x19ac]
mov word [esi + 0x19df], 0x101
or dword [eax + 0x10c], 4
test byte [ebp + 0x14], 0x20
movzx eax, cl
movzx ecx, byte [esp + 0x36]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret
mov esi, ecx
jmp 0x442d54