Function at 0x453400
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
mov eax, dword [0x47400c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x59d350]
mov ebx, esi
mov dword [ebp - 0xe4], eax
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [ebx + 0x3f04]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0xbc], ebx
mov byte [eax + 0xc5], 1
mov eax, dword [ebx + 0x3f04]
mov dword [ebp - 0x14c], eax
cmp byte [eax + 0xc8], 0
jne 0x453a28
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x1a
mov dword [ebp - 0xe8], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xe0], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x154], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0xf8], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x120], eax
test dl, dl
je 0x4534c1
call fcn.004262f0
mov esi, dword [0x59d350]
mov eax, dword [ebp - 0x14c]
xor edx, edx
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x150]
call fcn.00417220
add esp, 4
mov dword [ebp - 0xf0], eax
cmp dword [esi + 0x3f28], eax
jne 0x453511
push ecx
push dword [ebp - 0x150]
mov edx, 0xb
mov ecx, eax
call fcn.004374d0
mov esi, dword [0x59d350]
add esp, 8
mov edx, dword [ebp - 0x150]
mov eax, edx
cmp edx, 0xffffffff
jae 0x453536
nop
mov cl, byte [eax]
test cl, cl
je 0x453536
cmp cl, 0x23
jne 0x453530
cmp byte [eax + 1], cl
je 0x453536
inc eax
cmp eax, 0xffffffff
jb 0x453520
movss xmm0, dword [0x46e5c0]
movss xmm2, dword [esi + 0x3c98]
movss dword [ebp - 0x124], xmm0
cmp edx, eax
jne 0x45355f
xorps xmm5, xmm5
movss dword [ebp - 0x174], xmm5
jmp 0x4535ae
push 0
push eax
push edx
push ecx
mov ecx, dword [esi + 0x3c94]
lea eax, [ebp - 0x130]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
call fcn.00445a20
movss xmm0, dword [ebp - 0x130]
xorps xmm5, xmm5
addss xmm0, dword [0x46e470]
movss xmm2, dword [ebp - 0x12c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x174], xmm0
cmp byte [ebp - 0xe0], 0
je 0x4535c7
movss xmm2, dword [ebx + 0x3c98]
mulss xmm2, dword [0x46e4f8]
test byte [esi + 0x3f9c], 1
mov ecx, dword [esi + 0x3f04]
je 0x4535e0
movss xmm0, dword [esi + 0x3fa0]
jmp 0x4535e8
movss xmm0, dword [ecx + 0x1bc]
comiss xmm5, xmm0
jbe 0x453627
cmp dword [ecx + 0x1ac], 0
movss xmm1, dword [ecx + 0x244]
jne 0x453607
cmp dword [esi + 0x4330], 0
je 0x45360f
movss xmm1, dword [ecx + 0x214]
subss xmm1, dword [ecx + 0x108]
addss xmm1, xmm0
movss xmm0, dword [0x46e478]
maxss xmm0, xmm1
movss xmm6, dword [edi]
mov edx, ecx
comiss xmm5, xmm6
movss xmm7, dword [edi + 4]
xorps xmm1, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [ebx + 0x3894]
movaps xmm3, xmm0
movss dword [ebp - 0x114], xmm6
addss xmm3, xmm0
movss dword [ebp - 0x10c], xmm7
xorps xmm0, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
addss xmm3, xmm2
ja 0x453670
comiss xmm5, xmm7
jbe 0x45369a
cmp dword [ecx + 0x1ac], 0
movss xmm0, dword [ecx + 0x244]
movss xmm1, dword [ecx + 0x248]
jne 0x453692
cmp dword [esi + 0x4330], 0
je 0x45369a
movss xmm0, dword [ecx + 0x214]
movss xmm2, dword [0x46e4e4]
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x4536b8
movaps xmm6, xmm4
movss dword [ebp - 0x114], xmm6
jmp 0x4536e1
comiss xmm5, xmm6
jbe 0x4536e1
subss xmm0, dword [edx + 0x108]
addss xmm6, xmm0
comiss xmm2, xmm6
movss dword [ebp - 0x114], xmm6
jb 0x4536e1
movaps xmm6, xmm2
movss dword [ebp - 0x114], xmm2
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x4536f7
movaps xmm7, xmm3
movss dword [ebp - 0x10c], xmm7
jmp 0x453720
comiss xmm5, xmm7
jbe 0x453720
subss xmm1, dword [edx + 0x10c]
addss xmm7, xmm1
comiss xmm2, xmm7
movss dword [ebp - 0x10c], xmm7
jb 0x453720
movaps xmm7, xmm2
movss dword [ebp - 0x10c], xmm2
movss xmm0, dword [ebp - 0x174]
mov edi, ebx
comiss xmm0, xmm5
jbe 0x45373d
movss xmm2, dword [edi + 0x38a8]
addss xmm2, xmm0
jmp 0x453740
xorps xmm2, xmm2
mov eax, dword [ebp - 0x14c]
movaps xmm0, xmm7
movaps xmm1, xmm6
mov esi, eax
push 0x3c
push 0
movss xmm4, dword [eax + 0x10c]
movss xmm3, dword [eax + 0x108]
addss xmm0, xmm4
addss xmm1, xmm3
movss dword [ebp - 0xd4], xmm3
lea eax, [ebp - 0x1b4]
movss dword [ebp - 0xfc], xmm4
push eax
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm6
addss xmm0, xmm2
movss dword [ebp - 0x4c], xmm1
movaps xmm1, xmm7
movss dword [ebp - 0x50], xmm4
addss xmm1, xmm4
movss dword [ebp - 0x38], xmm3
movss dword [ebp - 0x34], xmm4
mov dword [ebp - 0x100], esi
addss xmm0, xmm3
movss dword [ebp - 0xdc], xmm1
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0xd0], xmm0
movss dword [ebp - 0x30], xmm0
call sub.VCRUNTIME140.dll_memset
movss xmm1, dword [ebp - 0xdc]
lea ecx, [ebp - 0x130]
subss xmm1, dword [ebp - 0xfc]
movss xmm0, dword [ebp - 0xd0]
add esp, 0xc
subss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0x12c], xmm1
movss xmm1, dword [edi + 0x3894]
movss dword [ebp - 0x130], xmm0
call fcn.00425eb0
cmp byte [ebp - 0xe0], 0
je 0x453aa8
mov ebx, dword [ebp - 0xf0]
lea eax, [ebp - 0x54]
push 0x100
push eax
mov edx, ebx
lea ecx, [ebp - 0x38]
call fcn.00426010
add esp, 8
test al, al
je 0x453a23
movups xmm0, xmmword [edi + 0x3fb0]
mov eax, dword [edi + 0x3fb8]
mov dword [ebp - 0xf4], eax
mov eax, esi
mov esi, dword [0x59d350]
movups xmmword [ebp - 0x1b4], xmm0
mov dword [ebp - 0x3c], 3
movups xmm0, xmmword [edi + 0x3fc0]
lea ecx, [esi + 0x4074]
movups xmmword [ebp - 0x1a4], xmm0
movups xmm0, xmmword [edi + 0x3fd0]
movups xmmword [ebp - 0x194], xmm0
movq xmm0, qword [edi + 0x3fe0]
movq qword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0xd4]
movss dword [eax + 0x108], xmm0
movss xmm0, dword [ebp - 0xfc]
movss dword [eax + 0x10c], xmm0
lea eax, [ebp - 0x3c]
movups xmm0, xmmword [esi + 0x394c]
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.00437cb0
movups xmm0, xmmword [edi + 0x398c]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 7
push eax
movups xmmword [esi + 0x394c], xmm0
mov esi, dword [0x59d350]
movss xmm0, dword [edi + 0x3898]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [esi + 0x3880]
lea ecx, [esi + 0x4080]
movss dword [ebp - 0x30], xmm0
call fcn.00437bf0
movss xmm0, dword [ebp - 0xd0]
lea eax, [ebp - 0x34]
movss dword [esi + 0x3880], xmm0
mov esi, dword [0x59d350]
movss xmm0, dword [edi + 0x389c]
movss dword [ebp - 0xd0], xmm0
push eax
movss xmm0, dword [esi + 0x3884]
lea ecx, [esi + 0x4080]
mov dword [ebp - 0x34], 8
movss dword [ebp - 0x30], xmm0
call fcn.00437bf0
movss xmm0, dword [ebp - 0xd0]
lea eax, [ebp - 0x34]
movss dword [esi + 0x3884], xmm0
mov esi, dword [0x59d350]
push eax
mov dword [ebp - 0x34], 2
movss xmm1, dword [esi + 0x385c]
lea ecx, [esi + 0x4080]
movss xmm0, dword [esi + 0x3860]
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x2c], xmm0
call fcn.00437bf0
movss xmm0, dword [ebp - 0x4c]
lea eax, [ebp - 0x130]
subss xmm0, dword [ebp - 0x54]
push 4
push ecx
mov ecx, dword [ebp - 0x150]
mov edx, ebx
push eax
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x50]
mov dword [esi + 0x385c], 0
mov dword [esi + 0x3860], 0
movss dword [ebp - 0x12c], xmm0
call fcn.0041edf0
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.004188e0
mov ecx, 1
call fcn.00418890
test bl, bl
jne 0x453a3b
call fcn.0041f000
call fcn.00426420
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00466a4b
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x3f04]
mov dword [ebp - 0x100], esi
movsx ecx, word [esi + 0x166]
mov eax, dword [esi + 0x160]
bts ecx, eax
mov word [esi + 0x166], cx
movss xmm0, dword [edi + 0x3890]
addss xmm0, dword [esi + 0x108]
movss dword [esi + 0x108], xmm0
movss xmm0, dword [edi + 0x3894]
addss xmm0, dword [esi + 0x10c]
movss dword [esi + 0x10c], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [esi + 0xb8]
movss dword [ebp - 0x114], xmm0
jmp 0x453adf
test dword [ebp + 0x14], 0x10000000
jne 0x453ad3
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0x54]
push 0x100
push eax
lea ecx, [ebp - 0x38]
call fcn.00426010
add esp, 8
test al, al
je 0x453a28
mov eax, dword [edi + 0x3fb8]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xf0]
lea ecx, [ebp - 0x54]
call fcn.0041a7e0
mov dl, al
mov byte [ebp - 0xe9], dl
test dl, dl
je 0x453b03
mov dword [edi + 0x428c], 1
mov ebx, dword [0x59d350]
xor eax, eax
mov ecx, dword [ebp - 0xf0]
add ebx, 0x43c0
cmp dword [ebx], ecx
cmovne ebx, eax
mov eax, dword [ebp - 0xf4]
shr eax, 8
and al, 1
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0xf4], eax
mov eax, dword [edi + 0x3f40]
cmp eax, ecx
je 0x453b5f
cmp dword [edi + 0x4138], ecx
je 0x453b56
cmp dword [edi + 0x412c], ecx
jne 0x453b5f
cmp dword [edi + 0x4154], 2
jne 0x453b5f
mov byte [ebp - 0xbf], 1
jmp 0x453b66
mov byte [ebp - 0xbf], 0
test dl, dl
je 0x453b7a
cmp byte [edi + 0x3678], 0
mov byte [ebp - 0xca], 1
jne 0x453b81
mov byte [ebp - 0xca], 0
cmp byte [ebp - 0xe0], 0
je 0x453c0b
test ebx, ebx
je 0x453c0b
test eax, eax
jne 0x453c0b
mov ecx, dword [esi + 0xfc]
xor edx, edx
mov eax, dword [esi + 0x104]
mov dword [ebp - 0x160], 0x43532369
mov dword [ebp - 0x15c], 0x4c4c4f52
mov word [ebp - 0x158], 0x59
push dword [eax + ecx*4 - 4]
lea ecx, [ebp - 0x15f]
call fcn.00417220
mov ecx, dword [0x59d350]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x3f28], esi
jne 0x453bfa
push ecx
lea eax, [ebp - 0x15f]
mov edx, 0xb
push eax
mov ecx, esi
call fcn.004374d0
add esp, 8
cmp dword [edi + 0x3f84], esi
jne 0x453c0b
mov byte [ebp - 0xbd], 1
jmp 0x453c2b
mov eax, dword [ebp - 0xe0]
mov byte [ebp - 0xbd], 0
test al, al
je 0x453c9e
mov byte [ebp - 0xbd], 0
test ebx, ebx
je 0x453c9e
mov eax, dword [ebp - 0x100]
xor edx, edx
mov dword [ebp - 0x34], 0x43532369
mov dword [ebp - 0x30], 0x4c4c4f52
mov word [ebp - 0x2c], 0x59
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push dword [eax + ecx*4 - 4]
lea ecx, [ebp - 0x33]
call fcn.00417220
mov ecx, dword [0x59d350]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x3f28], esi
jne 0x453c86
push ecx
lea eax, [ebp - 0x33]
mov edx, 0xb
push eax
mov ecx, esi
call fcn.004374d0
add esp, 8
cmp dword [edi + 0x3f40], esi
jne 0x453c98
mov cl, 1
mov byte [ebp - 0xc1], cl
jmp 0x453caa
mov eax, dword [ebp - 0xe0]
xor cl, cl
mov byte [ebp - 0xc1], cl
test al, al
je 0x453cc8
mov eax, dword [ebp - 0x100]
movss xmm0, dword [eax + 0x94]
mov eax, dword [ebp - 0xe0]
movss dword [ebp - 0x124], xmm0
jmp 0x453cd0
xor cl, cl
mov byte [ebp - 0xc1], cl
test ebx, ebx
je 0x453cdf
xor al, 1
cmp byte [ebx + 0x53], al
je 0x453cdf
mov al, 1
jmp 0x453ce1
xor al, al
cmp byte [ebp - 0xca], 0
mov edi, 0x100
mov byte [ebp - 0xb6], al
jne 0x453d29
cmp byte [ebp - 0xbd], 0
jne 0x453d29
cmp byte [ebp - 0xbf], 0
jne 0x453d29
cmp byte [ebp - 0xf4], 0
jne 0x453d29
mov byte [ebp - 0xbd], 0
test cl, cl
jne 0x453d30
mov byte [ebp - 0xc0], cl
mov ecx, dword [ebp - 0xbc]
jmp 0x453d4b
mov byte [ebp - 0xbd], 1
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xf0]
mov byte [ebp - 0xc0], 1
cmp dword [ecx + 0x3f40], esi
jne 0x453d5a
mov byte [ebp - 0xc8], 0
test al, al
je 0x453fd9
lea ebx, [ecx + 0x43c0]
mov ecx, dword [ebp - 0xe4]
mov dword [ebx + 0xe68], 0xbe99999a
mov dword [ebp - 0x144], ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x453d80
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x453dbf
test edi, edi
je 0x453da7
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x453dac
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.00438050
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xe4]
mov dword [eax], esi
push dword [ebx + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebx + 0x10]
add esp, 0xc
cmp esi, 0x100
jge 0x453e07
test esi, esi
je 0x453def
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x453df4
mov ecx, 8
mov eax, 0x100
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.004380c0
mov dword [ebx + 0xc], 0x100
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x453e2e
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.00438050
mov edx, dword [ebp - 0xe4]
mov edi, edx
mov dword [ebx + 0x18], 0
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xd4], ecx
lea eax, [ecx + 0x1fc]
cmp ecx, eax
jae 0x453e95
cmp byte [edi], 0
je 0x453e8f
push 0
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.00417490
mov ecx, dword [ebp - 0xd4]
add edi, eax
mov eax, dword [ebp - 0xd0]
add esp, 4
test eax, eax
je 0x453e8f
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x1fc]
cmp esi, eax
jb 0x453e56
mov edx, dword [ebp - 0xe4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xf0]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x453edf
cmp byte [ebp - 0xb6], 0
jne 0x453edf
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dl, 1
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 dword [ebx + 0x44], esi
jmp 0x453f42
mov dword [ebx], eax
xor dl, dl
mov al, byte [ebp - 0xe0]
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], dl
mov byte [ebx + 0x53], al
mov byte [ebx + 0x48], dl
mov dword [ebx + 0x4c], 0
cmp byte [ebp - 0xe0], 0
mov byte [ebp - 0xc8], 0
jne 0x453fc5
mov eax, dword [ebp + 0x14]
shr eax, 4
and eax, 0xffffff01
cmp byte [ebp - 0xbf], 0
mov dword [ebp - 0xc8], eax
je 0x453f9d
test dl, dl
je 0x453f8e
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xbc]
test byte [eax + 0x413c], 4
jne 0x453fa3
mov byte [ebp - 0xc8], 1
jmp 0x453fa3
mov eax, dword [ebp - 0xbc]
mov byte [ebp - 0xc8], 1
jmp 0x453fa3
mov eax, dword [ebp - 0xbc]
cmp byte [ebp - 0xf4], 0
jne 0x453fbe
cmp byte [ebp - 0xca], 0
je 0x453fc5
cmp byte [eax + 0xd74], 0
je 0x453fc5
mov byte [ebp - 0xc8], 1
mov edx, dword [ebp + 0x14]
mov edi, 0x100
test edx, 0x2000
je 0x453fd9
mov byte [ebx + 0x48], 1
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xf0]
cmp dword [esi + 0x3f40], ecx
je 0x45408d
cmp byte [ebp - 0xbd], 0
je 0x45408d
mov edx, dword [ebp - 0x14c]
call fcn.0041a510
call fcn.00427ad0
mov ecx, edx
call fcn.00425060
mov eax, dword [esi + 0x3f54]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xe0], 0
mov dword [esi + 0x3f54], eax
jne 0x454034
test dl, dl
jns 0x45403d
or eax, 0xc
mov dword [esi + 0x3f54], eax
mov ecx, dword [0x59d350]
or dword [esi + 0x3f58], 2
mov eax, dword [ecx + 0x3f5c]
bts eax, 7
bts eax, 8
cmp byte [ebp - 0xe0], 0
mov dword [ecx + 0x3f5c], eax
je 0x454075
bts eax, 5
bts eax, 6
mov dword [ecx + 0x3f5c], eax
test edx, 0x440
je 0x454087
bts eax, 0
mov dword [ecx + 0x3f5c], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [esi + 0x3f40]
cmp eax, ecx
jne 0x4540eb
test ebx, ebx
jne 0x4540b0
call fcn.0041a5e0
mov eax, dword [esi + 0x3f40]
mov ecx, dword [ebp - 0xf0]
cmp eax, ecx
jne 0x4540eb
cmp byte [esi + 0x3678], 0
mov byte [ebp - 0xbe], 0
je 0x4540ff
cmp byte [ebp - 0xc0], 0
mov byte [ebp - 0xbe], 0
jne 0x4540ff
cmp byte [ebp - 0xbd], 0
mov byte [ebp - 0xbe], 0
jne 0x4540ff
mov byte [ebp - 0xbe], 1
mov dl, 1
jmp 0x45410b
test ebx, ebx
je 0x454103
cmp byte [ebp - 0xc1], 0
mov byte [ebp - 0xbe], 0
je 0x454103
mov dl, 1
jmp 0x45410b
xor dl, dl
mov byte [ebp - 0xbe], dl
mov byte [ebp - 0xd5], dl
test ebx, ebx
je 0x45412e
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x454126
cmp byte [ebp - 0xc8], 0
je 0x45412e
test dl, dl
je 0x45412e
mov al, 1
jmp 0x454130
xor al, al
cmp byte [ebp - 0xe8], 0
mov byte [ebp - 0xc9], al
mov byte [ebp - 0x105], 0
mov byte [ebp - 0xbd], 0
je 0x454254
test ebx, ebx
je 0x454254
test dl, dl
jne 0x454165
test al, al
je 0x45425c
mov ecx, dword [ebx + 0x10]
cmp ecx, 0x100
jge 0x454195
test ecx, ecx
je 0x45417f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x454184
mov eax, 8
cmp eax, 0x100
lea ecx, [ebx + 0xc]
cmovg edi, eax
push edi
call fcn.004380c0
mov edx, dword [ebp - 0xe4]
mov edi, edx
mov dword [ebx + 0xc], 0x100
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov dword [ebp - 0xd4], ecx
lea eax, [ecx + 0x1fe]
cmp ecx, eax
jae 0x4541ff
nop dword [eax]
cmp byte [edi], 0
je 0x4541f9
push 0
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.00417490
mov ecx, dword [ebp - 0xd4]
add edi, eax
mov eax, dword [ebp - 0xd0]
add esp, 4
test eax, eax
je 0x4541f9
mov word [esi], ax
add esi, 2
lea eax, [ecx + 0x1fe]
cmp esi, eax
jb 0x4541c0
mov edx, dword [ebp - 0xe4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
movzx eax, byte [ebp - 0xc9]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov edx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
cmovl edx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], edx
cmovl esi, dword [ebx + 0x44]
xor ecx, ecx
cmp edx, esi
mov dword [ebx + 8], edi
mov dl, byte [ebp - 0xd5]
cmovne ecx, eax
mov dword [ebx + 0x44], esi
mov al, cl
mov ecx, dword [ebp - 0xf0]
mov byte [ebp - 0xc9], al
test dl, dl
jne 0x45426c
test al, al
jne 0x45426c
mov edi, dword [ebp - 0xbc]
cmp dword [edi + 0x3f40], ecx
jne 0x45428c
jmp 0x454272
mov edi, dword [ebp - 0xbc]
cmp byte [ebp - 0xe8], 0
jne 0x45428c
test ebx, ebx
je 0x45428c
cmp byte [ebx + 0x30], 0
mov byte [ebp - 0x104], 1
jne 0x454293
mov byte [ebp - 0x104], 0
cmp byte [ebp - 0x154], 0
je 0x454316
mov edx, dword [edi + 0x3c94]
cmp dword [edx + 0x14], 0x2a
ja 0x4542ad
mov esi, dword [edx + 0x2c]
jmp 0x4542cc
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x4542c3
mov esi, dword [edx + 0x2c]
jmp 0x4542cc
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
lea ecx, [edi + 0x5234]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x3c94]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x3c94]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x3c94]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x3c94]
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.00425330
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xfc], 0
cmp dword [edi + 0x3f40], eax
jne 0x45498a
mov eax, dword [ebx + 8]
mov byte [ebx + 0xe6e], 0
mov dword [ebx + 0x34], 0xff
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xe70], eax
cmp byte [edi + 0xd60], 0
mov dword [edi + 0x5610], 1
sete al
cmp byte [ebp - 0xe0], 0
mov byte [edi + 0x3f4d], al
movss xmm7, dword [edi + 0xd58]
subss xmm7, dword [ebp - 0x54]
subss xmm7, dword [edi + 0x3890]
addss xmm7, dword [ebx + 0x38]
je 0x4543a7
mov eax, dword [ebp - 0x100]
movss xmm2, dword [edi + 0xd5c]
subss xmm2, dword [eax + 0x10c]
jmp 0x4543b7
movss xmm2, dword [edi + 0x3c98]
mulss xmm2, dword [0x46e434]
cmp byte [ebp - 0xc8], 0
mov cl, byte [edi + 0x61]
mov byte [ebp - 0xb5], cl
je 0x4543ec
mov eax, dword [ebx + 4]
xorps xmm4, xmm4
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
jmp 0x45476d
mov cl, byte [ebp - 0xe9]
test cl, cl
je 0x454690
cmp word [edi + 0x3682], 2
jb 0x454690
cmp byte [edi + 0xd75], 0
jne 0x454690
cmp byte [ebx + 0x53], 0
je 0x454435
push 0
mov edx, ebx
lea ecx, [ebp - 0x140]
call fcn.004519f0
movss xmm2, dword [ebp - 0x134]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00451d40
mov ecx, eax
mov byte [ebx + 0x52], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
test byte [eax + 0x3682], 1
jne 0x454602
test ecx, ecx
je 0x454474
mov eax, dword [ebx + 0x14]
cmp word [eax + ecx*2 - 2], 0xa
je 0x454474
xor cl, cl
jmp 0x454476
mov cl, 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x454482
test cl, cl
jne 0x4544ad
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
mov eax, dword [ebx + 0x40]
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
cmp eax, dword [ebx + 0x44]
jne 0x4544c3
mov eax, dword [ebx + 0x44]
cmp dword [ebx + 0x40], eax
jne 0x4544c0
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x4544c3
mov dword [ebx + 0x3c], eax
mov ecx, dword [ebx + 0x3c]
mov esi, dword [ebx + 4]
inc ecx
cmp ecx, esi
jge 0x4545c2
mov eax, dword [ebx + 0xe70]
and eax, 0x8000
mov dword [ebp - 0xd0], 0x3000
mov dword [ebp - 0xc8], eax
nop dword [eax]
test eax, eax
jne 0x4545b7
test ecx, ecx
jle 0x4545c0
mov edx, dword [ebx + 0x14]
movzx eax, word [edx + ecx*2 - 2]
cmp eax, 0x20
je 0x4545b1
cmp eax, 9
je 0x4545b1
cmp ax, word [ebp - 0xd0]
je 0x4545b1
cmp eax, 0x2c
je 0x4545b1
cmp eax, 0x3b
je 0x4545b1
cmp eax, 0x28
je 0x4545b1
cmp eax, 0x29
je 0x4545b1
cmp eax, 0x7b
je 0x4545b1
cmp eax, 0x7d
je 0x4545b1
cmp eax, 0x5b
je 0x4545b1
cmp eax, 0x5d
je 0x4545b1
cmp eax, 0x7c
je 0x4545b1
cmp eax, 0xa
je 0x4545b1
cmp eax, 0xd
je 0x4545b1
movzx eax, word [edx + ecx*2]
cmp eax, 0x20
je 0x4545c0
cmp eax, 9
je 0x4545c0
mov edx, 0x3000
cmp ax, dx
je 0x4545c0
cmp eax, 0x2c
je 0x4545c0
cmp eax, 0x3b
je 0x4545c0
cmp eax, 0x28
je 0x4545c0
cmp eax, 0x29
je 0x4545c0
cmp eax, 0x7b
je 0x4545c0
cmp eax, 0x7d
je 0x4545c0
cmp eax, 0x5b
je 0x4545c0
cmp eax, 0x5d
je 0x4545c0
cmp eax, 0x7c
je 0x4545c0
cmp eax, 0xa
je 0x4545c0
cmp eax, 0xd
je 0x4545c0
mov eax, dword [ebp - 0xc8]
inc ecx
cmp ecx, esi
jl 0x4544f0
cmp ecx, esi
cmovg ecx, esi
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x44], ecx
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x4545eb
cmp eax, esi
jle 0x4545db
mov dword [ebx + 0x40], esi
mov eax, esi
cmp ecx, esi
jle 0x4545e4
mov dword [ebx + 0x44], esi
mov ecx, esi
cmp eax, ecx
jne 0x4545eb
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x3c], esi
jle 0x454685
mov edi, dword [ebp - 0xbc]
mov dword [ebx + 0x3c], esi
jmp 0x45475a
mov eax, dword [ebx + 0x14]
lea edx, [ebx + 0x3c]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x600005
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x600001
call fcn.00452130
add esp, 4
cmp esi, 0xa
je 0x45467e
cmp byte [ebp - 0xe0], 0
je 0x45467e
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x44]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x3c], ecx
mov byte [ebx + 0xe6c], 0
mov edi, dword [ebp - 0xbc]
jmp 0x45475a
cmp byte [edi + 0x3678], 0
mov al, byte [ebx + 0xe6d]
je 0x4546e3
test al, al
jne 0x4546e3
test cl, cl
je 0x454764
cmp byte [ebx + 0x53], al
je 0x4546ca
push 0
mov edx, ebx
lea ecx, [ebp - 0x140]
call fcn.004519f0
movss xmm2, dword [ebp - 0x134]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00451d40
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x52], 0
jmp 0x45475a
cmp byte [edi + 0xd60], 0
je 0x454764
xorps xmm4, xmm4
test al, al
jne 0x454767
movss xmm0, dword [edi + 0xb4]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x454715
movss xmm0, dword [edi + 0xb8]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x454767
cmp byte [ebx + 0x53], 0
je 0x454735
push 0
mov edx, ebx
lea ecx, [ebp - 0x140]
call fcn.004519f0
movss xmm2, dword [ebp - 0x134]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x454743
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00451d40
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
xorps xmm4, xmm4
mov cl, byte [ebp - 0xb5]
cmp byte [ebx + 0xe6d], 0
je 0x454786
cmp byte [edi + 0xd60], 0
jne 0x454786
mov byte [ebx + 0xe6d], 0
cmp byte [edi + 0xd74], 0
je 0x454798
cmp byte [edi + 0xd76], 0
je 0x4547a5
test cl, cl
je 0x4547a9
cmp byte [edi + 0xd77], 0
je 0x4547a9
mov dl, 1
jmp 0x4547ab
xor dl, dl
mov ecx, dword [ebp + 0x14]
mov byte [ebp - 0xb6], dl
test ecx, 0x400
je 0x4548c0
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2dd0]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x454853
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4548bd
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x454802
mov eax, 1
jmp 0x45484f
comiss xmm1, xmm0
jb 0x45480b
xor eax, eax
jmp 0x45484f
comiss xmm4, xmm3
jb 0x454821
comiss xmm2, xmm1
jbe 0x454807
comiss xmm0, xmm2
jb 0x454807
mov eax, 1
jmp 0x45484f
comiss xmm2, xmm1
jbe 0x45482b
or ecx, 0xffffffff
jmp 0x454837
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454841
or eax, 0xffffffff
jmp 0x45484d
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4548bd
mov eax, dword [ebp - 0xe8]
test dl, dl
jne 0x454a21
cmp byte [edi + 0xd75], dl
jne 0x454a21
test al, al
jne 0x454a21
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xd4]
push 2
sub esp, 8
mov dword [ebp - 0xd4], 9
call fcn.00453230
add esp, 0xc
test al, al
je 0x4548bd
push dword [ebp - 0xd4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0xe8]
cmp dword [edi + 0x37b8], 0
jle 0x454984
cmp byte [ebp - 0xb6], 0
jne 0x454954
test al, al
jne 0x454954
cmp byte [ebp - 0xbf], al
jne 0x454954
xor esi, esi
nop
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0x37c0]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xd4], eax
cmp eax, 9
je 0x454948
push 2
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0xd4]
call fcn.00453230
add esp, 0xc
test al, al
je 0x454948
push dword [ebp - 0xd4]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi + 0x37b8]
jl 0x4548f0
mov ecx, dword [edi + 0x37bc]
test ecx, ecx
jns 0x45497a
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 + 0x37b8]
call fcn.004380c0
mov dword [edi + 0x37b8], 0
mov edi, dword [ebp - 0xbc]
mov ecx, dword [edi + 0x3f40]
xor dl, dl
mov eax, ecx
mov byte [ebp - 0xb5], dl
cmp ecx, dword [ebp - 0xf0]
jne 0x456154
cmp byte [edi + 0x3f4c], dl
jne 0x456154
cmp byte [ebp - 0xbe], dl
jne 0x456154
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [edi + 0x3894]
mov ecx, dword [ebp - 0xbc]
divss xmm0, dword [edi + 0x3c98]
mov edi, 1
cvttss2si eax, xmm0
cmp eax, edi
cmovge edi, eax
xor esi, esi
mov dword [ebx + 0x4c], edi
mov eax, 0x400000
cmp byte [ecx + 0xd75], dl
cmovne esi, eax
mov al, byte [ecx + 0x61]
mov byte [ebp - 0x119], al
test al, al
je 0x454a29
cmp dword [ecx + 0xdc8], 0xa
jne 0x454a29
mov byte [ebp - 0xb6], 1
mov edx, 0xa
jmp 0x454a3a
mov ecx, dword [ebp + 0x14]
jmp 0x4548c6
mov edx, dword [ecx + 0xdc8]
mov byte [ebp - 0xb6], 0
test al, al
je 0x454a65
cmp byte [ecx + 0xd77], 0
mov al, byte [ecx + 0xd76]
mov byte [ebp - 0xca], al
je 0x454a78
cmp byte [ecx + 0xd74], 0
jne 0x454a78
test al, al
jne 0x454a78
mov byte [ebp - 0xbf], 1
jmp 0x454a7f
mov al, byte [ecx + 0xd74]
mov byte [ebp - 0xca], al
mov byte [ebp - 0xb6], 0
mov byte [ebp - 0xbf], 0
cmp byte [ecx + 0x61], 0
je 0x454a8a
cmp edx, 8
jmp 0x454a8d
cmp edx, 1
sete al
xorps xmm5, xmm5
mov byte [ebp - 0xc1], al
test al, al
je 0x454b38
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3160]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454bd6
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454b38
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454ae3
mov eax, 1
jmp 0x454b30
comiss xmm1, xmm0
jb 0x454aec
xor eax, eax
jmp 0x454b30
comiss xmm5, xmm3
jb 0x454b02
comiss xmm2, xmm1
jbe 0x454ae8
comiss xmm0, xmm2
jb 0x454ae8
mov eax, 1
jmp 0x454b30
comiss xmm2, xmm1
jbe 0x454b0c
or ecx, 0xffffffff
jmp 0x454b18
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454b22
or eax, 0xffffffff
jmp 0x454b2e
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jg 0x454bd6
cmp edx, 2
jne 0x454c02
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e70]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454bd6
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454c02
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454b85
lea eax, [edx - 1]
jmp 0x454bd2
comiss xmm1, xmm0
jb 0x454b8e
xor eax, eax
jmp 0x454bd2
comiss xmm5, xmm3
jb 0x454ba4
comiss xmm2, xmm1
jbe 0x454b8a
comiss xmm0, xmm2
jb 0x454b8a
mov eax, 1
jmp 0x454bd2
comiss xmm2, xmm1
jbe 0x454bae
or ecx, 0xffffffff
jmp 0x454bba
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454bc4
or eax, 0xffffffff
jmp 0x454bd0
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x454c02
cmp byte [ebp - 0xe8], 0
jne 0x454c02
cmp byte [ebp - 0x154], 0
jne 0x454c02
cmp byte [ebp - 0xe0], 0
je 0x454bf9
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x454c02
mov byte [ebp - 0xc0], 1
jmp 0x454c09
mov byte [ebp - 0xc0], 0
cmp byte [ebp - 0xc1], 0
je 0x454cad
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3010]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454d4a
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454cad
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454c58
mov eax, 1
jmp 0x454ca5
comiss xmm1, xmm0
jb 0x454c61
xor eax, eax
jmp 0x454ca5
comiss xmm5, xmm3
jb 0x454c77
comiss xmm2, xmm1
jbe 0x454c5d
comiss xmm0, xmm2
jb 0x454c5d
mov eax, 1
jmp 0x454ca5
comiss xmm2, xmm1
jbe 0x454c81
or ecx, 0xffffffff
jmp 0x454c8d
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454c97
or eax, 0xffffffff
jmp 0x454ca3
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jg 0x454d4a
cmp edx, 1
jne 0x454d6d
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e60]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454d4a
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454d6d
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454cf9
mov eax, edx
jmp 0x454d46
comiss xmm1, xmm0
jb 0x454d02
xor eax, eax
jmp 0x454d46
comiss xmm5, xmm3
jb 0x454d18
comiss xmm2, xmm1
jbe 0x454cfe
comiss xmm0, xmm2
jb 0x454cfe
mov eax, 1
jmp 0x454d46
comiss xmm2, xmm1
jbe 0x454d22
or ecx, 0xffffffff
jmp 0x454d2e
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454d38
or eax, 0xffffffff
jmp 0x454d44
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x454d6d
cmp byte [ebp - 0x154], 0
jne 0x454d6d
cmp byte [ebp - 0xe0], 0
je 0x454d64
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x454d6d
mov byte [ebp - 0x103], 1
jmp 0x454d74
mov byte [ebp - 0x103], 0
cmp byte [ebp - 0xc1], 0
je 0x454e18
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3140]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454eb6
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454e18
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454dc3
mov eax, 1
jmp 0x454e10
comiss xmm1, xmm0
jb 0x454dcc
xor eax, eax
jmp 0x454e10
comiss xmm5, xmm3
jb 0x454de2
comiss xmm2, xmm1
jbe 0x454dc8
comiss xmm0, xmm2
jb 0x454dc8
mov eax, 1
jmp 0x454e10
comiss xmm2, xmm1
jbe 0x454dec
or ecx, 0xffffffff
jmp 0x454df8
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454e02
or eax, 0xffffffff
jmp 0x454e0e
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jg 0x454eb6
cmp edx, 2
jne 0x454ec6
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e60]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454eb6
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454ec6
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454e65
lea eax, [edx - 1]
jmp 0x454eb2
comiss xmm1, xmm0
jb 0x454e6e
xor eax, eax
jmp 0x454eb2
comiss xmm5, xmm3
jb 0x454e84
comiss xmm2, xmm1
jbe 0x454e6a
comiss xmm0, xmm2
jb 0x454e6a
mov eax, 1
jmp 0x454eb2
comiss xmm2, xmm1
jbe 0x454e8e
or ecx, 0xffffffff
jmp 0x454e9a
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454ea4
or eax, 0xffffffff
jmp 0x454eb0
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x454ec6
cmp byte [ebp - 0xe8], 0
mov byte [ebp - 0xe9], 1
je 0x454ecd
mov byte [ebp - 0xe9], 0
mov dl, byte [ebp - 0xc1]
test dl, dl
je 0x454f8d
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3180]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x454f72
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x454f8d
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454f21
mov eax, 1
jmp 0x454f6e
comiss xmm1, xmm0
jb 0x454f2a
xor eax, eax
jmp 0x454f6e
comiss xmm5, xmm3
jb 0x454f40
comiss xmm2, xmm1
jbe 0x454f26
comiss xmm0, xmm2
jb 0x454f26
mov eax, 1
jmp 0x454f6e
comiss xmm2, xmm1
jbe 0x454f4a
or ecx, 0xffffffff
jmp 0x454f56
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x454f60
or eax, 0xffffffff
jmp 0x454f6c
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x454f8d
cmp byte [ebp - 0xe8], 0
jne 0x454f8d
cmp byte [ebp - 0xf8], 0
je 0x454f8d
mov byte [ebp - 0x101], 1
jmp 0x454f9c
mov byte [ebp - 0x101], 0
test dl, dl
je 0x455033
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3170]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x4550d7
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x455033
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x454fde
mov eax, 1
jmp 0x45502b
comiss xmm1, xmm0
jb 0x454fe7
xor eax, eax
jmp 0x45502b
comiss xmm5, xmm3
jb 0x454ffd
comiss xmm2, xmm1
jbe 0x454fe3
comiss xmm0, xmm2
jb 0x454fe3
mov eax, 1
jmp 0x45502b
comiss xmm2, xmm1
jbe 0x455007
or ecx, 0xffffffff
jmp 0x455013
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x45501d
or eax, 0xffffffff
jmp 0x455029
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jg 0x4550d7
cmp byte [ebp - 0xb6], 0
je 0x4550f0
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x3180]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x4550d7
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4550f0
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455086
mov eax, 1
jmp 0x4550d3
comiss xmm1, xmm0
jb 0x45508f
xor eax, eax
jmp 0x4550d3
comiss xmm5, xmm3
jb 0x4550a5
comiss xmm2, xmm1
jbe 0x45508b
comiss xmm0, xmm2
jb 0x45508b
mov eax, 1
jmp 0x4550d3
comiss xmm2, xmm1
jbe 0x4550af
or ecx, 0xffffffff
jmp 0x4550bb
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x4550c5
or eax, 0xffffffff
jmp 0x4550d1
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4550f0
cmp byte [ebp - 0xe8], 0
jne 0x4550f0
cmp byte [ebp - 0xf8], 0
mov byte [ebp - 0x102], 1
jne 0x4550f7
mov byte [ebp - 0x102], 0
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2ea0]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x455225
movss xmm0, dword [ecx + 0x34]
comiss xmm1, xmm0
jbe 0x45518e
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x455139
mov eax, 1
jmp 0x455186
comiss xmm2, xmm1
jb 0x455142
xor eax, eax
jmp 0x455186
comiss xmm5, xmm3
jb 0x455158
comiss xmm0, xmm2
jbe 0x45513e
comiss xmm1, xmm0
jb 0x45513e
mov eax, 1
jmp 0x455186
comiss xmm0, xmm2
jbe 0x455162
or ecx, 0xffffffff
jmp 0x45516e
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x455178
or eax, 0xffffffff
jmp 0x455184
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x455225
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x3440]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x455225
comiss xmm1, xmm0
jbe 0x45521c
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x4551cb
mov eax, 1
jmp 0x455218
comiss xmm2, xmm1
jb 0x4551d4
xor eax, eax
jmp 0x455218
comiss xmm5, xmm3
jb 0x4551ea
comiss xmm0, xmm2
jbe 0x4551d0
comiss xmm1, xmm0
jb 0x4551d0
mov eax, 1
jmp 0x455218
comiss xmm0, xmm2
jbe 0x4551f4
or ecx, 0xffffffff
jmp 0x455200
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x45520a
or eax, 0xffffffff
jmp 0x455216
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x455225
mov byte [ebp - 0xb6], 0
jmp 0x45522c
mov byte [ebp - 0xb6], 1
mov edx, 1
xor ecx, ecx
call fcn.00428b60
comiss xmm0, xmm5
jbe 0x4552ce
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e90]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x4552ce
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4552e4
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455280
mov eax, edx
jmp 0x4552ca
comiss xmm1, xmm0
jb 0x455289
xor eax, eax
jmp 0x4552ca
comiss xmm5, xmm3
jb 0x45529c
comiss xmm2, xmm1
jbe 0x455285
comiss xmm0, xmm2
jb 0x455285
mov eax, edx
jmp 0x4552ca
comiss xmm2, xmm1
jbe 0x4552a6
or ecx, 0xffffffff
jmp 0x4552b2
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x4552bc
or eax, 0xffffffff
jmp 0x4552c8
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4552e4
mov ecx, 2
call fcn.00428b60
comiss xmm0, xmm5
mov byte [ebp - 0x106], 0
jbe 0x4552eb
mov byte [ebp - 0x106], 1
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2eb0]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x455393
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x45537e
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x45532d
mov eax, 1
jmp 0x45537a
comiss xmm1, xmm0
jb 0x455336
xor eax, eax
jmp 0x45537a
comiss xmm5, xmm3
jb 0x45534c
comiss xmm2, xmm1
jbe 0x455332
comiss xmm0, xmm2
jb 0x455332
mov eax, 1
jmp 0x45537a
comiss xmm2, xmm1
jbe 0x455356
or ecx, 0xffffffff
jmp 0x455362
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x45536c
or eax, 0xffffffff
jmp 0x455378
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jg 0x455393
mov edx, 1
mov ecx, edx
call fcn.00428b60
comiss xmm0, xmm5
ja 0x455393
xor dl, dl
jmp 0x455395
mov dl, 1
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2de0]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x45610e
movss xmm0, dword [ecx + 0x34]
comiss xmm1, xmm0
jbe 0x45542c
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x4553d7
mov eax, 1
jmp 0x455424
comiss xmm2, xmm1
jb 0x4553e0
xor eax, eax
jmp 0x455424
comiss xmm5, xmm3
jb 0x4553f6
comiss xmm0, xmm2
jbe 0x4553dc
comiss xmm1, xmm0
jb 0x4553dc
mov eax, 1
jmp 0x455424
comiss xmm0, xmm2
jbe 0x455400
or ecx, 0xffffffff
jmp 0x45540c
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x455416
or eax, 0xffffffff
jmp 0x455422
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x45610e
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2df0]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x4560de
comiss xmm1, xmm0
jbe 0x4554be
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x455469
mov eax, 1
jmp 0x4554b6
comiss xmm2, xmm1
jb 0x455472
xor eax, eax
jmp 0x4554b6
comiss xmm5, xmm3
jb 0x455488
comiss xmm0, xmm2
jbe 0x45546e
comiss xmm1, xmm0
jb 0x45546e
mov eax, 1
jmp 0x4554b6
comiss xmm0, xmm2
jbe 0x455492
or ecx, 0xffffffff
jmp 0x45549e
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x4554a8
or eax, 0xffffffff
jmp 0x4554b4
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x4560de
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e00]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x455559
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4555e4
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455504
mov eax, 1
jmp 0x455551
comiss xmm1, xmm0
jb 0x45550d
xor eax, eax
jmp 0x455551
comiss xmm5, xmm3
jb 0x455523
comiss xmm2, xmm1
jbe 0x455509
comiss xmm0, xmm2
jb 0x455509
mov eax, 1
jmp 0x455551
comiss xmm2, xmm1
jbe 0x45552d
or ecx, 0xffffffff
jmp 0x455539
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455543
or eax, 0xffffffff
jmp 0x45554f
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4555e4
cmp byte [ebp - 0xe0], 0
je 0x4555e4
mov edi, dword [ebp - 0xbc]
cmp byte [edi + 0xd74], 0
je 0x4555b0
mov ecx, dword [ebp - 0x100]
movss xmm0, dword [ecx + 0x94]
subss xmm0, dword [edi + 0x3c98]
maxss xmm0, xmm5
movss dword [ecx + 0xa4], xmm0
mov dword [ecx + 0xac], 0
mov dword [ecx + 0xb4], 0
jmp 0x455ab4
movzx eax, byte [ebp - 0xbf]
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
jmp 0x455ab4
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e10]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x45567b
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4556d4
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x45562a
mov eax, 1
jmp 0x455677
comiss xmm1, xmm0
jb 0x455633
xor eax, eax
jmp 0x455677
comiss xmm5, xmm3
jb 0x455649
comiss xmm2, xmm1
jbe 0x45562f
comiss xmm0, xmm2
jb 0x45562f
mov eax, 1
jmp 0x455677
comiss xmm2, xmm1
jbe 0x455653
or ecx, 0xffffffff
jmp 0x45565f
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455669
or eax, 0xffffffff
jmp 0x455675
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4556d4
cmp byte [ebp - 0xe0], 0
je 0x4556d4
mov edi, dword [ebp - 0xbc]
cmp byte [edi + 0xd74], 0
je 0x4556c1
mov ecx, dword [ebp - 0x100]
mov eax, dword [0x59d350]
movss xmm0, dword [ecx + 0x94]
addss xmm0, dword [edi + 0x3c98]
mov eax, dword [eax + 0x3f04]
minss xmm0, dword [eax + 0x9c]
jmp 0x45558f
movzx eax, byte [ebp - 0xbf]
lea eax, [eax*4 + 0x200003]
jmp 0x4555be
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e20]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x45576b
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4557c7
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x45571a
mov eax, 1
jmp 0x455767
comiss xmm1, xmm0
jb 0x455723
xor eax, eax
jmp 0x455767
comiss xmm5, xmm3
jb 0x455739
comiss xmm2, xmm1
jbe 0x45571f
comiss xmm0, xmm2
jb 0x45571f
mov eax, 1
jmp 0x455767
comiss xmm2, xmm1
jbe 0x455743
or ecx, 0xffffffff
jmp 0x45574f
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455759
or eax, 0xffffffff
jmp 0x455765
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4557c7
cmp byte [ebp - 0xe0], 0
je 0x4557c7
or esi, 0x20000e
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00452130
movss xmm1, dword [ebp - 0x124]
add esp, 4
movd xmm0, edi
mov edi, dword [ebp - 0xbc]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x3c98]
subss xmm1, xmm0
movss dword [ebp - 0x124], xmm1
jmp 0x455ab4
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e30]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x45585e
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4558b6
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x45580d
mov eax, 1
jmp 0x45585a
comiss xmm1, xmm0
jb 0x455816
xor eax, eax
jmp 0x45585a
comiss xmm5, xmm3
jb 0x45582c
comiss xmm2, xmm1
jbe 0x455812
comiss xmm0, xmm2
jb 0x455812
mov eax, 1
jmp 0x45585a
comiss xmm2, xmm1
jbe 0x455836
or ecx, 0xffffffff
jmp 0x455842
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x45584c
or eax, 0xffffffff
jmp 0x455858
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4558b6
cmp byte [ebp - 0xe0], 0
je 0x4558b6
or esi, 0x20000f
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00452130
movd xmm0, edi
add esp, 4
mov edi, dword [ebp - 0xbc]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x3c98]
addss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x124], xmm0
jmp 0x455ab4
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2e40]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x4560bb
movss xmm0, dword [ecx + 0x34]
comiss xmm1, xmm0
jbe 0x45594d
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x4558f8
mov eax, 1
jmp 0x455945
comiss xmm2, xmm1
jb 0x455901
xor eax, eax
jmp 0x455945
comiss xmm5, xmm3
jb 0x455917
comiss xmm0, xmm2
jbe 0x4558fd
comiss xmm1, xmm0
jb 0x4558fd
mov eax, 1
jmp 0x455945
comiss xmm0, xmm2
jbe 0x455921
or ecx, 0xffffffff
jmp 0x45592d
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x455937
or eax, 0xffffffff
jmp 0x455943
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x4560bb
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2e50]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x456098
comiss xmm1, xmm0
jbe 0x4559df
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x45598a
mov eax, 1
jmp 0x4559d7
comiss xmm2, xmm1
jb 0x455993
xor eax, eax
jmp 0x4559d7
comiss xmm5, xmm3
jb 0x4559a9
comiss xmm0, xmm2
jbe 0x45598f
comiss xmm1, xmm0
jb 0x45598f
mov eax, 1
jmp 0x4559d7
comiss xmm0, xmm2
jbe 0x4559b3
or ecx, 0xffffffff
jmp 0x4559bf
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x4559c9
or eax, 0xffffffff
jmp 0x4559d5
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x456098
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e70]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x455a76
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x455ada
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455a25
mov eax, 1
jmp 0x455a72
comiss xmm1, xmm0
jb 0x455a2e
xor eax, eax
jmp 0x455a72
comiss xmm5, xmm3
jb 0x455a44
comiss xmm2, xmm1
jbe 0x455a2a
comiss xmm0, xmm2
jb 0x455a2a
mov eax, 1
jmp 0x455a72
comiss xmm2, xmm1
jbe 0x455a4e
or ecx, 0xffffffff
jmp 0x455a5a
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455a64
or eax, 0xffffffff
jmp 0x455a70
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x455ada
cmp byte [ebp - 0xe8], 0
mov dh, byte [ebp - 0xc0]
jne 0x455ae0
test dh, dh
jne 0x455ae0
or esi, 0x200008
push esi
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov edi, dword [ebp - 0xbc]
mov dl, byte [ebp - 0xb5]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x45613e
cmp byte [ebp - 0xd5], 0
je 0x45613e
mov al, 1
jmp 0x456140
mov dh, byte [ebp - 0xc0]
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2e80]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x455b7b
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x455c27
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455b26
mov eax, 1
jmp 0x455b73
comiss xmm1, xmm0
jb 0x455b2f
xor eax, eax
jmp 0x455b73
comiss xmm5, xmm3
jb 0x455b45
comiss xmm2, xmm1
jbe 0x455b2b
comiss xmm0, xmm2
jb 0x455b2b
mov eax, 1
jmp 0x455b73
comiss xmm2, xmm1
jbe 0x455b4f
or ecx, 0xffffffff
jmp 0x455b5b
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455b65
or eax, 0xffffffff
jmp 0x455b71
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x455c27
cmp byte [ebp - 0xe8], 0
jne 0x455c27
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x455bbc
cmp byte [ebp - 0xca], 0
je 0x455bce
push 0x60000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov edi, dword [ebp - 0xbc]
or esi, 0x200009
push esi
jmp 0x4555c1
cmp byte [ebp - 0x119], 0
je 0x455bbc
mov edi, dword [ebp - 0xbc]
cmp byte [edi + 0xd77], 0
je 0x455bc2
cmp byte [edi + 0xd76], 0
jne 0x455bc2
cmp byte [edi + 0xd74], 0
jne 0x455bc2
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00452130
add esp, 4
mov byte [ebx + 0xe6c], 1
or esi, 0x200009
mov dword [ebx + 0xe68], 0xbe99999a
push esi
jmp 0x4555c1
cmp byte [ebp - 0xb6], 0
je 0x455caf
mov edx, dword [ebp + 0x14]
mov eax, edx
mov edi, dword [ebp - 0xbc]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xe0], 0
je 0x455c5b
mov cl, byte [edi + 0xd74]
test al, al
je 0x455c6e
test cl, cl
jne 0x455c72
mov byte [ebp - 0xbe], 1
mov byte [ebp - 0xbd], 1
jmp 0x455ab4
test cl, cl
jne 0x455c5b
cmp byte [ebp - 0xe8], 0
jne 0x455ab4
push 2
sub esp, 8
mov dword [ebp - 0xd4], 0xa
lea ecx, [ebp - 0xd4]
call fcn.00453230
add esp, 0xc
test al, al
je 0x455ab4
push dword [ebp - 0xd4]
jmp 0x4555c1
cmp byte [ebp - 0x106], 0
je 0x455ccb
mov byte [ebp - 0xbe], 1
mov byte [ebp - 0xbd], 1
jmp 0x455aae
test dl, dl
je 0x455ce2
mov edi, dword [ebp - 0xbc]
mov dl, 1
mov byte [ebp - 0xbe], dl
jmp 0x455aba
mov al, byte [ebp - 0x101]
test al, al
jne 0x456060
cmp byte [ebp - 0x102], al
jne 0x456060
cmp byte [ebp - 0xc1], al
je 0x455dbf
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2ff0]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x455d9f
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x455dbf
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x455d4e
mov eax, 1
jmp 0x455d9b
comiss xmm1, xmm0
jb 0x455d57
xor eax, eax
jmp 0x455d9b
comiss xmm5, xmm3
jb 0x455d6d
comiss xmm2, xmm1
jbe 0x455d53
comiss xmm0, xmm2
jb 0x455d53
mov eax, 1
jmp 0x455d9b
comiss xmm2, xmm1
jbe 0x455d77
or ecx, 0xffffffff
jmp 0x455d83
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x455d8d
or eax, 0xffffffff
jmp 0x455d99
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x455dbf
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
jmp 0x455aae
test dh, dh
jne 0x455f47
cmp byte [ebp - 0x103], dh
jne 0x455f47
cmp byte [ebp - 0xe9], dh
je 0x455aae
mov eax, dword [0x59d350]
mov ecx, dword [eax + 0x80]
test ecx, ecx
je 0x455e04
push dword [eax + 0x88]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x455e09
jmp 0x455aae
mov esi, 0x46df9c
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x455e10
mov eax, dword [0x59d350]
sub ecx, edx
test eax, eax
je 0x455e28
inc dword [eax + 0xb0]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0x110], eax
xor edi, edi
cmp byte [esi], 0
je 0x455ea4
mov ebx, eax
nop dword [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.00417490
add esp, 4
add esi, eax
cmp dword [ebp - 0xdc], 0
je 0x455e98
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xdc]
push 4
sub esp, 8
call fcn.00453230
add esp, 0xc
test al, al
je 0x455e93
mov ax, word [ebp - 0xdc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x455e50
mov ebx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x455f23
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x455ed4
cmp ecx, eax
jle 0x455ec4
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x455ecd
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x455ed4
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x455edc
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004520a0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0x110]
call fcn.00451c10
add esp, 8
test al, al
je 0x455f16
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x5c]
push edi
push 0
call fcn.00452f10
add esp, 8
mov byte [ebx + 0x52], 0
add dword [ebx + 0x3c], edi
mov eax, dword [ebp - 0x110]
mov byte [ebx + 0xe6c], 1
test eax, eax
je 0x455f37
mov ecx, dword [0x59d350]
test ecx, ecx
je 0x455f37
dec dword [ecx + 0xb0]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x455aae
mov edi, dword [ebp - 0xbc]
cmp dword [edi + 0x84], 0
je 0x456016
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x455f6e
mov ecx, edi
cmovl edi, eax
cmovge ecx, eax
jmp 0x455f73
mov ecx, dword [ebx + 4]
xor edi, edi
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xd4], ecx
lea edx, [eax + ecx*2]
lea ecx, [eax + edi*2]
call fcn.00417720
mov ecx, dword [0x59d350]
inc eax
mov dword [ebp - 0xd0], eax
test ecx, ecx
je 0x455f9e
inc dword [ecx + 0xb0]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xf8], eax
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + edi*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.004176b0
mov eax, dword [0x59d350]
add esp, 8
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x455ff1
push esi
push dword [eax + 0x88]
call ecx
mov eax, dword [0x59d350]
add esp, 8
test esi, esi
je 0x455fff
test eax, eax
je 0x455fff
dec dword [eax + 0xb0]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov dh, byte [ebp - 0xc0]
add esp, 4
mov edi, dword [ebp - 0xbc]
test dh, dh
je 0x455ab4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x45603a
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 0x455ab4
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.004520a0
mov byte [ebx + 0x52], 0
jmp 0x455ab4
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.00452130
mov eax, dword [ebx + 0x3c]
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x455aae
mov edi, dword [ebp - 0xbc]
mov eax, esi
or eax, 0x200007
or esi, 0x200005
cmp byte [edi + 0xd74], 0
cmovne esi, eax
push esi
jmp 0x4555c1
mov edi, dword [ebp - 0xbc]
mov eax, esi
or eax, 0x200006
or esi, 0x200004
cmp byte [edi + 0xd74], 0
cmovne esi, eax
push esi
jmp 0x4555c1
cmp byte [ebp - 0xbf], 0
je 0x4560f3
mov eax, 0x200005
or esi, eax
jmp 0x455a8f
cmp byte [ebp - 0xca], 0
mov eax, 0x200001
mov ecx, 0x20000d
cmovne eax, ecx
or esi, eax
jmp 0x455a8f
cmp byte [ebp - 0xbf], 0
je 0x456123
mov eax, 0x200004
or esi, eax
jmp 0x455a8f
cmp byte [ebp - 0xca], 0
mov eax, 0x200000
mov ecx, 0x20000c
cmovne eax, ecx
or esi, eax
jmp 0x455a8f
xor al, al
mov ah, byte [ebp - 0xc9]
or ah, al
mov byte [ebp - 0xc9], ah
mov eax, dword [edi + 0x3f40]
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xc8], 0
cmp eax, esi
jne 0x456a43
test dl, dl
je 0x456438
cmp byte [ebp - 0xe8], 0
jne 0x456364
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xe4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4561b6
test dl, dl
je 0x4561b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4561b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x456196
xor eax, eax
jmp 0x4561bb
sbb eax, eax
or eax, 1
test eax, eax
je 0x456364
mov eax, dword [ebx + 0x24]
xor ecx, ecx
dec eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xc8], eax
mov edx, esi
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x12c], ecx
test eax, eax
jle 0x4562d6
lea esi, [eax + edx]
mov edi, edx
xor eax, eax
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x45620a
cmp edi, esi
jae 0x456234
cmp byte [edi], 0
je 0x456234
push esi
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.00417490
add edi, eax
add esp, 4
cmp dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xdc]
je 0x456234
inc eax
jmp 0x4561fc
lea ecx, [eax + 1]
mov dword [ebp - 0xd4], ecx
test ecx, ecx
jle 0x45625f
mov edx, 8
mov eax, ecx
cmp ecx, edx
lea ecx, [ebp - 0x134]
cmovl eax, edx
push eax
call fcn.004380c0
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x12c]
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0xdc], eax
lea edx, [eax - 2]
lea edx, [edx + ecx*2]
mov dword [ebp - 0xf8], edx
cmp eax, edx
jae 0x4562cb
test esi, esi
je 0x456289
cmp edi, esi
jae 0x4562c5
cmp byte [edi], 0
je 0x4562c5
push esi
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.00417490
mov ecx, dword [ebp - 0xd0]
add edi, eax
mov eax, dword [ebp - 0xdc]
add esp, 4
test ecx, ecx
je 0x4562c5
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xdc], eax
cmp eax, dword [ebp - 0xf8]
jb 0x456281
mov ecx, dword [ebp - 0xd4]
xor edx, edx
mov word [eax], dx
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebx + 4]
lea edi, [ecx - 1]
xor ecx, ecx
test eax, eax
cmovle edi, ecx
lea ecx, [ebx + 0x5c]
push edi
push esi
xor edx, edx
call fcn.00452f10
mov edx, eax
add esp, 8
test edx, edx
je 0x456310
xor ecx, ecx
test esi, esi
jle 0x456310
nop
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x456300
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00451bb0
add esp, 4
test edi, edi
jle 0x456341
push edi
push dword [ebp - 0x12c]
xor edx, edx
mov ecx, ebx
call fcn.00451c10
add esp, 8
test al, al
je 0x456341
mov dword [ebx + 0x3c], edi
mov byte [ebx + 0x52], 0
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x456364
mov eax, dword [0x59d350]
test eax, eax
je 0x45635a
dec dword [eax + 0xb0]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp byte [ebp - 0xbd], 0
mov eax, dword [ebp + 0x14]
je 0x456378
test al, 0x20
jne 0x45643b
mov edi, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xf4]
mov dword [ebx + 0xe70], 0
test edx, edx
je 0x456a3d
cmp byte [ebp - 0x120], 0
je 0x456a0e
mov dword [ebp - 0xb0], eax
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x9c], ecx
mov ecx, 0xff
movlpd qword [ebp - 0xa8], xmm0
cmp eax, ecx
movlpd qword [ebp - 0x94], xmm0
movlpd qword [ebp - 0x8c], xmm0
cmovle eax, ecx
mov dword [ebp - 0xb4], 0x40000
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xac], 0
call eax
mov esi, dword [ebp - 0x98]
add esp, 4
mov edi, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], edi
lea ecx, [esi - 1]
cmp dword [ebp - 0x9c], ecx
cmovl ecx, dword [ebp - 0x9c]
jmp 0x456a13
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xe8], 0
jne 0x4564f3
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
mov edi, dword [ebx + 0x1c]
lea esi, [eax*4 + 1]
mov dword [ebp - 0xd0], esi
lea eax, [ebx + 0x18]
cmp esi, edi
jle 0x45648f
test edi, edi
je 0x456477
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x45647c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.00438050
lea eax, [ebx + 0x18]
mov ecx, dword [ebp - 0xd0]
mov dword [eax], esi
mov esi, dword [ebx + 0x20]
add ecx, esi
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0xd4], ecx
lea eax, [ecx - 1]
mov dword [ebp - 0xd0], eax
cmp esi, eax
jae 0x4564ed
mov ebx, eax
movzx eax, word [edi]
test ax, ax
je 0x4564e7
add edi, 2
cmp eax, 0x80
jae 0x4564cb
mov byte [esi], al
inc esi
jmp 0x4564e3
mov edx, ecx
mov ecx, esi
sub edx, esi
push eax
dec edx
call fcn.004175f0
mov ecx, dword [ebp - 0xd4]
add esp, 4
add esi, eax
cmp esi, ebx
jb 0x4564b4
mov ebx, dword [ebp - 0x144]
mov eax, dword [ebp + 0x14]
mov byte [esi], 0
test eax, 0x801c0
je 0x4569b6
xor edx, edx
xorps xmm4, xmm4
test al, 0x40
je 0x4565ae
mov ecx, dword [0x59d350]
movss xmm0, dword [ecx + 0x2dd0]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x45659c
movss xmm2, dword [ecx + 0x34]
comiss xmm0, xmm2
jbe 0x4565ab
movss xmm3, dword [ecx + 0x38]
movaps xmm1, xmm0
subss xmm1, dword [ecx + 0x18]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x45654b
lea eax, [edx + 1]
jmp 0x456598
comiss xmm1, xmm0
jb 0x456554
xor eax, eax
jmp 0x456598
comiss xmm4, xmm3
jb 0x45656a
comiss xmm2, xmm1
jbe 0x456550
comiss xmm0, xmm2
jb 0x456550
mov eax, 1
jmp 0x456598
comiss xmm2, xmm1
jbe 0x456574
or ecx, 0xffffffff
jmp 0x456580
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si ecx, xmm1
comiss xmm2, xmm0
jbe 0x45658a
or eax, 0xffffffff
jmp 0x456596
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si eax, xmm0
sub eax, ecx
test eax, eax
jle 0x4565ab
mov eax, 0x40
mov edx, 0x200
jmp 0x45671c
mov eax, dword [ebp + 0x14]
test al, al
jns 0x4566f6
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2e00]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x4566e7
movss xmm0, dword [ecx + 0x34]
comiss xmm1, xmm0
jbe 0x45664d
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x4565f8
mov eax, 1
jmp 0x456645
comiss xmm2, xmm1
jb 0x456601
xor eax, eax
jmp 0x456645
comiss xmm4, xmm3
jb 0x456617
comiss xmm0, xmm2
jbe 0x4565fd
comiss xmm1, xmm0
jb 0x4565fd
mov eax, 1
jmp 0x456645
comiss xmm0, xmm2
jbe 0x456621
or ecx, 0xffffffff
jmp 0x45662d
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x456637
or eax, 0xffffffff
jmp 0x456643
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jg 0x4566e7
mov ecx, dword [0x59d350]
movss xmm1, dword [ecx + 0x2e10]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x4566db
comiss xmm1, xmm0
jbe 0x4566f3
movss xmm3, dword [ecx + 0x38]
movaps xmm2, xmm1
subss xmm2, dword [ecx + 0x18]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x45668a
mov eax, 1
jmp 0x4566d7
comiss xmm2, xmm1
jb 0x456693
xor eax, eax
jmp 0x4566d7
comiss xmm4, xmm3
jb 0x4566a9
comiss xmm0, xmm2
jbe 0x45668f
comiss xmm1, xmm0
jb 0x45668f
mov eax, 1
jmp 0x4566d7
comiss xmm0, xmm2
jbe 0x4566b3
or ecx, 0xffffffff
jmp 0x4566bf
subss xmm2, xmm0
divss xmm2, xmm3
cvttss2si ecx, xmm2
comiss xmm0, xmm1
jbe 0x4566c9
or eax, 0xffffffff
jmp 0x4566d5
subss xmm1, xmm0
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x4566f3
mov eax, 0x80
mov edx, 0x204
jmp 0x45671c
mov eax, 0x80
mov edx, 0x203
jmp 0x45671c
mov eax, dword [ebp + 0x14]
test eax, 0x80000
je 0x45670c
cmp byte [ebx + 0xe6e], dl
je 0x45670c
mov eax, 0x80000
jmp 0x45671c
test eax, 0x100
je 0x4569b6
mov eax, 0x100
xor ecx, ecx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x78], 0
mov word [ebp - 0x63], cx
mov byte [ebp - 0x61], cl
mov dword [ebp - 0x7c], ecx
cmp byte [ebp - 0xe8], cl
jne 0x45674c
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x64], cl
mov ecx, esi
lea edx, [esi + eax*2]
call fcn.00417720
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x60], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00417720
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x5c], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.00417720
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x84]
push eax
xor eax, eax
call eax
mov dl, byte [ebp - 0x64]
add esp, 4
mov eax, dword [ebp - 0x60]
mov byte [ebp - 0xb6], dl
cmp eax, edi
jne 0x4567c4
test dl, dl
je 0x456817
mov esi, dword [ebp - 0x70]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xdc], eax
test edi, edi
je 0x4567da
cmp esi, edi
jae 0x456804
cmp byte [esi], 0
je 0x456804
push edi
mov edx, esi
lea ecx, [ebp - 0xd0]
call fcn.00417490
add esi, eax
add esp, 4
cmp dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xdc]
je 0x456804
inc eax
jmp 0x4567cc
mov dl, byte [ebp - 0xb6]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x60]
mov byte [ebx + 0xe6c], 1
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0xd4]
jne 0x456826
test dl, dl
je 0x45687b
cmp ecx, eax
jne 0x45682f
mov eax, dword [ebx + 0x3c]
jmp 0x456872
mov esi, dword [ebp - 0x70]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xdc], eax
test edi, edi
je 0x456845
cmp esi, edi
jae 0x45686f
cmp byte [esi], 0
je 0x45686f
push edi
mov edx, esi
lea ecx, [ebp - 0xd0]
call fcn.00417490
add esi, eax
add esp, 4
cmp dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xdc]
je 0x45686f
inc eax
jmp 0x456837
mov ecx, dword [ebp - 0x5c]
mov dl, byte [ebp - 0xb6]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0xf8]
jne 0x45688e
test dl, dl
je 0x4569b3
cmp eax, ecx
jne 0x4568e2
mov eax, dword [ebx + 0x40]
cmp byte [ebp - 0xb6], 0
mov dword [ebx + 0x44], eax
je 0x4569b3
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xfc]
cmp esi, ecx
jle 0x456940
cmp byte [ebp - 0x120], 0
je 0x456940
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x45693e
test edi, edi
je 0x456926
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x45692b
mov esi, dword [ebp - 0x70]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xdc], eax
test edi, edi
je 0x4568f8
cmp esi, edi
jae 0x456895
cmp byte [esi], 0
je 0x456895
push edi
mov edx, esi
lea ecx, [ebp - 0xd0]
call fcn.00417490
add esi, eax
add esp, 4
cmp dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xdc]
je 0x456895
inc eax
jmp 0x4568ea
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.004380c0
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 - 0x70]
dec eax
mov dword [ebp - 0xfc], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xd4], eax
cmp ecx, eax
jae 0x456997
nop
cmp byte [edi], 0
je 0x456991
push 0
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.00417490
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x456991
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xd4]
jb 0x456960
mov ecx, dword [ebp - 0xfc]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x6c]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xe8], 0
mov edi, dword [ebp - 0xe4]
jne 0x45637e
mov esi, dword [ebx + 0x20]
mov ecx, edi
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4569f0
test dl, dl
je 0x4569ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4569f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4569d0
xor eax, eax
jmp 0x4569f5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x45637e
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xf4], esi
jmp 0x456384
mov esi, 0xff
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x456a36
jbe 0x456a31
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 - 0x105], 1
mov esi, dword [ebp - 0xf0]
cmp byte [ebp - 0xbe], 0
mov edi, dword [ebp - 0xbc]
je 0x456a5f
cmp dword [edi + 0x3f40], esi
jne 0x456a5f
call fcn.0041a5e0
mov edx, dword [ebp - 0xe0]
test dl, dl
jne 0x456b2c
push 1
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.004195a0
movss xmm1, dword [0x46e478]
add esp, 4
mov ecx, 7
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.004186c0
movss xmm2, dword [edi + 0x3898]
mov dl, 1
mov ecx, eax
call fcn.00419180
movss xmm1, dword [ebp - 0x50]
add esp, 0x10
movss xmm2, dword [ebp - 0x54]
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x10c]
movss xmm3, dword [ebp - 0x114]
mov esi, dword [ebp - 0x100]
movaps xmm6, xmm3
mov edx, dword [ebp - 0xe0]
addss xmm6, xmm2
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0xfc], xmm0
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [edi + 0x3890]
addss xmm0, xmm2
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x120], xmm6
movss dword [ebp - 0x20], xmm6
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [edi + 0x3894]
addss xmm0, xmm1
movss dword [ebp - 0x12c], xmm0
jmp 0x456b92
movss xmm3, dword [ebp - 0x114]
movss xmm2, dword [ebp - 0x54]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x50]
addss xmm0, xmm2
mov esi, dword [ebp - 0x100]
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x120], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x1c], xmm0
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
movss dword [ebp - 0xfc], xmm0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
cmp byte [ebp - 0x104], 0
lea eax, [ebp - 0x130]
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [ebp - 0xf4], xmm0
xorps xmm4, xmm4
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x40], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0xdc], xmm6
je 0x456be0
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xe4], eax
jmp 0x456be6
mov eax, dword [ebp - 0xe4]
mov ch, byte [ebp - 0xd5]
mov cl, byte [ebp - 0xc9]
test ch, ch
jne 0x456cde
test cl, cl
jne 0x456cde
test dl, dl
je 0x456c54
mov dl, byte [eax]
lea ebx, [eax + 1]
xor ecx, ecx
test dl, dl
je 0x456c23
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x456c11
mov al, byte [ebx - 1]
dec ebx
cmp al, 0xa
je 0x456c30
cmp al, 0xd
je 0x456c30
inc ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x3c98]
movss dword [ebp - 0xdc], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xd4], xmm0
jmp 0x456c94
mov ecx, dword [ebp - 0xf0]
cmp dword [edi + 0x3f40], ecx
jne 0x456c69
mov ebx, dword [ebx + 8]
add ebx, eax
jmp 0x456c81
mov ecx, eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456c70
mov ebx, dword [ebp - 0xe4]
sub ecx, edx
add ebx, ecx
mov eax, ebx
sub eax, dword [ebp - 0xe4]
cmp eax, 0x200000
jge 0x457800
movss xmm1, dword [0x46e478]
lea eax, [ebp - 0x28]
xor ecx, ecx
cmp byte [ebp - 0xe0], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push ebx
push dword [ebp - 0xe4]
call fcn.004186c0
movss xmm2, dword [edi + 0x3c98]
mov ecx, dword [esi + 0x288]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [edi + 0x3c94]
call fcn.004424d0
jmp 0x457800
mov eax, dword [ebx + 8]
mov edi, 0xfffffc18
mov esi, dword [ebx + 0x14]
xor edx, edx
mov dword [ebp - 0xc], eax
xorps xmm7, xmm7
add eax, dword [ebp - 0xe4]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x128], esi
movss dword [ebp - 0xd0], xmm4
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0xc8], edi
test ch, ch
je 0x456d3b
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0xf8], eax
lea edx, [edi + 2]
test cl, cl
je 0x456d5d
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0xc8], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xe0]
mov ecx, esi
movzx esi, word [esi]
movzx eax, al
add edx, eax
xor eax, eax
test si, si
je 0x456dcd
xor ebx, ebx
cmp si, 0xa
jne 0x456dad
inc ebx
cmp edi, 0xffffffff
jne 0x456d91
cmp ecx, dword [ebp - 0xf8]
jb 0x456d91
dec edx
mov edi, ebx
test edx, edx
jle 0x456dbb
cmp dword [ebp - 0xc8], 0xffffffff
jne 0x456dad
cmp ecx, dword [ebp - 0x148]
jb 0x456dad
dec edx
mov dword [ebp - 0xc8], ebx
test edx, edx
jle 0x456dbb
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x456d76
mov dword [ebp - 0x118], ebx
mov ebx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x128]
inc eax
cmp edi, 0xffffffff
mov dword [ebp - 0x118], eax
mov ecx, eax
cmovne ecx, edi
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xc8], ecx
mov ecx, edi
cmp edi, esi
jbe 0x456e14
cmp word [ecx - 2], 0xa
je 0x456e14
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x456e06
mov eax, dword [0x59d350]
movaps xmm1, xmm4
mov edx, dword [eax + 0x3c94]
movss xmm2, dword [eax + 0x3c98]
divss xmm2, dword [edx + 0x10]
cmp ecx, edi
jae 0x456e80
xorps xmm6, xmm6
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x456e4c
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x456e6e
cmp esi, 0xd
je 0x456e6e
mov esi, eax
cmp esi, dword [edx]
jge 0x456e61
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x456e66
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x456e36
movss xmm6, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x128]
movd xmm5, dword [ebp - 0x164]
maxss xmm4, xmm1
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xc8]
cvtdq2ps xmm5, xmm5
movss xmm3, dword [ecx + 0x3c98]
mulss xmm5, xmm3
movss dword [ebp - 0x178], xmm4
movss dword [ebp - 0x12c], xmm5
test edi, edi
js 0x456f5f
mov eax, dword [ebp - 0x148]
mov ecx, eax
cmp eax, esi
jbe 0x456ee4
nop dword [eax + eax]
cmp word [ecx - 2], 0xa
je 0x456ede
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x456ed0
mov eax, dword [ebp - 0x148]
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm7, xmm7
cmp ecx, eax
jae 0x456f42
mov ebx, dword [ebp - 0x148]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x456f0d
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x456f32
cmp esi, 0xd
je 0x456f32
mov esi, eax
cmp esi, dword [edx]
jge 0x456f22
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x456f27
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, ebx
jb 0x456ef7
mov ebx, dword [ebp - 0x144]
mov esi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0xbc]
maxss xmm7, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0xd0], xmm0
mov edx, dword [ebp - 0xe0]
test dl, dl
je 0x456f95
movd xmm6, dword [ebp - 0x118]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm3
movss xmm3, dword [ebp - 0x114]
movaps xmm0, xmm3
movss dword [ebp - 0xdc], xmm6
movss dword [ebp - 0xd4], xmm0
jmp 0x456f9d
movss xmm3, dword [ebp - 0x114]
cmp byte [ebp - 0xd5], 0
je 0x4570f9
cmp byte [ebx + 0xe6c], 0
je 0x4570f9
test dword [ebp + 0x14], 0x1000
jne 0x45700c
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x46e420]
movaps xmm1, xmm4
subss xmm3, dword [ecx + 0x3890]
jbe 0x456ffd
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x457013
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x457013
addss xmm0, xmm1
jmp 0x456feb
mov dword [ebx + 0x38], 0
xorps xmm4, xmm4
test dl, dl
je 0x4570cb
movss xmm1, dword [ebp - 0x124]
movaps xmm0, xmm5
subss xmm0, dword [ecx + 0x3c98]
movss xmm2, dword [ecx + 0x3894]
comiss xmm1, xmm0
jbe 0x457057
xorps xmm1, xmm1
maxss xmm1, xmm0
movss xmm0, dword [ebp - 0x10c]
comiss xmm4, xmm1
jbe 0x457093
xorps xmm2, xmm2
jmp 0x4570a7
movss xmm1, dword [ebp - 0x10c]
movaps xmm3, xmm2
addss xmm3, xmm2
movaps xmm0, xmm5
subss xmm1, xmm3
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x124]
comiss xmm0, xmm1
jb 0x457045
movss xmm0, dword [ebp - 0x10c]
movaps xmm1, xmm5
subss xmm1, xmm0
addss xmm1, xmm3
jmp 0x45704d
addss xmm2, xmm2
addss xmm2, xmm6
subss xmm2, xmm0
maxss xmm2, xmm4
minss xmm2, xmm1
mov eax, dword [ebp - 0x100]
movss xmm0, dword [eax + 0x94]
subss xmm0, xmm2
addss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x40], xmm0
movss dword [eax + 0x94], xmm2
mov byte [ebx + 0xe6c], 0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0xf4], xmm0
cmp byte [ebp - 0xc9], 0
movss xmm5, dword [ebx + 0x38]
movss dword [ebp - 0x118], xmm5
je 0x4573f0
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xd5], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x128]
lea edi, [eax + edx*2]
je 0x457142
movss xmm1, dword [0x46e478]
jmp 0x45714a
movss xmm1, dword [0x46e43c]
mov ecx, 0x31
call fcn.004186c0
cmp byte [ebp - 0xe0], 0
mov dword [ebp - 0x164], eax
je 0x457178
xorps xmm0, xmm0
movss dword [ebp - 0x128], xmm0
movss dword [ebp - 0xf8], xmm0
jmp 0x45719b
movss xmm0, dword [0x46e5d0]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [0x46e4b8]
movss dword [ebp - 0xf8], xmm0
xorps xmm0, xmm0
movss xmm3, dword [ebp - 0x40]
movss xmm6, dword [ebp - 0xf4]
movss xmm5, dword [ebp - 0x118]
addss xmm7, xmm6
addss xmm3, dword [ebp - 0xd0]
subss xmm7, xmm5
subss xmm3, xmm0
movss dword [ebp - 0xd0], xmm3
cmp esi, edi
jae 0x4573f8
mov ecx, dword [ebp - 0xbc]
movss xmm6, dword [ebp - 0xfc]
movss xmm2, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x164]
movss xmm5, dword [ecx + 0x3c98]
movaps xmm1, xmm5
nop dword [eax + eax]
movaps xmm0, xmm6
addss xmm0, xmm1
comiss xmm3, xmm0
ja 0x4573e2
comiss xmm2, xmm3
jbe 0x457238
cmp esi, edi
jae 0x4573b3
nop dword [eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x4573b3
cmp esi, edi
jb 0x457220
jmp 0x4573b3
mov eax, dword [0x59d350]
xorps xmm0, xmm0
xorps xmm4, xmm4
xorps xmm1, xmm1
mov edx, dword [eax + 0x3c94]
movss xmm2, dword [eax + 0x3c98]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x4572a6
nop dword [eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x457293
cmp ecx, 0xd
je 0x45728d
cmp ecx, dword [edx]
jge 0x457280
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x457285
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x457260
jmp 0x45729d
xorps xmm4, xmm4
maxss xmm4, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xbc]
xorps xmm0, xmm0
maxss xmm1, xmm4
comiss xmm0, xmm1
jb 0x4572df
mov eax, dword [ecx + 0x3c94]
cmp dword [eax], 0x20
jle 0x4572c7
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x4572cc
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x46e434]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x128]
addss xmm1, xmm7
movss xmm0, dword [ebp - 0xf8]
subss xmm2, xmm5
addss xmm7, dword [0x46e3dc]
movss xmm4, dword [ebp - 0x120]
addss xmm0, xmm3
minss xmm1, xmm4
addss xmm2, xmm3
maxss xmm7, dword [ebp - 0x28]
minss xmm0, xmm6
movss dword [ebp - 0x168], xmm1
maxss xmm2, dword [ebp - 0x24]
movss dword [ebp - 0x170], xmm7
comiss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x16c], xmm2
movss dword [ebp - 0x164], xmm0
jbe 0x4573ae
comiss xmm6, xmm2
jbe 0x4573ae
comiss xmm1, dword [ebp - 0x28]
jbe 0x4573ae
comiss xmm4, xmm7
jbe 0x4573ae
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x168]
push ebx
push eax
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x288]
call fcn.00442260
movss xmm0, dword [ebp - 0x20]
movss xmm2, dword [ebp - 0x44]
movss xmm6, dword [ebp - 0x1c]
movss xmm3, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xbc]
movss dword [ebp - 0x120], xmm0
movss dword [ebp - 0xf4], xmm2
movss xmm2, dword [ebp - 0x24]
movss xmm5, dword [ecx + 0x3c98]
movss xmm7, dword [ebp - 0xf4]
addss xmm3, xmm5
movaps xmm1, xmm5
subss xmm7, dword [ebp - 0x118]
movss dword [ebp - 0xd0], xmm3
cmp esi, edi
jb 0x457200
movss xmm5, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x144]
movss xmm6, dword [ebp - 0xf4]
cmp byte [ebp - 0xe0], 0
jne 0x45740e
cmp dword [ebp - 0xc], 0x200000
jge 0x457626
mov eax, dword [0x59d350]
xorps xmm4, xmm4
movups xmm2, xmmword [eax + 0x391c]
comiss xmm4, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x3854]
movups xmmword [ebp - 0x18], xmm2
jbe 0x45743a
xorps xmm0, xmm0
jmp 0x457446
movss xmm0, dword [0x46e478]
minss xmm0, xmm2
movss xmm2, dword [0x46e580]
movss xmm7, dword [0x46e434]
movss xmm3, dword [ebp - 0x14]
comiss xmm4, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x457471
xorps xmm0, xmm0
jmp 0x45747d
movss xmm0, dword [0x46e478]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x10]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm4, xmm3
jbe 0x45749d
xorps xmm0, xmm0
jmp 0x4574a9
movss xmm0, dword [0x46e478]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm4, xmm1
jbe 0x4574c4
xorps xmm0, xmm0
jmp 0x4574d0
movss xmm0, dword [0x46e478]
minss xmm0, xmm1
mov eax, dword [ebp - 0x100]
subss xmm6, xmm5
mulss xmm0, xmm2
lea edx, [ebp - 0x28]
mov dword [ebp - 0xc], 0
mov edi, dword [eax + 0x288]
addss xmm0, xmm7
movss dword [ebp - 0x168], xmm6
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x40]
shl esi, 0x18
subss xmm0, xmm4
or esi, ecx
mov ecx, dword [ebp - 0xbc]
cmp byte [ebp - 0xe0], 0
cmovne edx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x3c94]
movss xmm2, dword [ecx + 0x3c98]
mov ecx, dword [ebp - 0x110]
movss dword [ebp - 0x164], xmm0
mov dword [ebp - 0xfc], eax
test esi, 0xff000000
je 0x457629
test ecx, ecx
jne 0x457576
mov ecx, dword [ebp - 0xe4]
lea eax, [ecx + 1]
mov dword [ebp - 0xc], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457560
sub ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xfc]
cmp dword [ebp - 0xe4], ecx
je 0x457629
test eax, eax
jne 0x457592
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xfc], eax
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x4575a3
mov eax, dword [edi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [edi + 0x60]
movups xmmword [ebp - 0x18], xmm0
test edx, edx
je 0x4575f8
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm1
jae 0x4575c2
movss dword [ebp - 0x18], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jae 0x4575d6
movss dword [ebp - 0x14], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x10]
ja 0x4575e6
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xc]
ja 0x4575f6
movss dword [ebp - 0xc], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x18]
push ecx
push dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xfc]
push eax
push esi
lea eax, [ebp - 0x168]
push eax
push edi
call fcn.00445d50
xorps xmm4, xmm4
cmp byte [ebp - 0xd5], 0
mov edi, dword [ebp - 0xbc]
je 0x4577fa
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe68]
movss dword [ebx + 0xe68], xmm0
cmp byte [edi + 0x63], 0
je 0x45768f
comiss xmm4, xmm0
jae 0x45768f
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x10], xmm0
fld qword [ebp - 0x10]
fld qword [0x46e4b0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x46e45c]
fstp qword [ebp - 0x10]
movsd xmm1, qword [ebp - 0x10]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x45768f
xor cl, cl
jmp 0x457691
mov cl, 1
movss xmm0, dword [ebp - 0x178]
movss xmm6, dword [0x46e478]
addss xmm0, dword [ebp - 0x44]
subss xmm0, dword [ebp - 0x118]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x12c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x46e3dc]
movss dword [ebp - 0x178], xmm1
movaps xmm5, xmm1
movss dword [ebp - 0x170], xmm1
addss xmm5, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0x168], xmm5
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x12c], xmm3
movaps xmm2, xmm3
movaps xmm4, xmm3
subss xmm2, dword [edi + 0x3c98]
subss xmm4, dword [0x46e49c]
addss xmm2, dword [0x46e434]
movss dword [ebp - 0x164], xmm4
movss dword [ebp - 0x16c], xmm2
test cl, cl
je 0x4577a9
comiss xmm4, dword [ebp - 0x24]
jbe 0x4577a9
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm2
jbe 0x4577a9
comiss xmm5, dword [ebp - 0x28]
jbe 0x4577a9
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
jbe 0x4577a9
sub esp, 8
movss dword [ebp - 0x10], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xc], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.004186c0
add esp, 4
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x288]
call fcn.00442140
movss xmm1, dword [ebp - 0x178]
movss xmm3, dword [ebp - 0x12c]
movss xmm6, dword [0x46e478]
cmp byte [ebp - 0xe8], 0
mov ebx, dword [ebp - 0x110]
jne 0x457800
movss xmm0, dword [edi + 0x3c98]
subss xmm1, xmm6
mov eax, dword [ebp - 0x14c]
subss xmm3, xmm0
mov byte [edi + 0x5318], 1
movss dword [edi + 0x5324], xmm0
movss dword [edi + 0x531c], xmm1
movss dword [edi + 0x5320], xmm3
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
mov dword [edi + 0x5338], eax
jmp 0x457800
mov ebx, dword [ebp - 0x110]
cmp byte [ebp - 0x154], 0
je 0x45786f
mov esi, dword [0x59d350]
mov eax, dword [esi + 0x3f04]
mov ecx, dword [eax + 0x288]
mov edx, dword [ecx + 0x48]
sub edx, 1
mov dword [ecx + 0x48], edx
jne 0x45782a
xor eax, eax
jmp 0x457831
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x70], eax
call fcn.0043fee0
mov ecx, dword [esi + 0x408c]
sub ecx, 1
mov dword [esi + 0x408c], ecx
jne 0x457860
mov eax, dword [0x59d350]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x45786a
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
jmp 0x45786a
mov eax, dword [esi + 0x4094]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.00425290
cmp byte [ebp - 0xe0], 0
je 0x457984
mov ecx, dword [0x59d350]
movss xmm1, dword [ebp - 0xdc]
addss xmm1, dword [edi + 0x3894]
movss xmm4, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x3f04]
movss dword [ebp - 0x130], xmm4
movss dword [ebp - 0x12c], xmm1
mov byte [eax + 0xc5], 1
mov eax, dword [ecx + 0x3f04]
cmp byte [eax + 0xc8], 0
jne 0x457919
movss xmm0, dword [eax + 0x10c]
lea ecx, [ebp - 0x130]
movss xmm3, dword [eax + 0x108]
movaps xmm2, xmm0
addss xmm2, xmm1
movss dword [ebp - 0x18], xmm3
movss xmm1, dword [0x46e5d0]
addss xmm4, xmm3
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 0x10], xmm4
call fcn.00425eb0
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x18]
call fcn.00426010
add esp, 8
mov esi, dword [edi + 0x3f98]
mov eax, esi
or eax, 0x101
mov dword [edi + 0x3f98], eax
call fcn.0041f000
mov eax, dword [edi + 0x3fb8]
mov edi, dword [ebp - 0x1ac]
and eax, 0x80
or edi, eax
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x3f98], esi
call fcn.00426420
mov ecx, dword [ebp - 0xbc]
cmp dword [ecx + 0x3fb0], 0
jne 0x45798a
mov eax, dword [ebp - 0xf0]
mov dword [ecx + 0x3fb0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ecx + 0x3fb4], eax
mov dword [ecx + 0x3fb8], edi
jmp 0x45798a
mov ecx, dword [ebp - 0xbc]
cmp byte [ecx + 0x53b0], 0
je 0x4579cd
cmp byte [ebp - 0x154], 0
jne 0x4579cd
mov eax, dword [0x59d350]
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 0xe4]
push ebx
mov dword [eax + 0x53c8], 0x46e314
mov dword [eax + 0x53cc], 0x46e054
call fcn.0042bd20
mov ecx, dword [ebp - 0xbc]
add esp, 4
movss xmm0, dword [ebp - 0x174]
comiss xmm0, dword [0x46e3dc]
jbe 0x457a26
movss xmm0, dword [ecx + 0x38a8]
xor edx, edx
addss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [ecx + 0x3894]
mov ecx, dword [ebp - 0x150]
movss dword [ebp - 0x12c], xmm0
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push 1
call fcn.00418960
add esp, 0xc
mov dl, byte [ebp - 0x105]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x457a50
test ecx, 0x8000000
jne 0x457a50
mov eax, dword [0x59d350]
or dword [eax + 0x3fb8], 4
mov word [eax + 0x3f50], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xbd]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00466a4b
mov esp, ebp
pop ebp
ret