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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x465040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x465c04]
mov ebx, esi
mov dword [ebp - 0xb4], eax
push edi
mov dword [ebp - 0x138], ecx
mov eax, dword [ebx + 0x1b9c]
mov dword [ebp - 0xac], ebx
mov byte [eax + 0x8c], 1
mov edi, dword [ebx + 0x1b9c]
mov dword [ebp - 0xc8], edi
cmp byte [edi + 0x8f], 0
jne 0x446c85
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x1a
mov dword [ebp - 0xd8], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xb8], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x134], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0xf4], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x104], eax
test dl, dl
je 0x4469fe
call fcn.004280f0
mov esi, dword [0x465c04]
mov ecx, dword [edi + 0xc4]
xor edx, edx
mov eax, dword [edi + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x138]
call fcn.0041c240
add esp, 4
mov dword [ebp - 0xcc], eax
cmp dword [esi + 0x1bd4], eax
jne 0x446a32
mov dword [esi + 0x1bd8], eax
cmp dword [esi + 0x1c0c], eax
jne 0x446a41
mov byte [esi + 0x1c10], 1
mov eax, dword [ebp - 0x138]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x446a66
nop
mov dl, byte [ecx]
test dl, dl
je 0x446a66
cmp dl, 0x23
jne 0x446a60
cmp byte [ecx + 1], dl
je 0x446a66
inc ecx
cmp ecx, 0xffffffff
jb 0x446a50
movss xmm0, dword [0x460020]
movss xmm4, dword [esi + 0x1930]
movss dword [ebp - 0x12c], xmm0
cmp eax, ecx
jne 0x446a8f
xorps xmm1, xmm1
movss dword [ebp - 0x140], xmm1
jmp 0x446ae1
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x192c]
lea eax, [ebp - 0xe8]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
movaps xmm2, xmm4
call fcn.0043cff0
movss xmm0, dword [ebp - 0xe8]
xorps xmm1, xmm1
addss xmm0, dword [0x45ff08]
movss xmm4, dword [ebp - 0xe4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x140], xmm0
cmp byte [ebp - 0xb8], 0
je 0x446afa
movss xmm4, dword [ebx + 0x1930]
mulss xmm4, dword [0x45ff98]
test byte [esi + 0x1c80], 1
mov eax, dword [esi + 0x1b9c]
je 0x446b13
movss xmm0, dword [esi + 0x1c84]
jmp 0x446b1b
movss xmm0, dword [eax + 0x1b0]
comiss xmm1, xmm0
jbe 0x446b5a
cmp dword [eax + 0x198], 0
movss xmm1, dword [eax + 0x248]
jne 0x446b3a
cmp dword [esi + 0x1ed4], 0
je 0x446b42
movss xmm1, dword [eax + 0x218]
subss xmm1, dword [eax + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x45ff10]
maxss xmm0, xmm1
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0xe8]
movss xmm1, dword [ebx + 0x1554]
movaps xmm2, xmm1
addss xmm2, xmm1
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm0
addss xmm2, xmm4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.00428010
movss xmm1, dword [ebp - 0x140]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x446bab
movaps xmm2, xmm1
addss xmm2, dword [ebx + 0x1568]
jmp 0x446bae
xorps xmm2, xmm2
cmp byte [ebp - 0xb8], 0
movss xmm4, dword [edi + 0xd4]
movss xmm5, dword [ebp - 0xe8]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xe4]
movss xmm3, dword [edi + 0xd0]
addss xmm2, xmm5
movaps xmm1, xmm3
movss dword [ebp - 0x118], xmm5
addss xmm1, xmm5
movss dword [ebp - 0x44], xmm3
movss dword [ebp - 0x40], xmm4
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0xe4]
addss xmm2, xmm3
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x10], xmm4
mov dword [ebp - 0xf0], edi
movss dword [ebp - 8], xmm0
movss dword [ebp - 0xc], xmm2
je 0x446e4a
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x44]
push 1
push eax
lea ecx, [ebp - 0x14]
call fcn.00427cb0
add esp, 8
test al, al
jne 0x446c98
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0xe8]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [ebx + 0x1554]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0xe4], xmm0
call fcn.00427b80
call fcn.00428220
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00455452
mov esp, ebp
pop ebp
ret
mov esi, dword [0x465c04]
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], 3
movups xmm0, xmmword [esi + 0x160c]
lea ecx, [esi + 0x1c94]
movups xmmword [ebp - 0x2c], xmm0
call fcn.0042e220
movups xmm0, xmmword [ebx + 0x164c]
lea eax, [ebp - 0x128]
mov dword [ebp - 0x128], 6
push eax
movups xmmword [esi + 0x160c], xmm0
mov esi, dword [0x465c04]
movss xmm0, dword [ebx + 0x1558]
movss dword [ebp - 0xc0], xmm0
movss xmm0, dword [esi + 0x1540]
lea ecx, [esi + 0x1ca0]
movss dword [ebp - 0x124], xmm0
call fcn.0042e160
movss xmm0, dword [ebp - 0xc0]
lea eax, [ebp - 0x128]
movss dword [esi + 0x1540], xmm0
mov esi, dword [0x465c04]
movss xmm0, dword [ebx + 0x155c]
movss dword [ebp - 0xc0], xmm0
push eax
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1ca0]
mov dword [ebp - 0x128], 7
movss dword [ebp - 0x124], xmm0
call fcn.0042e160
movss xmm0, dword [ebp - 0xc0]
lea eax, [ebp - 0x124]
mov edx, dword [ebp - 0xcc]
sub esp, 8
mov ecx, dword [ebp - 0x138]
movss dword [esi + 0x1544], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [ebp - 0x44]
push eax
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x120], xmm0
call fcn.00422570
add esp, 0xc
mov ecx, 2
mov bl, al
call fcn.0041cd20
mov ecx, 1
call fcn.0041ccd0
test bl, bl
jne 0x446dd7
call fcn.00422740
jmp 0x446c80
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebx + 0x1b9c]
mov dword [ebp - 0xf0], esi
movsx ecx, word [esi + 0x14a]
mov eax, dword [esi + 0x144]
bts ecx, eax
movss xmm0, dword [esi + 0xd0]
mov word [esi + 0x14a], cx
addss xmm0, dword [ebx + 0x1550]
movss dword [esi + 0xd0], xmm0
movss xmm0, dword [ebx + 0x1554]
addss xmm0, dword [esi + 0xd4]
movss dword [esi + 0xd4], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [esi + 0x80]
movss dword [ebp - 0x118], xmm0
jmp 0x446e9d
movss xmm1, dword [ebx + 0x1554]
subss xmm2, xmm3
subss xmm0, xmm4
lea ecx, [ebp - 0x124]
movss dword [ebp - 0x124], xmm2
movss dword [ebp - 0x120], xmm0
call fcn.00427b80
test dword [ebp + 0x14], 0x10000000
jne 0x446e9d
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x44]
push 1
push eax
lea ecx, [ebp - 0x14]
call fcn.00427cb0
add esp, 8
test al, al
je 0x446c85
mov edx, dword [ebp - 0xcc]
lea ecx, [ebp - 0x44]
call fcn.0041e840
mov dl, al
mov byte [ebp - 0xdd], dl
test dl, dl
je 0x446ec1
mov dword [ebx + 0x1e40], 1
mov ebx, dword [0x465c04]
xor ecx, ecx
mov eax, dword [ebp - 0xcc]
add ebx, 0x1f64
cmp dword [ebx], eax
mov eax, dword [edi + 0x120]
cmovne ebx, ecx
mov ecx, eax
shr eax, 9
shr ecx, 8
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x108], ecx
test dl, dl
je 0x446f1f
cmp byte [eax + 0x3d8], 0
mov byte [ebp - 0xa7], 1
jne 0x446f26
mov byte [ebp - 0xa7], 0
mov esi, dword [eax + 0x1bd4]
mov ecx, dword [ebp - 0xcc]
cmp esi, ecx
je 0x446f58
cmp dword [eax + 0x1d18], ecx
je 0x446f4f
cmp dword [eax + 0x1d0c], ecx
jne 0x446f58
cmp dword [eax + 0x1d30], 2
jne 0x446f58
mov byte [ebp - 0xa6], 1
jmp 0x446f5f
mov byte [ebp - 0xa6], 0
mov eax, dword [ebp - 0xb8]
test al, al
je 0x446fb3
test ebx, ebx
je 0x446fb3
test esi, esi
jne 0x446fb3
mov eax, dword [ebp - 0xf0]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.0041c240
mov ecx, dword [ebp - 0xac]
add esp, 4
cmp dword [ecx + 0x1c0c], eax
jne 0x446fad
mov byte [ebp - 0xa8], 1
jmp 0x446fc9
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 0xa8], 0
test al, al
je 0x446ff6
mov byte [ebp - 0xa8], 0
test ebx, ebx
je 0x446ff6
mov eax, dword [ebp - 0xf0]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.0041c240
add esp, 4
cmp esi, eax
jne 0x446ff6
mov cl, 1
jmp 0x446ff8
xor cl, cl
mov dl, byte [ebp - 0xa6]
mov byte [ebp - 0xae], cl
mov byte [ebp - 0xd1], 0
cmp esi, dword [ebp - 0xcc]
je 0x447030
test byte [ebp + 0x14], 0x10
jne 0x44701d
test dl, dl
je 0x447030
mov eax, dword [ebp - 0xb8]
test al, al
jne 0x447036
mov byte [ebp - 0xdc], 1
jmp 0x44705a
mov eax, dword [ebp - 0xb8]
mov byte [ebp - 0xdc], 0
test al, al
je 0x44705a
mov eax, dword [ebp - 0xf0]
movss xmm0, dword [eax + 0x5c]
mov eax, dword [ebp - 0xb8]
movss dword [ebp - 0x12c], xmm0
test ebx, ebx
je 0x447069
xor al, 1
cmp byte [ebx + 0x53], al
je 0x447069
mov al, 1
jmp 0x44706b
xor al, al
cmp byte [ebp - 0xa7], 0
mov byte [ebp - 0xc1], al
jne 0x4470a9
cmp byte [ebp - 0xa8], 0
jne 0x4470a9
test dl, dl
jne 0x4470a9
cmp byte [ebp - 0x108], dl
jne 0x4470a9
cmp byte [ebp - 0x100], dl
jne 0x4470a9
mov byte [ebp - 0xa8], dl
test cl, cl
jne 0x4470b0
mov byte [ebp - 0xad], cl
jmp 0x4470bf
mov byte [ebp - 0xa8], 1
mov byte [ebp - 0xad], 1
cmp esi, dword [ebp - 0xcc]
jne 0x4470c7
test al, al
je 0x44731a
mov ebx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb4]
add ebx, 0x1f64
mov dword [ebp - 0x130], ebx
mov dword [ebx + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4470f0
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x44712f
test edi, edi
je 0x447117
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x44711c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.0042e5d0
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xb4]
mov dword [eax], esi
push dword [ebx + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edi
add esp, 0xc
cmp edi, esi
jle 0x44717a
test esi, esi
je 0x447162
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x447167
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.0042e640
lea eax, [ebx + 0xc]
mov dword [eax], edi
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x44719c
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, [ebx + 0x18]
call fcn.0042e5d0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xb4]
dec eax
mov dword [ebx + 0x18], 0
mov edi, edx
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xd0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x447205
cmp byte [edi], 0
je 0x4471ff
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
mov ecx, dword [ebp - 0xd0]
add edi, eax
mov eax, dword [ebp - 0xc0]
add esp, 4
test eax, eax
je 0x4471ff
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x4471c5
mov edx, dword [ebp - 0xb4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xcc]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x447256
cmp byte [ebp - 0xc1], 0
jne 0x447256
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov ecx, dword [ebp - 0xb8]
mov dword [ebx + 0x44], esi
jmp 0x4472dc
mov ecx, dword [ebp - 0xb8]
mov dword [ebx], eax
mov al, cl
xor al, 1
mov dword [ebx + 0x38], 0
mov dword [ebx + 0xe5a], 0x630000
mov dword [ebx + 0xe60], 0
mov dword [ebx + 0xe64], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov word [ebx + 0x51], 1
mov dword [ebx + 0x58], 0
mov byte [ebx + 0x50], 0
mov byte [ebx + 0x53], al
mov byte [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
test cl, cl
jne 0x4472dc
mov edx, dword [ebp - 0xdc]
mov eax, 1
cmp byte [ebp - 0x108], cl
movzx edx, dl
cmovne edx, eax
mov dword [ebp - 0xdc], edx
mov edx, dword [ebp + 0x14]
test edx, 0x2000
je 0x4472eb
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x447314
cmp byte [ebp - 0x100], cl
jne 0x44730d
cmp byte [ebp - 0xa7], cl
je 0x447314
mov eax, dword [ebp - 0xac]
cmp byte [eax + 0xfc], cl
je 0x447314
mov byte [ebp - 0xdc], 1
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xac]
mov esi, dword [ebp - 0xcc]
cmp dword [eax + 0x1bd4], esi
je 0x4473d7
cmp byte [ebp - 0xa8], 0
je 0x4473d7
mov edx, edi
mov ecx, esi
call fcn.0041e5f0
call fcn.00429770
mov ecx, edi
call fcn.004273e0
mov edi, dword [ebp - 0xac]
mov edx, dword [ebp + 0x14]
mov eax, dword [edi + 0x1be8]
or eax, 3
cmp byte [ebp - 0xb8], 0
mov dword [edi + 0x1be8], eax
jne 0x447379
test dl, dl
jns 0x447382
or eax, 0xc
mov dword [edi + 0x1be8], eax
mov eax, dword [edi + 0x1bf0]
or dword [edi + 0x1bec], 2
or eax, 0x180
cmp byte [ebp - 0xb8], 0
mov ecx, dword [edi + 0x1bf4]
mov dword [edi + 0x1bf0], eax
mov dword [edi + 0x1bf4], ecx
je 0x4473be
or eax, 0x60
mov dword [edi + 0x1bf4], ecx
mov dword [edi + 0x1bf0], eax
test edx, 0x440
je 0x4473d9
or eax, 1
mov dword [edi + 0x1bf4], ecx
mov dword [edi + 0x1bf0], eax
jmp 0x4473d9
mov edi, eax
cmp dword [edi + 0x1bd4], esi
jne 0x447418
test ebx, ebx
jne 0x4473ea
call fcn.0041e6c0
cmp dword [edi + 0x1bd4], esi
jne 0x447418
cmp byte [edi + 0x3d8], 0
je 0x447425
cmp byte [ebp - 0xad], 0
jne 0x447425
cmp byte [ebp - 0xa8], 0
jne 0x447425
mov byte [ebp - 0xd1], 1
mov cl, 1
jmp 0x44742b
test ebx, ebx
je 0x447429
cmp byte [ebp - 0xae], 0
je 0x447429
mov cl, 1
jmp 0x44742b
xor cl, cl
mov byte [ebp - 0xaf], cl
test ebx, ebx
je 0x447448
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x447448
test cl, cl
je 0x447448
mov edx, 1
jmp 0x44744a
xor dl, dl
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x11c], edx
mov byte [ebp - 0xde], dl
mov byte [ebp - 0xf6], 0
mov byte [ebp - 0xc1], 0
test al, al
je 0x44757e
test ebx, ebx
je 0x44757e
test cl, cl
jne 0x447486
test dl, dl
je 0x447586
mov esi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov edi, dword [eax + 4]
inc esi
cmp esi, edi
jle 0x4474bd
test edi, edi
je 0x4474a5
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x4474aa
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.0042e640
lea eax, [ebx + 0xc]
mov edx, dword [ebp - 0xb4]
mov edi, edx
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x44751f
nop dword [eax]
cmp byte [edi], 0
je 0x447519
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
mov ecx, dword [ebp - 0xd0]
add edi, eax
mov eax, dword [ebp - 0xc0]
add esp, 4
test eax, eax
je 0x447519
mov edx, dword [ebp + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x4474e0
mov edx, dword [ebp - 0xb4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
movzx eax, byte [ebp - 0xde]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 8], edi
cmovl esi, dword [ebx + 0x44]
xor edx, edx
mov edi, dword [ebp - 0xac]
cmp ecx, esi
mov dword [ebx + 0x40], ecx
mov cl, byte [ebp - 0xaf]
cmovne edx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0x11c], edx
test cl, cl
jne 0x44758e
test dl, dl
jne 0x44758e
cmp dword [edi + 0x1bd4], esi
jne 0x4475a2
test al, al
jne 0x4475a2
test ebx, ebx
je 0x4475a2
mov byte [ebp - 0xde], 1
cmp byte [ebx + 0x30], al
jne 0x4475a9
mov byte [ebp - 0xde], 0
cmp byte [ebp - 0x134], 0
je 0x44762c
mov edx, dword [edi + 0x192c]
cmp dword [edx + 0x14], 0x2a
ja 0x4475c3
mov esi, dword [edx + 0x2c]
jmp 0x4475e2
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x4475d9
mov esi, dword [edx + 0x2c]
jmp 0x4475e2
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
lea ecx, [edi + 0x2de0]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x192c]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x192c]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x192c]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x192c]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x2c], esi
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
call fcn.00427620
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x108], 0
cmp dword [edi + 0x1bd4], eax
jne 0x447a45
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 0x14]
mov byte [ebx + 0xe6e], 0
mov dword [ebx + 0xe70], edx
mov dword [ebx + 0xe74], 0
mov dword [ebx + 0xe78], 0
mov dword [ebp - 0x108], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
cmp byte [edi + 0xec], 0
mov dword [edi + 0x3160], 1
sete al
cmp byte [ebp - 0xb8], 0
mov byte [edi + 0x1be1], al
movss xmm7, dword [edi + 0xe4]
subss xmm7, dword [ebp - 0x44]
subss xmm7, dword [edi + 0x1550]
addss xmm7, dword [ebx + 0x38]
je 0x4476d0
mov eax, dword [ebp - 0xf0]
movss xmm2, dword [edi + 0xe8]
subss xmm2, dword [eax + 0xd4]
jmp 0x4476e0
movss xmm2, dword [edi + 0x1930]
mulss xmm2, dword [0x45fed0]
cmp byte [ebp - 0xdc], 0
mov al, byte [edi + 0xb1]
mov byte [ebp - 0xa7], al
jne 0x44785c
mov cl, byte [ebp - 0xdd]
test cl, cl
je 0x447713
test al, al
jne 0x447778
cmp byte [edi + 0x3dd], al
jne 0x44785c
cmp byte [edi + 0x3d8], 0
je 0x4477cf
cmp byte [ebx + 0xe6d], 0
jne 0x4477cf
test cl, cl
je 0x44787d
cmp byte [ebx + 0x53], 0
je 0x44774f
push 0
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.00444ef0
movss xmm2, dword [ebp - 0x28]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00445240
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x52], 0
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x447877
cmp byte [edi + 0x3dd], 0
je 0x447713
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x60000d
call fcn.00445630
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x447877
cmp byte [edi + 0xec], 0
je 0x44787d
cmp byte [ebx + 0xe6d], 0
jne 0x447886
movss xmm0, dword [edi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x44780e
movss xmm0, dword [edi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x44787d
cmp byte [ebx + 0x53], 0
je 0x447828
push 0
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.00444ef0
movss xmm2, dword [ebp - 0x28]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x447836
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00445240
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov byte [ebx + 0xe6c], 1
jmp 0x447877
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
mov byte [ebx + 0xe6d], 1
mov al, byte [ebp - 0xa7]
cmp byte [ebx + 0xe6d], 0
je 0x447896
cmp byte [edi + 0xec], 0
jne 0x447896
mov byte [ebx + 0xe6d], 0
cmp byte [edi + 0xfc], 0
je 0x4478a8
cmp byte [edi + 0xfe], 0
je 0x4478b5
test al, al
je 0x4478be
cmp byte [edi + 0xff], 0
je 0x4478be
mov byte [ebp - 0xa5], 1
jmp 0x4478c5
mov byte [ebp - 0xa5], 0
test edx, 0x400
je 0x447ada
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x447ada
call fcn.00422450
mov ecx, dword [ebp - 0xd8]
test al, al
mov al, byte [ebp - 0xa5]
je 0x447985
test al, al
jne 0x447985
cmp byte [edi + 0xfd], al
jne 0x447985
test cl, cl
jne 0x447985
mov ecx, dword [edi + 0x1510]
mov eax, dword [edi + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x447931
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x447979
cmp ecx, edx
jb 0x447921
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xd0]
push 2
sub esp, 8
mov dword [ebp - 0xd0], 9
call fcn.00446770
add esp, 0xc
test al, al
je 0x447979
push dword [ebp - 0xd0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0xd8]
mov al, byte [ebp - 0xa5]
mov edx, dword [ebp + 0x14]
cmp dword [edi + 0x1508], 0
jle 0x447a45
test al, al
jne 0x447a15
test cl, cl
jne 0x447a15
cmp byte [ebp - 0xa6], cl
jne 0x447a15
xor esi, esi
nop dword [eax + eax]
mov eax, dword [edi + 0x1510]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xd0], eax
cmp eax, 9
jne 0x4479ce
cmp byte [edi + 0xfd], 0
jne 0x447a09
push 2
sub esp, 8
lea ecx, [ebp - 0xd0]
call fcn.00446770
add esp, 0xc
test al, al
je 0x447a09
push dword [ebp - 0xd0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi + 0x1508]
jl 0x4479b0
mov ecx, dword [edi + 0x150c]
test ecx, ecx
jns 0x447a3b
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 + 0x1508]
call fcn.0042e640
mov dword [edi + 0x1508], 0
mov esi, dword [ebp - 0xcc]
xor cl, cl
mov byte [ebp - 0xa5], cl
cmp dword [edi + 0x1bd4], esi
jne 0x448cc0
cmp byte [edi + 0x1be0], cl
jne 0x44859f
cmp byte [ebp - 0xd1], cl
jne 0x44859f
movss xmm0, dword [ebp - 0xe4]
mov ecx, 1
subss xmm0, dword [edi + 0x1554]
divss xmm0, dword [edi + 0x1930]
cvttss2si eax, xmm0
cmp eax, 1
cmovge ecx, eax
xor esi, esi
mov dword [ebx + 0x4c], ecx
mov eax, 0x400000
cmp byte [edi + 0xfd], 0
mov dword [ebp - 0xd0], ecx
cmovne esi, eax
mov al, byte [edi + 0xb1]
mov byte [ebp - 0xf7], al
test al, al
je 0x447aeb
cmp dword [edi + 0x37c], 0xa
jne 0x447aeb
mov byte [ebp - 0xae], 1
jmp 0x447af6
mov al, byte [ebp - 0xa5]
mov ecx, dword [ebp - 0xd8]
jmp 0x447988
mov byte [ebp - 0xae], 0
test al, al
je 0x447b21
cmp byte [edi + 0xff], 0
mov al, byte [edi + 0xfe]
mov byte [ebp - 0xa8], al
je 0x447b34
cmp byte [edi + 0xfc], 0
jne 0x447b34
test al, al
jne 0x447b34
mov byte [ebp - 0xa7], 1
jmp 0x447b3b
mov al, byte [edi + 0xfc]
mov byte [ebp - 0xa8], al
mov byte [ebp - 0xae], 0
mov byte [ebp - 0xa7], 0
mov eax, dword [ebp - 0xac]
mov edi, dword [edi + 0x37c]
cmp byte [eax + 0xb1], 0
je 0x447b55
cmp edi, 8
jmp 0x447b58
cmp edi, 1
sete al
mov byte [ebp - 0xa6], al
test al, al
je 0x447b7d
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x447b7d
call fcn.00422450
test al, al
jne 0x447b97
cmp edi, 2
jne 0x447bc3
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x447bc3
call fcn.00422450
test al, al
je 0x447bc3
cmp byte [ebp - 0xd8], 0
jne 0x447bc3
cmp byte [ebp - 0x134], 0
jne 0x447bc3
cmp byte [ebp - 0xb8], 0
je 0x447bba
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x447bc3
mov byte [ebp - 0xad], 1
jmp 0x447bca
mov byte [ebp - 0xad], 0
cmp byte [ebp - 0xa6], 0
je 0x447be8
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x447be8
call fcn.00422450
test al, al
jne 0x447c02
cmp edi, 1
jne 0x447c25
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x447c25
call fcn.00422450
test al, al
je 0x447c25
cmp byte [ebp - 0x134], 0
jne 0x447c25
cmp byte [ebp - 0xb8], 0
je 0x447c1c
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x447c25
mov byte [ebp - 0xf5], 1
jmp 0x447c2c
mov byte [ebp - 0xf5], 0
cmp byte [ebp - 0xa6], 0
je 0x447c4a
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x447c4a
call fcn.00422450
test al, al
jne 0x447c64
cmp edi, 2
jne 0x447c74
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x447c74
call fcn.00422450
test al, al
je 0x447c74
cmp byte [ebp - 0xd8], 0
mov byte [ebp - 0xdd], 1
je 0x447c7b
mov byte [ebp - 0xdd], 0
mov dl, byte [ebp - 0xa6]
test dl, dl
je 0x447cbe
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x447cbe
call fcn.00422450
test al, al
je 0x447cb8
cmp byte [ebp - 0xd8], 0
jne 0x447cb8
cmp byte [ebp - 0xf4], 0
je 0x447cb8
mov byte [ebp - 0xe9], 1
jmp 0x447cc9
mov dl, byte [ebp - 0xa6]
mov byte [ebp - 0xe9], 0
test dl, dl
je 0x447ce1
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x447ce1
call fcn.00422450
test al, al
jne 0x447d02
cmp byte [ebp - 0xae], 0
je 0x447d1b
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x447d1b
call fcn.00422450
test al, al
je 0x447d1b
cmp byte [ebp - 0xd8], 0
jne 0x447d1b
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xae], 1
jne 0x447d22
mov byte [ebp - 0xae], 0
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x447d7d
call fcn.00422450
test al, al
je 0x447d7d
cmp byte [ebp - 0xa7], 0
je 0x447d57
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.00445630
jmp 0x448554
cmp byte [ebp - 0xa8], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.00445630
jmp 0x448554
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x447dd8
call fcn.00422450
test al, al
je 0x447dd8
cmp byte [ebp - 0xa7], 0
je 0x447db2
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.00445630
jmp 0x448554
cmp byte [ebp - 0xa8], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.00445630
jmp 0x448554
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x447e74
call fcn.00422450
test al, al
je 0x447e74
cmp byte [ebp - 0xb8], 0
je 0x447e74
mov edi, dword [ebp - 0xac]
cmp byte [edi + 0xfc], 0
je 0x447e40
mov edx, dword [ebp - 0xf0]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [edi + 0x1930]
mov dword [edx + 0x74], 0
mov dword [edx + 0x7c], 0
maxss xmm0, dword [0x45fe6c]
movss dword [edx + 0x6c], xmm0
jmp 0x44856e
movzx eax, byte [ebp - 0xa7]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x44856e
mov edi, dword [0x465c04]
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x447ef8
call fcn.00422450
test al, al
je 0x447ef8
cmp byte [ebp - 0xb8], 0
je 0x447ef8
mov eax, dword [ebp - 0xac]
cmp byte [eax + 0xfc], 0
je 0x447ed8
mov ecx, dword [ebp - 0xf0]
movss xmm0, dword [eax + 0x1930]
mov eax, dword [edi + 0x1b9c]
addss xmm0, dword [ecx + 0x5c]
minss xmm0, dword [eax + 0x64]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x6c], xmm0
jmp 0x448568
movzx eax, byte [ebp - 0xa7]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.00445630
jmp 0x448554
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x447f6d
call fcn.00422450
test al, al
je 0x447f6d
cmp byte [ebp - 0xb8], 0
je 0x447f6d
or esi, 0x20000e
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00445630
movd xmm0, dword [ebp - 0xd0]
add esp, 4
mov edi, dword [ebp - 0xac]
movss xmm1, dword [ebp - 0x12c]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x1930]
subss xmm1, xmm0
movss dword [ebp - 0x12c], xmm1
jmp 0x44856e
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x447fde
call fcn.00422450
test al, al
je 0x447fde
cmp byte [ebp - 0xb8], 0
je 0x447fde
or esi, 0x20000f
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00445630
movd xmm0, dword [ebp - 0xd0]
add esp, 4
mov edi, dword [ebp - 0xac]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x1930]
addss xmm0, dword [ebp - 0x12c]
movss dword [ebp - 0x12c], xmm0
jmp 0x44856e
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x448034
call fcn.00422450
test al, al
je 0x448034
mov eax, esi
or eax, 0x200006
or esi, 0x200004
mov edi, dword [ebp - 0xac]
cmp byte [edi + 0xfc], 0
cmovne esi, eax
push esi
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x44856e
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x448058
call fcn.00422450
test al, al
je 0x448058
mov eax, esi
or eax, 0x200007
or esi, 0x200005
jmp 0x448000
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x44808c
call fcn.00422450
test al, al
je 0x44808c
cmp byte [ebp - 0xd8], 0
jne 0x44808c
or esi, 0x200008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00445630
jmp 0x448554
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x448153
call fcn.00422450
test al, al
je 0x448153
cmp byte [ebp - 0xd8], 0
jne 0x448153
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x4480ea
cmp byte [ebp - 0xa8], 0
je 0x4480fb
push 0x60000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov edi, dword [ebp - 0xac]
or esi, 0x200009
jmp 0x448010
cmp byte [ebp - 0xf7], 0
je 0x4480ea
mov edi, dword [ebp - 0xac]
cmp byte [edi + 0xff], 0
je 0x4480f0
cmp byte [edi + 0xfe], 0
jne 0x4480f0
cmp byte [edi + 0xfc], 0
jne 0x4480f0
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00445630
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
or esi, 0x200009
jmp 0x448010
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x448168
call fcn.00422450
test al, al
jne 0x448181
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x4481fc
call fcn.00422450
test al, al
je 0x4481fc
mov edx, dword [ebp + 0x14]
mov eax, edx
mov edi, dword [ebp - 0xac]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xb8], 0
je 0x4481a8
mov cl, byte [edi + 0xfc]
test al, al
je 0x4481bb
test cl, cl
jne 0x4481bf
mov byte [ebp - 0xd1], 1
mov byte [ebp - 0xc1], 1
jmp 0x44856e
test cl, cl
jne 0x4481a8
cmp byte [ebp - 0xd8], 0
jne 0x44856e
push 2
sub esp, 8
mov dword [ebp - 0xd0], 0xa
lea ecx, [ebp - 0xd0]
call fcn.00446770
add esp, 0xc
test al, al
je 0x44856e
push dword [ebp - 0xd0]
jmp 0x448011
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x448224
call fcn.00422450
test al, al
je 0x448224
mov edi, dword [ebp - 0xac]
mov cl, 1
mov byte [ebp - 0xd1], cl
jmp 0x448574
mov al, byte [ebp - 0xe9]
test al, al
jne 0x448535
cmp byte [ebp - 0xae], al
jne 0x448535
cmp byte [ebp - 0xa6], al
je 0x448274
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x448274
call fcn.00422450
test al, al
je 0x448274
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
jmp 0x448561
mov al, byte [ebp - 0xad]
test al, al
jne 0x448421
cmp byte [ebp - 0xf5], al
jne 0x448421
cmp byte [ebp - 0xdd], al
je 0x448568
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x4482bf
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x4482c4
jmp 0x448568
mov esi, 0x45d665
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4482d0
mov eax, dword [0x465c04]
sub ecx, edx
test eax, eax
je 0x4482e8
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
xor edi, edi
cmp byte [esi], 0
je 0x448364
mov ebx, eax
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.0041c4c0
add esp, 4
add esi, eax
cmp dword [ebp - 0xbc], 0
je 0x448358
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xbc]
push 5
sub esp, 8
call fcn.00446770
add esp, 0xc
test al, al
je 0x448353
mov ax, word [ebp - 0xbc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x448310
mov ebx, dword [ebp - 0x130]
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x4483fd
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x448398
cmp ecx, eax
jle 0x448388
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x448391
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x448398
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x4483a0
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004455a0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0xc8]
call fcn.004450f0
add esp, 8
test al, al
je 0x4483dc
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x5c]
push edi
push 0
call fcn.00446480
add esp, 8
mov byte [ebx + 0x52], 0
add dword [ebx + 0x3c], edi
jmp 0x4483f0
movzx eax, word [ebx + 0xe5a]
test ax, ax
je 0x4483f0
dec eax
mov word [ebx + 0xe5a], ax
mov eax, dword [ebp - 0xc8]
mov byte [ebx + 0xe6c], 1
test eax, eax
je 0x448411
mov ecx, dword [0x465c04]
test ecx, ecx
je 0x448411
dec dword [ecx + 0x370]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x448568
mov edi, dword [ebp - 0xac]
cmp dword [edi + 0xd4], 0
je 0x4484f2
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x448448
mov ecx, edi
cmovge edi, eax
cmovl ecx, eax
jmp 0x44844d
mov edi, dword [ebx + 4]
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xd0], ecx
lea edx, [eax + edi*2]
lea ecx, [eax + ecx*2]
call fcn.0041c750
lea ecx, [eax + 1]
mov eax, dword [0x465c04]
mov dword [ebp - 0xc0], ecx
test eax, eax
je 0x448479
inc dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push ecx
call eax
mov esi, dword [ebx + 0x14]
add esp, 4
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x114], eax
lea ecx, [esi + edi*2]
push ecx
mov ecx, dword [ebp - 0xd0]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.0041c6e0
mov eax, dword [0x465c04]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x4484cd
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x465c04]
add esp, 8
test esi, esi
je 0x4484db
test eax, eax
je 0x4484db
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0xad]
add esp, 4
mov edi, dword [ebp - 0xac]
test al, al
je 0x44856e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x448516
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x52], 0
mov byte [ebx + 0xe6c], 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x44856e
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004455a0
mov byte [ebx + 0x52], 0
jmp 0x44856e
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.00445630
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
add esp, 4
mov dword [ebx + 0xe68], 0xbe99999a
mov byte [ebx + 0xe6c], 1
mov edi, dword [ebp - 0xac]
mov cl, byte [ebp - 0xa5]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x448589
cmp byte [ebp - 0xaf], 0
je 0x448589
mov al, 1
jmp 0x44858b
xor al, al
mov edx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0xcc]
or dl, al
mov dword [ebp - 0x11c], edx
cmp dword [edi + 0x1bd4], esi
jne 0x448cc0
xor eax, eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xdc], eax
test cl, cl
je 0x4487dc
cmp byte [ebp - 0xd8], al
jne 0x4487c4
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xb4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x448600
test dl, dl
je 0x4485fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x448600
add eax, 2
add ecx, 2
test dl, dl
jne 0x4485e0
xor eax, eax
jmp 0x448605
sbb eax, eax
or eax, 1
test eax, eax
je 0x4487c4
mov eax, dword [ebx + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xdc], eax
mov ecx, esi
mov dword [ebp - 0xc8], ecx
test eax, eax
jle 0x448737
lea edi, [eax + ecx]
xor eax, eax
mov dword [ebp - 0xbc], eax
test edi, edi
je 0x448642
cmp esi, edi
jae 0x44866c
cmp byte [esi], 0
je 0x44866c
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xbc]
je 0x44866c
inc eax
jmp 0x448634
lea edx, [eax + 1]
mov dword [ebp - 0xbc], edx
test edx, edx
jle 0x4486b1
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x4486b1
mov ecx, dword [0x465c04]
test ecx, ecx
je 0x448699
inc dword [ecx + 0x370]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [ebp - 0xbc]
add esp, 4
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xc8]
add ecx, esi
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xfc]
mov edi, ecx
lea eax, [ecx - 2]
lea eax, [eax + edx*2]
cmp ecx, eax
jae 0x44872c
mov ebx, dword [ebp - 0xc0]
nop dword [eax]
test ebx, ebx
je 0x4486e8
cmp esi, ebx
jae 0x448726
cmp byte [esi], 0
je 0x448726
push ebx
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
mov edx, dword [ebp - 0xbc]
add esi, eax
mov eax, dword [ebp - 0xc0]
add esp, 4
test eax, eax
je 0x448726
mov ecx, dword [ebp - 0xfc]
mov word [edi], ax
lea eax, [edx - 1]
add edi, 2
lea eax, [ecx + eax*2]
cmp edi, eax
jb 0x4486e0
mov ebx, dword [ebp - 0x130]
xor eax, eax
mov word [edi], ax
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebx + 4]
lea edi, [edx - 1]
xor ecx, ecx
test eax, eax
cmovle edi, ecx
lea ecx, [ebx + 0x5c]
push edi
push esi
xor edx, edx
call fcn.00446480
mov edx, eax
add esp, 8
test edx, edx
je 0x448770
xor ecx, ecx
test esi, esi
jle 0x448770
nop
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x448760
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00445090
add esp, 4
test edi, edi
jle 0x4487a1
push edi
push dword [ebp - 0xfc]
xor edx, edx
mov ecx, ebx
call fcn.004450f0
add esp, 8
test al, al
je 0x4487a1
mov dword [ebx + 0x3c], edi
mov byte [ebx + 0x52], 0
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x4487c4
mov eax, dword [0x465c04]
test eax, eax
je 0x4487ba
dec dword [eax + 0x370]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp byte [ebp - 0xc1], 0
mov eax, dword [ebp + 0x14]
je 0x448bb7
test al, 0x20
je 0x448bb7
cmp byte [ebp - 0xd8], 0
jne 0x44883a
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
mov edi, dword [ebx + 0x1c]
lea esi, [eax*4 + 1]
lea eax, [ebx + 0x18]
cmp esi, edi
jle 0x448826
test edi, edi
je 0x44880e
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x448813
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.0042e5d0
lea eax, [ebx + 0x18]
mov dword [eax], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.0041c6e0
add esp, 8
mov edx, dword [ebp + 0x14]
test edx, 0x801c0
je 0x448b68
xor esi, esi
lea edi, [esi + 0x16]
test dl, 0x40
je 0x448872
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x448872
call fcn.00422450
mov edx, dword [ebp + 0x14]
test al, al
je 0x448872
lea esi, [edi + 0x2a]
xor edi, edi
jmp 0x4488e0
test dl, dl
jns 0x4488ba
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x448898
call fcn.00422450
mov edx, dword [ebp + 0x14]
test al, al
je 0x448898
mov esi, 0x80
lea edi, [esi - 0x7d]
jmp 0x4488e0
mov eax, dword [0x465c04]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x4488ba
call fcn.00422450
mov edx, dword [ebp + 0x14]
test al, al
je 0x4488ba
mov esi, 0x80
lea edi, [esi - 0x7c]
jmp 0x4488e0
test edx, 0x80000
je 0x4488d2
cmp byte [ebx + 0xe6e], 0
je 0x4488d2
mov esi, 0x80000
jmp 0x4488e0
test edx, 0x100
mov eax, pe_nt_image_headers32
cmovne esi, eax
test esi, esi
je 0x448b68
xor eax, eax
mov dword [ebp - 0x74], esi
mov esi, dword [ebx + 0x14]
mov ecx, esi
mov word [ebp - 0x53], ax
mov byte [ebp - 0x51], al
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], edi
lea edx, [esi + eax*2]
mov byte [ebp - 0x54], 0
call fcn.0041c750
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x50], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.0041c750
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x4c], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.0041c750
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x74]
push eax
xor eax, eax
call eax
mov dl, byte [ebp - 0x54]
add esp, 4
mov eax, dword [ebp - 0x50]
mov byte [ebp - 0xad], dl
cmp eax, edi
jne 0x44897a
test dl, dl
je 0x4489cd
mov esi, dword [ebp - 0x60]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xbc], eax
test edi, edi
je 0x448990
cmp esi, edi
jae 0x4489ba
cmp byte [esi], 0
je 0x4489ba
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xbc]
je 0x4489ba
inc eax
jmp 0x448982
mov dl, byte [ebp - 0xad]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x50]
mov byte [ebx + 0xe6c], 1
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x114]
jne 0x4489dc
test dl, dl
je 0x448a31
cmp ecx, eax
jne 0x4489e5
mov eax, dword [ebx + 0x3c]
jmp 0x448a28
mov esi, dword [ebp - 0x60]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xbc], eax
test edi, edi
je 0x4489fb
cmp esi, edi
jae 0x448a25
cmp byte [esi], 0
je 0x448a25
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xbc]
je 0x448a25
inc eax
jmp 0x4489ed
mov ecx, dword [ebp - 0x4c]
mov dl, byte [ebp - 0xad]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x10c]
jne 0x448a44
test dl, dl
je 0x448b68
cmp eax, ecx
jne 0x448a98
mov eax, dword [ebx + 0x40]
cmp byte [ebp - 0xad], 0
mov dword [ebx + 0x44], eax
je 0x448b68
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x108]
cmp esi, ecx
jle 0x448af6
cmp byte [ebp - 0x104], 0
je 0x448af6
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x448af4
test edi, edi
je 0x448adc
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x448ae1
mov esi, dword [ebp - 0x60]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xbc], eax
test edi, edi
je 0x448aae
cmp esi, edi
jae 0x448a4b
cmp byte [esi], 0
je 0x448a4b
push edi
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
add esi, eax
add esp, 4
cmp dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xbc]
je 0x448a4b
inc eax
jmp 0x448aa0
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.0042e640
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x60]
dec eax
mov dword [ebp - 0x10c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x114], eax
cmp ecx, eax
jae 0x448b4c
cmp byte [edi], 0
je 0x448b46
push 0
mov edx, edi
lea ecx, [ebp - 0xc0]
call fcn.0041c4c0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x448b46
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0x114]
jb 0x448b15
mov ecx, dword [ebp - 0x10c]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x5c]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe68], 0xbe99999a
cmp byte [ebp - 0xd8], 0
mov edi, dword [ebp - 0xb4]
jne 0x448bbf
mov esi, dword [ebx + 0x20]
mov ecx, edi
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x448ba0
test dl, dl
je 0x448b9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x448ba0
add eax, 2
add ecx, 2
test dl, dl
jne 0x448b80
xor eax, eax
jmp 0x448ba5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x448bc2
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xc8], esi
jmp 0x448bc8
mov edi, dword [ebp - 0xb4]
jmp 0x448bc2
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xc8]
test edx, edx
je 0x448c96
cmp byte [ebp - 0x104], 0
je 0x448c69
mov dword [ebp - 0xa0], eax
xorps xmm0, xmm0
lea eax, [ecx + 1]
movlpd qword [ebp - 0x98], xmm0
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x84], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xa4]
push eax
xor eax, eax
movlpd qword [ebp - 0x7c], xmm0
mov dword [ebp - 0xa4], 0x40000
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x9c], 0
call eax
mov esi, dword [ebp - 0x88]
add esp, 4
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xb4], edi
lea ecx, [esi - 1]
cmp dword [ebp - 0x8c], ecx
cmovl ecx, dword [ebp - 0x8c]
jmp 0x448c6c
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x448c8f
jbe 0x448c8a
lea eax, [esi - 1]
push eax
push edx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], 0
mov byte [ebp - 0xf6], 1
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0xcc]
mov dword [ebx + 0xe70], 0
mov dword [ebx + 0xe74], 0
mov dword [ebx + 0xe78], 0
cmp byte [ebp - 0xd1], 0
je 0x448cd6
cmp dword [edi + 0x1bd4], esi
jne 0x448cd6
call fcn.0041e6c0
mov edx, dword [ebp - 0xb8]
test dl, dl
jne 0x448d9e
push 1
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.0041d950
movss xmm1, dword [0x45ff10]
add esp, 4
mov ecx, 7
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
call fcn.0041cb20
movss xmm2, dword [edi + 0x1558]
mov dl, 1
mov ecx, eax
call fcn.0041d740
movss xmm7, dword [ebp - 0x44]
add esp, 0x10
movss xmm3, dword [ebp - 0x40]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x1550]
movss xmm6, dword [ebp - 0x118]
movaps xmm2, xmm7
mov edx, dword [ebp - 0xb8]
addss xmm2, xmm6
movaps xmm1, xmm3
movss dword [ebp - 0x2c], xmm7
addss xmm1, dword [ebp - 0xe4]
movss dword [ebp - 0x124], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x1554]
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x114], xmm2
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0xbc], xmm2
movss dword [ebp - 0x120], xmm0
movss dword [ebp - 0x118], xmm1
jmp 0x448e0d
movss xmm0, dword [ebp - 0x44]
movss xmm1, dword [ebp - 0x40]
movaps xmm3, xmm0
movss xmm6, dword [ebp - 0x118]
movaps xmm2, xmm1
mov ecx, dword [ebp - 0xf0]
addss xmm3, xmm6
addss xmm2, dword [ebp - 0xe4]
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x28], xmm1
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
movaps xmm0, xmm3
movss dword [ebp - 0xbc], xmm3
movaps xmm1, xmm2
movss dword [ebp - 0x114], xmm0
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x118], xmm2
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
cmp byte [ebp - 0xde], 0
lea eax, [ebp - 0x124]
movss xmm5, dword [eax]
xorps xmm4, xmm4
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xfc], xmm5
movss dword [ebp - 0x1c], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0x18], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xf4], eax
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x100], xmm1
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0xd0], xmm5
je 0x448e6e
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xb4], eax
jmp 0x448e74
mov eax, dword [ebp - 0xb4]
cmp byte [ebp - 0xaf], 0
mov ecx, dword [ebp - 0x11c]
jne 0x44921c
test cl, cl
jne 0x44921c
test dl, dl
je 0x448eef
mov dl, byte [eax]
lea ebx, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x448eb2
nop
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x448ea0
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xcc], ebx
cmp al, 0xa
je 0x448ec5
cmp al, 0xd
je 0x448ec5
inc ecx
mov edx, dword [ebp - 0xcc]
movaps xmm0, xmm6
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x108], xmm0
mulss xmm5, dword [edi + 0x1930]
movss dword [ebp - 0xd0], xmm5
jmp 0x448f37
cmp dword [edi + 0x1bd4], esi
jne 0x448f04
mov edx, dword [ebx + 8]
mov ebx, dword [ebp - 0xb4]
add edx, eax
jmp 0x448f22
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448f10
mov ebx, dword [ebp - 0xb4]
sub ecx, edx
lea edx, [ebx + ecx]
mov eax, edx
mov dword [ebp - 0xcc], edx
sub eax, ebx
cmp eax, 0x200000
jge 0x449075
movss xmm1, dword [0x45ff10]
xor ecx, ecx
call fcn.0041cb20
mov edi, dword [edi + 0x192c]
mov ebx, eax
mov eax, dword [ebp - 0xf0]
mov ecx, edx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0xc0], ebx
mov esi, dword [eax + 0x284]
mov eax, dword [ebp - 0xac]
movss xmm2, dword [eax + 0x1930]
xor eax, eax
cmp byte [ebp - 0xb8], al
cmovne edx, eax
test ebx, 0xff000000
je 0x449069
cmp dword [ebp - 0xcc], eax
jne 0x448fb9
mov ecx, dword [ebp - 0xb4]
lea ebx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448fa0
mov eax, dword [ebp - 0xb4]
sub ecx, ebx
mov ebx, dword [ebp - 0xc0]
add ecx, eax
jmp 0x448fbf
mov eax, dword [ebp - 0xb4]
cmp eax, ecx
je 0x449069
test edi, edi
jne 0x448fd1
mov eax, dword [esi + 0x2c]
mov edi, dword [eax + 8]
ucomiss xmm2, dword [0x45fe6c]
lahf
test ah, 0x44
jp 0x448fe6
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movups xmmword [ebp - 0x14], xmm0
test edx, edx
je 0x449039
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jae 0x449005
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm1
jae 0x449019
movss dword [ebp - 0x10], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xc]
ja 0x449029
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 8]
ja 0x449039
movss dword [ebp - 8], xmm0
mov eax, dword [ebp - 0xf4]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x14]
push ecx
push dword [ebp - 0xb4]
mov ecx, edi
push eax
push ebx
push esi
call fcn.0043d300
mov edi, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xb4]
cmp byte [ebp - 0x134], 0
je 0x449083
call fcn.004276e0
cmp byte [ebp - 0xb8], 0
je 0x449134
mov ecx, dword [0x465c04]
movss xmm1, dword [ebp - 0xd0]
addss xmm1, dword [edi + 0x1554]
movss xmm3, dword [ebp - 0x108]
mov eax, dword [ecx + 0x1b9c]
movss dword [ebp - 0xe8], xmm3
movss dword [ebp - 0xe4], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b9c]
cmp byte [eax + 0x8f], 0
jne 0x44912a
movss xmm0, dword [eax + 0xd4]
lea ecx, [ebp - 0xe8]
movss xmm2, dword [eax + 0xd0]
addss xmm1, xmm0
addss xmm3, xmm2
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [0x460048]
movss dword [ebp - 0x24], xmm3
call fcn.00427b80
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x2c]
call fcn.00427cb0
add esp, 8
call fcn.00422740
call fcn.00428220
cmp byte [edi + 0x2f20], 0
je 0x449172
cmp byte [ebp - 0x134], 0
jne 0x449172
mov eax, dword [0x465c04]
lea ecx, [ebp - 0x1c]
push dword [ebp - 0xcc]
mov edx, ebx
mov dword [eax + 0x2f38], 0x45fa38
mov dword [eax + 0x2f3c], 0x45fa34
call fcn.0042cde0
add esp, 4
movss xmm0, dword [ebp - 0x140]
comiss xmm0, dword [0x45fe6c]
jbe 0x4491cb
movss xmm0, dword [ebp - 0x3c]
xor edx, edx
addss xmm0, dword [edi + 0x1568]
mov ecx, dword [ebp - 0x138]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [edi + 0x1554]
movss dword [ebp - 0xe4], xmm0
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push 1
call fcn.0041cda0
add esp, 0xc
mov dl, byte [ebp - 0xf6]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x4491fb
test ecx, 0x8000000
jne 0x4491fb
mov eax, dword [0x465c04]
mov word [eax + 0x1be4], 0x101
mov eax, dword [eax + 0x1b9c]
or dword [eax + 0x120], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xc1]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00455452
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
xor edx, edx
add eax, dword [ebp - 0xb4]
mov edi, 0xfffffc18
xorps xmm7, xmm7
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x13c], esi
movss dword [ebp - 0x10c], xmm4
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xdc], edi
cmp byte [ebp - 0xaf], dl
je 0x44927a
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0x104], eax
lea edx, [edi + 2]
test cl, cl
je 0x44929c
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0xdc], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xb8]
xor esi, esi
movzx eax, al
add edx, eax
mov dword [ebp - 0xc8], esi
mov eax, dword [ebp - 0x13c]
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x449320
mov ebx, dword [ebp - 0x104]
mov esi, eax
cmp si, 0xa
jne 0x449306
mov esi, dword [ebp - 0xc8]
inc esi
mov dword [ebp - 0xc8], esi
cmp edi, 0xffffffff
jne 0x4492ea
cmp ecx, ebx
jb 0x4492ea
dec edx
mov edi, esi
test edx, edx
jle 0x44931a
cmp dword [ebp - 0xdc], 0xffffffff
jne 0x449306
cmp ecx, dword [ebp - 0xf4]
jb 0x449306
dec edx
mov dword [ebp - 0xdc], esi
test edx, edx
jle 0x44931a
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x4492c7
mov esi, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x13c]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0xc8], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov ecx, edi
mov eax, dword [ebp - 0xdc]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0xdc], eax
cmp edi, edx
jbe 0x44936e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x44936e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x449360
mov eax, dword [0x465c04]
movaps xmm1, xmm4
movaps xmm3, xmm4
mov esi, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x4493d2
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x4493a6
maxss xmm1, xmm3
movaps xmm3, xmm4
jmp 0x4493c8
cmp edx, 0xd
je 0x4493c8
mov edx, eax
cmp edx, dword [esi]
jge 0x4493bb
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x4493c0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm3, xmm0
cmp ecx, edi
jb 0x449390
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0xdc], 0
maxss xmm3, xmm1
movd xmm4, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xac]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x1930]
mulss xmm4, xmm0
movss dword [ebp - 0xc0], xmm3
movss dword [ebp - 0x120], xmm4
jl 0x4494c3
mov edi, dword [ebp - 0xf4]
mov ecx, edi
cmp edi, edx
jbe 0x44942e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x44942e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x449420
mov eax, dword [0x465c04]
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm7, xmm7
mov esi, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x449492
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x449469
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x44948e
cmp edx, 0xd
je 0x44948e
mov edx, eax
cmp edx, dword [esi]
jge 0x44947e
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x449483
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x449453
movd xmm3, dword [ebp - 0xdc]
maxss xmm7, xmm1
mov ecx, dword [ebp - 0xac]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x1930]
mulss xmm3, xmm0
movss dword [ebp - 0x10c], xmm3
movss xmm3, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xb8]
test dl, dl
je 0x4494ec
movd xmm5, dword [ebp - 0xc8]
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x108], xmm6
mulss xmm5, xmm0
movss dword [ebp - 0xd0], xmm5
cmp byte [ebp - 0xaf], 0
je 0x449612
cmp byte [ebx + 0xe6c], 0
je 0x449612
test dword [ebp + 0x14], 0x1000
jne 0x44955b
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm6
comiss xmm2, xmm3
mulss xmm0, dword [0x45febc]
movaps xmm1, xmm3
subss xmm6, dword [ecx + 0x1550]
jbe 0x44954c
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x449562
subss xmm1, xmm6
comiss xmm1, xmm2
jb 0x449562
addss xmm0, xmm1
jmp 0x44953a
mov dword [ebx + 0x38], 0
xorps xmm3, xmm3
test dl, dl
je 0x4495fe
movss xmm2, dword [ebp - 0x12c]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x1930]
comiss xmm2, xmm0
jbe 0x449596
movss xmm4, dword [ebp - 0xe4]
xorps xmm2, xmm2
maxss xmm2, xmm0
jmp 0x4495ba
movaps xmm0, xmm4
movss xmm4, dword [ebp - 0xe4]
subss xmm0, xmm4
comiss xmm0, xmm2
jb 0x4495ba
movss xmm2, dword [ecx + 0x1554]
addss xmm2, xmm2
addss xmm2, xmm0
comiss xmm3, xmm2
movss xmm1, dword [ecx + 0x1554]
jbe 0x4495cc
xorps xmm1, xmm1
jmp 0x4495e0
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, xmm4
maxss xmm1, xmm3
minss xmm1, xmm2
mov eax, dword [ebp - 0xf0]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x18], xmm0
movss dword [eax + 0x5c], xmm1
mov byte [ebx + 0xe6c], 0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xfc], xmm0
cmp byte [ebp - 0x11c], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0xc8], xmm4
je 0x4498e5
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov edi, dword [ebp - 0x13c]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xaf], 0
lea esi, [edi + eax*2]
lea edi, [edi + edx*2]
je 0x44965b
movss xmm1, dword [0x45ff10]
jmp 0x449663
movss xmm1, dword [0x45fed8]
mov ecx, 0x2f
call fcn.0041cb20
cmp byte [ebp - 0xb8], 0
mov dword [ebp - 0x110], eax
je 0x449684
xorps xmm0, xmm0
xorps xmm6, xmm6
jmp 0x449694
movss xmm6, dword [0x460048]
movss xmm0, dword [0x45ff40]
movss xmm4, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0xfc]
movss dword [ebp - 0xf4], xmm0
addss xmm5, xmm7
movss dword [ebp - 0x104], xmm6
xorps xmm7, xmm7
addss xmm4, dword [ebp - 0x10c]
subss xmm5, dword [ebp - 0xc8]
subss xmm4, xmm7
movss dword [ebp - 0x10c], xmm4
cmp esi, edi
jae 0x44993b
movss xmm7, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0x110]
movaps xmm0, xmm7
addss xmm0, dword [ecx + 0x1930]
comiss xmm4, xmm0
ja 0x4498d7
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm4
jbe 0x44972f
cmp esi, edi
jae 0x4498a7
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x4498a7
cmp esi, edi
jb 0x449716
jmp 0x4498a7
mov eax, dword [0x465c04]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x44979a
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x449787
cmp ecx, 0xd
je 0x449781
cmp ecx, dword [edx]
jge 0x449774
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x449779
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x449754
jmp 0x449791
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xac]
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x4497d6
mov eax, dword [ecx + 0x192c]
cmp dword [eax], 0x20
jle 0x4497bb
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x4497c0
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x45fed0]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm2, xmm6
addss xmm1, xmm5
subss xmm2, dword [ecx + 0x1930]
movaps xmm3, xmm5
movss xmm5, dword [ebp - 0x114]
addss xmm3, xmm0
movss xmm0, dword [ebp - 0xf4]
addss xmm0, xmm4
minss xmm1, xmm5
addss xmm2, xmm4
maxss xmm3, dword [ebp - 0x44]
minss xmm0, xmm7
movss dword [ebp - 0xc], xmm1
maxss xmm2, dword [ebp - 0x40]
movss dword [ebp - 0x14], xmm3
comiss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 8], xmm0
jbe 0x4498a7
comiss xmm7, xmm2
jbe 0x4498a7
comiss xmm1, dword [ebp - 0x44]
jbe 0x4498a7
comiss xmm5, xmm3
jbe 0x4498a7
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xc]
push ebx
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x284]
call fcn.00438fe0
movss xmm0, dword [ebp - 0xbc]
movss xmm4, dword [ebp - 0x1c]
movss xmm7, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xac]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0x118]
movss dword [ebp - 0xfc], xmm4
movss xmm4, dword [ebp - 0x10c]
movss dword [ebp - 0x118], xmm0
movss xmm5, dword [ebp - 0xfc]
movss xmm6, dword [ebp - 0x104]
addss xmm4, dword [ecx + 0x1930]
subss xmm5, dword [ebp - 0xc8]
movss dword [ebp - 0x10c], xmm4
cmp esi, edi
jb 0x4496f0
movss xmm4, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0x130]
xorps xmm7, xmm7
cmp byte [ebp - 0xb8], 0
mov edx, dword [ebp - 0xcc]
jne 0x44990a
mov eax, edx
sub eax, dword [ebp - 0xb4]
cmp eax, 0x200000
jge 0x449b35
mov eax, dword [0x465c04]
movss xmm6, dword [0x45ff10]
movups xmm1, xmmword [eax + 0x15dc]
comiss xmm7, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1518]
movups xmmword [ebp - 0x14], xmm1
jbe 0x449945
xorps xmm0, xmm0
jmp 0x44994c
movss xmm4, dword [ebp - 0xc8]
jmp 0x4498e8
movaps xmm0, xmm6
minss xmm0, xmm1
movss xmm1, dword [0x45ffe0]
movss xmm5, dword [0x45fed0]
movss xmm3, dword [ebp - 0x10]
comiss xmm7, xmm3
mulss xmm0, xmm1
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x449977
xorps xmm0, xmm0
jmp 0x44997e
movaps xmm0, xmm6
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xc]
mulss xmm0, xmm1
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm3
jbe 0x44999e
xorps xmm0, xmm0
jmp 0x4499a5
movaps xmm0, xmm6
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x4499c0
xorps xmm0, xmm0
jmp 0x4499c7
movaps xmm0, xmm6
minss xmm0, xmm2
mov eax, dword [ebp - 0xf0]
mulss xmm0, xmm1
mov dword [ebp - 0x110], 0
mov edi, dword [eax + 0x284]
addss xmm0, xmm5
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, xmm4
shl esi, 0x18
or esi, ecx
xorps xmm4, xmm4
mov ecx, dword [ebp - 0xac]
cmp byte [ebp - 0xb8], 0
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x18]
mov eax, dword [ecx + 0x192c]
subss xmm0, xmm4
movss xmm2, dword [ecx + 0x1930]
mov ecx, edx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x100], eax
cmovne edx, dword [ebp - 0x110]
movss dword [ebp - 0xe4], xmm0
test esi, 0xff000000
je 0x449b38
cmp dword [ebp - 0xcc], 0
jne 0x449a80
mov ecx, dword [ebp - 0xb4]
lea eax, [ecx + 1]
mov dword [ebp - 0x110], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449a67
sub ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0xb4], ecx
je 0x449b38
test eax, eax
jne 0x449a9c
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], eax
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x449aad
mov eax, dword [edi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edi + 0x60]
movups xmmword [ebp - 0x14], xmm0
test edx, edx
je 0x449b00
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jae 0x449acc
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm1
jae 0x449ae0
movss dword [ebp - 0x10], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xc]
ja 0x449af0
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 8]
ja 0x449b00
movss dword [ebp - 8], xmm0
push dword [ebp - 0xe4]
test edx, edx
push dword [ebp - 0xe8]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x14]
push ecx
push dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x100]
push eax
push esi
push edi
call fcn.0043d300
xorps xmm4, xmm4
cmp byte [ebp - 0xaf], 0
mov edi, dword [ebp - 0xac]
je 0x44906f
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe68]
movss dword [ebx + 0xe68], xmm0
cmp byte [edi + 0xb2], 0
je 0x449bad
comiss xmm4, xmm0
jae 0x449bad
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xe8], xmm0
fld qword [ebp - 0xe8]
fld qword [0x45ff38]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x45fef8]
fstp qword [ebp - 0xe8]
movsd xmm1, qword [ebp - 0xe8]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x449bad
xor cl, cl
jmp 0x449baf
mov cl, 1
movss xmm0, dword [ebp - 0x1c]
movss xmm6, dword [0x45ff10]
addss xmm0, dword [ebp - 0xc0]
subss xmm0, dword [ebp - 0xc8]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [ebp - 0x120]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x45fe6c]
movss dword [ebp - 0x110], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x2c], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x24], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x120], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [edi + 0x1930]
subss xmm3, dword [0x45ff2c]
addss xmm2, dword [0x45fed0]
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x28], xmm2
test cl, cl
je 0x449ccf
comiss xmm3, dword [ebp - 0x40]
jbe 0x449ccf
movss xmm5, dword [ebp - 0x118]
comiss xmm5, xmm2
jbe 0x449ccf
comiss xmm4, dword [ebp - 0x44]
jbe 0x449ccf
movss xmm2, dword [ebp - 0xbc]
comiss xmm2, xmm1
jbe 0x449ccf
sub esp, 8
movss dword [ebp - 0xe8], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xe4], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.0041cb20
add esp, 4
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 0x284]
call fcn.00438de0
movss xmm1, dword [ebp - 0x110]
movss xmm0, dword [ebp - 0x120]
movss xmm6, dword [0x45ff10]
cmp byte [ebp - 0xd8], 0
jne 0x44906f
subss xmm0, dword [edi + 0x1930]
subss xmm1, xmm6
movss dword [edi + 0x2ecc], xmm0
movss dword [edi + 0x2ec8], xmm1
jmp 0x44906f