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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x487080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x4896f8]
push edi
mov edi, esi
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0xf0], edi
mov eax, dword [edi + 0x1ba8]
mov byte [eax + 0x8c], 1
mov ebx, dword [edi + 0x1ba8]
mov dword [ebp - 0xec], ebx
cmp byte [ebx + 0x8f], 0
jne 0x4590de
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x1a
mov dword [ebp - 0xb8], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xb0], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x140], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x138], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x11c], eax
test dl, dl
je 0x458bf4
call fcn.00439e20
mov esi, dword [0x4896f8]
mov ecx, dword [ebx + 0xc4]
xor edx, edx
mov eax, dword [ebx + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x144]
call fcn.0042c970
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [esi + 0x1be0], eax
jne 0x458c28
mov dword [esi + 0x1be4], eax
cmp dword [esi + 0x1c1c], eax
jne 0x458c37
mov byte [esi + 0x1c20], 1
cmp dword [esi + 0x1bc8], eax
jne 0x458c5b
push ecx
push dword [ebp - 0x144]
mov edx, 0xb
mov ecx, eax
call fcn.0043fb80
mov esi, dword [0x4896f8]
add esp, 8
mov eax, dword [ebp - 0x144]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x458c7e
mov dl, byte [ecx]
test dl, dl
je 0x458c7e
cmp dl, 0x23
jne 0x458c78
cmp byte [ecx + 1], dl
je 0x458c7e
inc ecx
cmp ecx, 0xffffffff
jb 0x458c68
movss xmm0, dword [0x480950]
movss xmm4, dword [esi + 0x1944]
movss dword [ebp - 0x134], xmm0
cmp eax, ecx
jne 0x458ca7
xorps xmm1, xmm1
movss dword [ebp - 0x14c], xmm1
jmp 0x458cf9
push 0
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x1940]
lea eax, [ebp - 0x110]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
movaps xmm2, xmm4
call fcn.0044eb50
movss xmm0, dword [ebp - 0x110]
xorps xmm1, xmm1
addss xmm0, dword [0x480864]
movss xmm4, dword [ebp - 0x10c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x14c], xmm0
cmp byte [ebp - 0xb0], 0
je 0x458d12
movss xmm4, dword [edi + 0x1944]
mulss xmm4, dword [0x4808e8]
test byte [esi + 0x1c34], 1
mov eax, dword [esi + 0x1ba8]
je 0x458d2b
movss xmm0, dword [esi + 0x1c38]
jmp 0x458d33
movss xmm0, dword [eax + 0x180]
comiss xmm1, xmm0
jbe 0x458d72
cmp dword [eax + 0x170], 0
movss xmm1, dword [eax + 0x208]
jne 0x458d52
cmp dword [esi + 0x1f60], 0
je 0x458d5a
movss xmm1, dword [eax + 0x1d8]
subss xmm1, dword [eax + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x48086c]
maxss xmm0, xmm1
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x110]
movss xmm1, dword [edi + 0x1568]
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.00439d40
movss xmm1, dword [ebp - 0x14c]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x458dc3
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x157c]
jmp 0x458dc6
xorps xmm2, xmm2
movss xmm4, dword [ebx + 0xd4]
lea eax, [ebp - 0x188]
movss xmm5, dword [ebp - 0x110]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x10c]
movss xmm3, dword [ebx + 0xd0]
addss xmm2, xmm5
movaps xmm1, xmm3
movss dword [ebp - 0xa0], xmm3
addss xmm1, xmm5
movss dword [ebp - 0x13c], xmm5
push 0x3c
movss dword [ebp - 0x28], xmm0
mov esi, ebx
movaps xmm0, xmm4
movss dword [ebp - 0x12c], xmm4
addss xmm0, dword [ebp - 0x10c]
addss xmm2, xmm3
movss dword [ebp - 0x34], xmm3
push 0
push eax
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0xdc], xmm2
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 8], xmm0
mov dword [ebp - 0x100], esi
call sub.VCRUNTIME140.dll_memset
movss xmm1, dword [ebp - 0xf4]
lea ecx, [ebp - 0xe0]
movss xmm0, dword [ebp - 0xdc]
add esp, 0xc
subss xmm1, dword [ebp - 0x12c]
subss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0xdc], xmm1
movss xmm1, dword [edi + 0x1568]
movss dword [ebp - 0xe0], xmm0
call fcn.00439980
cmp byte [ebp - 0xb0], 0
je 0x45915e
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x34]
push pe_nt_image_headers32
push eax
lea ecx, [ebp - 0x14]
call fcn.00439ab0
add esp, 8
test al, al
je 0x4590d9
movups xmm0, xmmword [edi + 0x1c48]
mov eax, dword [edi + 0x1c50]
mov esi, dword [0x4896f8]
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x18]
movups xmm0, xmmword [edi + 0x1c58]
push eax
lea ecx, [esi + 0x1ce4]
mov dword [ebp - 0x18], 3
movups xmmword [ebp - 0x178], xmm0
movups xmm0, xmmword [edi + 0x1c68]
movups xmmword [ebp - 0x168], xmm0
movq xmm0, qword [edi + 0x1c78]
movq qword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebx + 0xd0], xmm0
movss xmm0, dword [ebp - 0x12c]
movss dword [ebx + 0xd4], xmm0
movups xmm0, xmmword [esi + 0x1620]
movups xmmword [ebp - 0x14], xmm0
call fcn.004401b0
movups xmm0, xmmword [edi + 0x1660]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 7
push eax
movups xmmword [esi + 0x1620], xmm0
mov esi, dword [0x4896f8]
movss xmm0, dword [edi + 0x156c]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [esi + 0x1554]
lea ecx, [esi + 0x1cf0]
movss dword [ebp - 0xd0], xmm0
call fcn.004400f0
movss xmm0, dword [ebp - 0xdc]
lea eax, [ebp - 0xd4]
movss dword [esi + 0x1554], xmm0
mov esi, dword [0x4896f8]
movss xmm0, dword [edi + 0x1570]
movss dword [ebp - 0xdc], xmm0
push eax
movss xmm0, dword [esi + 0x1558]
lea ecx, [esi + 0x1cf0]
mov dword [ebp - 0xd4], 8
movss dword [ebp - 0xd0], xmm0
call fcn.004400f0
movss xmm0, dword [ebp - 0xdc]
lea eax, [ebp - 0xe4]
movss dword [esi + 0x1558], xmm0
mov esi, dword [0x4896f8]
push eax
mov dword [ebp - 0xe4], 2
movss xmm1, dword [esi + 0x1530]
lea ecx, [esi + 0x1cf0]
movss xmm0, dword [esi + 0x1534]
movss dword [ebp - 0xe0], xmm1
movss dword [ebp - 0xdc], xmm0
call fcn.004400f0
movss xmm0, dword [ebp - 0x2c]
lea eax, [ebp - 0xe0]
subss xmm0, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x144]
push 4
push 1
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x30]
push eax
mov dword [esi + 0x1530], 0
mov dword [esi + 0x1534], 0
movss dword [ebp - 0xdc], xmm0
call fcn.00433e20
add esp, 0xc
mov ecx, 3
mov bl, al
call fcn.0042de10
mov eax, 1
mov ecx, eax
call fcn.0042ddc0
test bl, bl
jne 0x4590f1
call fcn.004340e0
call fcn.00439f50
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00472ead
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x1ba8]
mov dword [ebp - 0x100], esi
movsx ecx, word [esi + 0x12a]
mov eax, dword [esi + 0x124]
bts ecx, eax
movss xmm0, dword [esi + 0xd0]
mov word [esi + 0x12a], cx
addss xmm0, dword [edi + 0x1564]
movss dword [esi + 0xd0], xmm0
movss xmm0, dword [edi + 0x1568]
addss xmm0, dword [esi + 0xd4]
movss dword [esi + 0xd4], xmm0
movss xmm0, dword [ebp - 0x110]
subss xmm0, dword [esi + 0x80]
movss dword [ebp - 0x13c], xmm0
jmp 0x459195
test dword [ebp + 0x14], 0x10000000
jne 0x459189
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x34]
push pe_nt_image_headers32
push eax
lea ecx, [ebp - 0x14]
call fcn.00439ab0
add esp, 8
test al, al
je 0x4590de
mov eax, dword [edi + 0x1c50]
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x34]
call fcn.0042f810
mov dl, al
mov byte [ebp - 0xb9], dl
test dl, dl
je 0x4591b9
mov dword [edi + 0x1ebc], 1
mov ebx, dword [0x4896f8]
xor eax, eax
mov ecx, dword [ebp - 0xc4]
add ebx, 0x1ff0
cmp dword [ebx], ecx
cmovne ebx, eax
mov eax, dword [ebp - 0xc0]
shr eax, 8
and al, 1
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0x1be0]
cmp eax, ecx
je 0x459215
cmp dword [edi + 0x1d68], ecx
je 0x45920c
cmp dword [edi + 0x1d5c], ecx
jne 0x459215
cmp dword [edi + 0x1d84], 2
jne 0x459215
mov byte [ebp - 0x99], 1
jmp 0x45921c
mov byte [ebp - 0x99], 0
test dl, dl
je 0x459230
cmp byte [edi + 0x3e0], 0
mov byte [ebp - 0x96], 1
jne 0x459237
mov byte [ebp - 0x96], 0
cmp byte [ebp - 0xb0], 0
je 0x45929d
test ebx, ebx
je 0x45929d
test eax, eax
jne 0x45929d
mov ecx, dword [esi + 0xc4]
xor edx, edx
mov eax, dword [esi + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.0042c970
mov ecx, dword [0x4896f8]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x1bc8], esi
jne 0x45928c
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, esi
call fcn.0043fb80
add esp, 8
cmp dword [edi + 0x1c1c], esi
jne 0x45929d
mov byte [ebp - 0x97], 1
jmp 0x4592b9
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0x97], 0
test al, al
je 0x459329
mov byte [ebp - 0x97], 0
test ebx, ebx
je 0x459329
mov eax, dword [ebp - 0x100]
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.0042c970
mov ecx, dword [0x4896f8]
mov esi, eax
add esp, 4
cmp dword [ecx + 0x1bc8], esi
jne 0x459303
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, esi
call fcn.0043fb80
add esp, 8
cmp dword [edi + 0x1be0], esi
jne 0x459323
mov cl, 1
mov byte [ebp - 0xa9], 0
mov byte [ebp - 0x98], cl
mov byte [ebp - 0xb4], 0
jmp 0x459343
mov eax, dword [ebp - 0xb0]
xor cl, cl
mov byte [ebp - 0xa9], 0
mov byte [ebp - 0xb4], 0
mov byte [ebp - 0x98], cl
test al, al
je 0x45935e
mov eax, dword [ebp - 0x100]
movss xmm0, dword [eax + 0x5c]
mov eax, dword [ebp - 0xb0]
movss dword [ebp - 0x134], xmm0
jmp 0x459366
xor cl, cl
mov byte [ebp - 0x98], cl
test ebx, ebx
je 0x459375
xor al, 1
cmp byte [ebx + 0x53], al
je 0x459375
mov al, 1
jmp 0x459377
xor al, al
cmp byte [ebp - 0x96], 0
mov byte [ebp - 0x9a], al
jne 0x4593b4
cmp byte [ebp - 0x97], 0
jne 0x4593b4
cmp byte [ebp - 0x99], 0
jne 0x4593b4
cmp byte [ebp - 0xc0], 0
jne 0x4593b4
mov byte [ebp - 0x97], 0
test cl, cl
jne 0x4593bb
mov byte [ebp - 0xa1], cl
jmp 0x4593d0
mov byte [ebp - 0x97], 1
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 0xa1], 1
cmp dword [edi + 0x1be0], ecx
jne 0x4593d8
test al, al
je 0x45962d
mov ecx, dword [ebp - 0xa8]
lea ebx, [edi + 0x1ff0]
mov dword [ebp - 0x148], ebx
mov dword [ebx + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4593f7
mov eax, dword [ebx + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x459434
test eax, eax
je 0x45941d
cdq
sub eax, edx
lea edx, [ebx + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x459425
mov ecx, 8
lea edx, [ebx + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00440610
push esi
push dword [ebp - 0xa8]
mov dword [ebx + 0x24], esi
push dword [ebx + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [ebp - 0xa0], edx
cmp edx, esi
jle 0x459492
test esi, esi
je 0x459474
mov eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0xa0]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x459479
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00440680
mov edx, dword [ebp - 0xa0]
lea eax, [ebx + 0xc]
mov dword [eax], edx
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x4594b4
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.00440610
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xa8]
dec ecx
mov dword [ebx + 0x18], 0
mov edx, dword [ebx + 0x14]
mov esi, edx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xa0], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x45952c
mov edi, eax
nop dword [eax]
cmp byte [edi], 0
je 0x45951a
push 0
mov edx, edi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
mov edx, dword [ebp - 0xa0]
add edi, eax
mov eax, dword [ebp - 0xdc]
add esp, 4
test eax, eax
je 0x45951a
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x4594e0
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xa8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 4], esi
cmp dword [ebx], eax
jne 0x459576
cmp byte [ebp - 0x9a], cl
jne 0x459576
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
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x4595ba
mov dword [ebx], eax
xor dl, dl
mov al, byte [ebp - 0xb0]
xor al, 1
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0xe5a], 0x630000
mov dword [ebx + 0xe60], ecx
mov dword [ebx + 0xe64], 0x3e7
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x3c], ecx
mov word [ebx + 0x51], 1
mov dword [ebx + 0x58], ecx
mov byte [ebx + 0x50], cl
mov byte [ebx + 0x53], al
mov byte [ebx + 0x48], cl
mov dword [ebx + 0x4c], ecx
cmp byte [ebp - 0xb0], 0
mov dword [ebx + 0x40], ecx
jne 0x45961e
mov eax, dword [ebp - 0xb4]
mov ecx, 1
test byte [ebp + 0x14], 0x10
movzx eax, al
cmovne eax, ecx
cmp byte [ebp - 0x99], 0
mov dword [ebp - 0xb4], eax
je 0x4595fd
test dl, dl
je 0x4595f7
test byte [edi + 0x1d6c], 4
jne 0x4595fd
mov byte [ebp - 0xb4], cl
cmp byte [ebp - 0xc0], 0
jne 0x459618
cmp byte [ebp - 0x96], 0
je 0x45961e
cmp byte [edi + 0xfc], 0
je 0x45961e
mov byte [ebp - 0xb4], cl
mov edx, dword [ebp + 0x14]
test edx, 0x2000
je 0x45962d
mov byte [ebx + 0x48], 1
mov esi, dword [ebp - 0xc4]
cmp dword [edi + 0x1be0], esi
je 0x4596e8
cmp byte [ebp - 0x97], 0
je 0x4596e0
mov edx, dword [ebp - 0xec]
mov ecx, esi
call fcn.0042f6b0
call fcn.0043b3a0
mov ecx, edx
call fcn.00439080
mov eax, dword [edi + 0x1bf4]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [ebp - 0xb0], 0
mov dword [edi + 0x1bf4], eax
jne 0x459684
test dl, dl
jns 0x45968d
or eax, 0xc
mov dword [edi + 0x1bf4], eax
mov eax, dword [edi + 0x1c00]
or dword [edi + 0x1bf8], 2
or eax, 0x180
cmp byte [ebp - 0xb0], 0
mov ecx, dword [edi + 0x1c04]
mov dword [edi + 0x1c00], eax
mov dword [edi + 0x1c04], ecx
je 0x4596c9
or eax, 0x60
mov dword [edi + 0x1c04], ecx
mov dword [edi + 0x1c00], eax
test edx, 0x440
je 0x4596e0
or eax, 1
mov dword [edi + 0x1c04], ecx
mov dword [edi + 0x1c00], eax
cmp dword [edi + 0x1be0], esi
jne 0x45971f
test ebx, ebx
jne 0x4596f1
call fcn.0042f780
cmp dword [edi + 0x1be0], esi
jne 0x45971f
cmp byte [edi + 0x3e0], 0
je 0x45972c
cmp byte [ebp - 0xa1], 0
jne 0x45972c
cmp byte [ebp - 0x97], 0
jne 0x45972c
mov byte [ebp - 0xa9], 1
mov cl, 1
jmp 0x459732
test ebx, ebx
je 0x459730
cmp byte [ebp - 0x98], 0
je 0x459730
mov cl, 1
jmp 0x459732
xor cl, cl
mov byte [ebp - 0xa3], cl
test ebx, ebx
je 0x459758
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x45974d
cmp byte [ebp - 0xb4], 0
je 0x459758
test cl, cl
je 0x459758
mov edx, 1
jmp 0x45975a
xor dl, dl
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x130], edx
mov byte [ebp - 0xba], dl
mov byte [ebp - 0x11e], 0
mov byte [ebp - 0x97], 0
test al, al
je 0x459898
test ebx, ebx
je 0x459898
test cl, cl
jne 0x459796
test dl, dl
je 0x4598a0
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x10]
inc esi
cmp esi, eax
jle 0x4597cb
test eax, eax
je 0x4597b4
cdq
sub eax, edx
lea edx, [ebx + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x4597bc
mov ecx, 8
lea edx, [ebx + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00440680
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0xc], esi
mov edx, dword [ebx + 0x14]
mov esi, edx
mov dword [ebp - 0xa0], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x45983b
mov edi, eax
nop dword [eax + eax]
cmp byte [edi], 0
je 0x459829
push 0
mov edx, edi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
mov edx, dword [ebp - 0xa0]
add edi, eax
mov eax, dword [ebp - 0xdc]
add esp, 4
test eax, eax
je 0x459829
mov ecx, dword [ebp + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x4597f0
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xa8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
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], eax
cmovl esi, dword [ebx + 0x44]
xor edx, edx
movzx eax, byte [ebp - 0xba]
cmp ecx, esi
mov dword [ebx + 0x40], ecx
mov cl, byte [ebp - 0xa3]
cmovne edx, eax
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0x130], edx
test cl, cl
jne 0x4598a8
test dl, dl
jne 0x4598a8
cmp dword [edi + 0x1be0], esi
jne 0x4598b9
test al, al
jne 0x4598b9
test ebx, ebx
je 0x4598b9
cmp byte [ebx + 0x30], al
je 0x4598b9
mov al, 1
jmp 0x4598bb
xor al, al
cmp dword [ebp - 0xfc], 0
mov byte [ebp - 0xba], al
je 0x4598e2
test al, al
je 0x4598d3
mov eax, dword [ebx + 0x20]
jmp 0x4598d9
mov eax, dword [ebp - 0xa8]
cmp byte [eax], 0
jne 0x4598e2
mov al, 1
jmp 0x4598e4
xor al, al
cmp byte [ebp - 0x140], 0
mov byte [ebp - 0x98], al
je 0x459971
test al, al
jne 0x459971
mov edx, dword [edi + 0x1940]
cmp dword [edx + 0x14], 0x2a
ja 0x459908
mov esi, dword [edx + 0x2c]
jmp 0x459927
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x45991e
mov esi, dword [edx + 0x2c]
jmp 0x459927
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
lea ecx, [edi + 0x2e64]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x1940]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x1940]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x1940]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi + 0x1940]
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.00439360
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x128], 0
cmp dword [edi + 0x1be0], eax
jne 0x459f85
mov eax, dword [ebx + 8]
mov edx, dword [ebp + 0x14]
mov byte [ebx + 0xe6e], 0
mov dword [ebx + 0xe70], edx
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
cmp byte [edi + 0xec], 0
mov dword [edi + 0x31f8], 1
sete al
cmp byte [ebp - 0xb0], 0
mov byte [edi + 0x1bed], al
movss xmm7, dword [edi + 0xe4]
subss xmm7, dword [ebp - 0x34]
subss xmm7, dword [edi + 0x1564]
addss xmm7, dword [ebx + 0x38]
je 0x459a01
mov eax, dword [ebp - 0x100]
movss xmm2, dword [edi + 0xe8]
subss xmm2, dword [eax + 0xd4]
jmp 0x459a11
movss xmm2, dword [edi + 0x1944]
mulss xmm2, dword [0x480834]
cmp byte [ebp - 0xb4], 0
mov cl, byte [edi + 0xb1]
mov byte [ebp - 0x96], cl
je 0x459a46
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
jmp 0x459dbe
mov al, byte [ebp - 0xb9]
test al, al
je 0x459ce0
cmp word [edi + 0x3ea], 2
jb 0x459ce0
cmp byte [edi + 0xfd], 0
jne 0x459ce0
cmp byte [ebx + 0x53], 0
je 0x459a89
push 0
mov edx, ebx
lea ecx, [ebp - 0x1c]
call fcn.004570b0
movss xmm2, dword [ebp - 0x10]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00457420
mov ecx, eax
mov byte [ebx + 0x52], 0
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
test byte [edi + 0x3ea], 1
jne 0x459c58
test ecx, ecx
je 0x459ac2
mov eax, dword [ebx + 0x14]
cmp word [eax + ecx*2 - 2], 0xa
je 0x459ac2
xor cl, cl
jmp 0x459ac4
mov cl, 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x459ad0
test cl, cl
jne 0x459af3
push 0x20000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457810
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x459b11
mov eax, dword [ebx + 0x44]
cmp dword [ebx + 0x40], eax
jne 0x459b0e
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
jmp 0x459b11
mov dword [ebx + 0x3c], eax
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebx + 4]
inc ecx
cmp ecx, edx
jge 0x459c19
mov esi, dword [ebx + 0xe70]
and esi, 0x8000
mov dword [ebp - 0xa0], 0x3000
test esi, esi
jne 0x459c0e
test ecx, ecx
jle 0x459c17
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + ecx*2 - 2]
cmp eax, 0x20
je 0x459c08
cmp eax, 9
je 0x459c08
cmp ax, word [ebp - 0xa0]
je 0x459c08
cmp eax, 0x2c
je 0x459c08
cmp eax, 0x3b
je 0x459c08
cmp eax, 0x28
je 0x459c08
cmp eax, 0x29
je 0x459c08
cmp eax, 0x7b
je 0x459c08
cmp eax, 0x7d
je 0x459c08
cmp eax, 0x5b
je 0x459c08
cmp eax, 0x5d
je 0x459c08
cmp eax, 0x7c
je 0x459c08
cmp eax, 0xa
je 0x459c08
cmp eax, 0xd
je 0x459c08
mov eax, dword [ebx + 0x14]
movzx eax, word [eax + ecx*2]
cmp eax, 0x20
je 0x459c01
cmp eax, 9
je 0x459c01
cmp ax, word [ebp - 0xa0]
je 0x459c01
cmp eax, 0x2c
je 0x459c01
cmp eax, 0x3b
je 0x459c01
cmp eax, 0x28
je 0x459c01
cmp eax, 0x29
je 0x459c01
cmp eax, 0x7b
je 0x459c01
cmp eax, 0x7d
je 0x459c01
cmp eax, 0x5b
je 0x459c01
cmp eax, 0x5d
je 0x459c01
cmp eax, 0x7c
je 0x459c01
cmp eax, 0xa
je 0x459c01
cmp eax, 0xd
jne 0x459c08
mov eax, 1
jmp 0x459c0a
xor eax, eax
test eax, eax
jne 0x459c17
inc ecx
cmp ecx, edx
jl 0x459b36
cmp ecx, edx
mov eax, dword [ebx + 4]
cmovg ecx, edx
mov edx, ecx
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x44], ecx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
je 0x459c47
cmp ecx, eax
jle 0x459c37
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x459c40
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x459c47
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x459dab
mov dword [ebx + 0x3c], eax
jmp 0x459dab
mov eax, dword [ebx + 0x14]
lea edx, [ebx + 0x3c]
push 0x200004
movzx esi, word [eax + ecx*2]
mov ecx, ebx
call fcn.00457810
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x600005
call fcn.00457810
add esp, 4
mov byte [ebx + 0xe6c], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, ebx
push 0x600001
call fcn.00457810
add esp, 4
cmp esi, 0xa
je 0x459cd4
cmp byte [ebp - 0xb0], 0
je 0x459cd4
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
jmp 0x459dab
cmp byte [edi + 0x3e0], 0
je 0x459d2d
cmp byte [ebx + 0xe6d], 0
jne 0x459d2d
test al, al
je 0x459dbe
cmp byte [ebx + 0x53], 0
je 0x459d14
push 0
mov edx, ebx
lea ecx, [ebp - 0x1c]
call fcn.004570b0
movss xmm2, dword [ebp - 0x10]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00457420
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x52], 0
jmp 0x459dab
cmp byte [edi + 0xec], 0
je 0x459dbe
cmp byte [ebx + 0xe6d], 0
jne 0x459dc7
movss xmm0, dword [edi + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x459d6c
movss xmm0, dword [edi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x459dbe
cmp byte [ebx + 0x53], 0
je 0x459d86
push 0
mov edx, ebx
lea ecx, [ebp - 0x1c]
call fcn.004570b0
movss xmm2, dword [ebp - 0x10]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x459d94
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.00457420
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe6c], 1
mov cl, byte [ebp - 0x96]
mov edx, dword [ebp + 0x14]
mov dword [ebx + 0xe68], 0xbe99999a
cmp byte [ebx + 0xe6d], 0
je 0x459dd7
cmp byte [edi + 0xec], 0
jne 0x459dd7
mov byte [ebx + 0xe6d], 0
cmp byte [edi + 0xfc], 0
je 0x459de9
cmp byte [edi + 0xfe], 0
je 0x459df6
test cl, cl
je 0x459dff
cmp byte [edi + 0xff], 0
je 0x459dff
mov byte [ebp - 0x95], 1
jmp 0x459e06
mov byte [ebp - 0x95], 0
test edx, 0x400
je 0x45a019
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x45a019
call fcn.00433d60
mov ecx, dword [ebp - 0xb8]
test al, al
mov al, byte [ebp - 0x95]
je 0x459ec6
test al, al
jne 0x459ec6
cmp byte [edi + 0xfd], al
jne 0x459ec6
test cl, cl
jne 0x459ec6
mov ecx, dword [edi + 0x1524]
mov eax, dword [edi + 0x151c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x459e72
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x459eba
cmp ecx, edx
jb 0x459e62
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xa0]
push 2
sub esp, 8
mov dword [ebp - 0xa0], 9
call fcn.00458950
add esp, 0xc
test al, al
je 0x459eba
push dword [ebp - 0xa0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457810
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0xb8]
mov al, byte [ebp - 0x95]
mov edx, dword [ebp + 0x14]
cmp dword [edi + 0x151c], 0
jle 0x459f85
test al, al
jne 0x459f55
test cl, cl
jne 0x459f55
cmp byte [ebp - 0x99], cl
jne 0x459f55
xor esi, esi
nop dword [eax + eax]
mov eax, dword [edi + 0x1524]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xa0], eax
cmp eax, 9
jne 0x459f0e
cmp byte [edi + 0xfd], 0
jne 0x459f49
push 2
sub esp, 8
lea ecx, [ebp - 0xa0]
call fcn.00458950
add esp, 0xc
test al, al
je 0x459f49
push dword [ebp - 0xa0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457810
add esp, 4
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [edi + 0x151c]
jl 0x459ef0
mov ecx, dword [edi + 0x1520]
test ecx, ecx
jns 0x459f7b
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 + 0x151c]
call fcn.00440680
mov dword [edi + 0x151c], 0
mov esi, dword [ebp - 0xc4]
xor cl, cl
mov byte [ebp - 0x95], cl
cmp dword [edi + 0x1be0], esi
jne 0x45ab0b
cmp byte [edi + 0x1bec], cl
jne 0x45ab0b
cmp byte [ebp - 0xa9], cl
jne 0x45ab0b
movss xmm0, dword [ebp - 0x10c]
mov ecx, 1
subss xmm0, dword [edi + 0x1568]
divss xmm0, dword [edi + 0x1944]
cvttss2si eax, xmm0
cmp eax, ecx
cmovge ecx, eax
xor esi, esi
mov dword [ebx + 0x4c], ecx
mov eax, 0x400000
cmp byte [edi + 0xfd], 0
mov dword [ebp - 0xa0], ecx
cmovne esi, eax
mov al, byte [edi + 0xb1]
mov byte [ebp - 0x11d], al
test al, al
je 0x45a02a
cmp dword [edi + 0x37c], 0xa
jne 0x45a02a
mov byte [ebp - 0xa1], 1
jmp 0x45a035
mov al, byte [ebp - 0x95]
mov ecx, dword [ebp - 0xb8]
jmp 0x459ec9
mov byte [ebp - 0xa1], 0
test al, al
je 0x45a060
cmp byte [edi + 0xff], 0
mov al, byte [edi + 0xfe]
mov byte [ebp - 0x96], al
je 0x45a073
cmp byte [edi + 0xfc], 0
jne 0x45a073
test al, al
jne 0x45a073
mov byte [ebp - 0x99], 1
jmp 0x45a07a
mov al, byte [edi + 0xfc]
mov byte [ebp - 0x96], al
mov byte [ebp - 0xa1], 0
mov byte [ebp - 0x99], 0
cmp byte [edi + 0xb1], 0
mov ecx, dword [edi + 0x37c]
je 0x45a08e
cmp ecx, 8
jmp 0x45a091
cmp ecx, 1
sete al
mov byte [ebp - 0xa2], al
test al, al
je 0x45a0be
mov eax, dword [0x4896f8]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x45a0be
mov ecx, eax
call fcn.00433d60
test al, al
jne 0x45a0d8
mov ecx, dword [edi + 0x37c]
cmp ecx, 2
jne 0x45a104
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x45a104
call fcn.00433d60
test al, al
je 0x45a104
cmp byte [ebp - 0xb8], 0
jne 0x45a104
cmp byte [ebp - 0x140], 0
jne 0x45a104
cmp byte [ebp - 0xb0], 0
je 0x45a0fb
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x45a104
mov byte [ebp - 0x9a], 1
jmp 0x45a10b
mov byte [ebp - 0x9a], 0
cmp byte [ebp - 0xa2], 0
je 0x45a129
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x45a129
call fcn.00433d60
test al, al
jne 0x45a147
cmp dword [edi + 0x37c], 1
jne 0x45a16a
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x45a16a
call fcn.00433d60
test al, al
je 0x45a16a
cmp byte [ebp - 0x140], 0
jne 0x45a16a
cmp byte [ebp - 0xb0], 0
je 0x45a161
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x45a16a
mov byte [ebp - 0x11f], 1
jmp 0x45a171
mov byte [ebp - 0x11f], 0
cmp byte [ebp - 0xa2], 0
je 0x45a18f
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x45a18f
call fcn.00433d60
test al, al
jne 0x45a1ad
cmp dword [edi + 0x37c], 2
jne 0x45a1bd
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x45a1bd
call fcn.00433d60
test al, al
je 0x45a1bd
cmp byte [ebp - 0xb8], 0
mov byte [ebp - 0xb9], 1
je 0x45a1c4
mov byte [ebp - 0xb9], 0
mov dl, byte [ebp - 0xa2]
test dl, dl
je 0x45a207
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x45a207
call fcn.00433d60
test al, al
je 0x45a201
cmp byte [ebp - 0xb8], 0
jne 0x45a201
cmp byte [ebp - 0x138], 0
je 0x45a201
mov byte [ebp - 0x120], 1
jmp 0x45a212
mov dl, byte [ebp - 0xa2]
mov byte [ebp - 0x120], 0
test dl, dl
je 0x45a22a
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x45a22a
call fcn.00433d60
test al, al
jne 0x45a24b
cmp byte [ebp - 0xa1], 0
je 0x45a264
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x45a264
call fcn.00433d60
test al, al
je 0x45a264
cmp byte [ebp - 0xb8], 0
jne 0x45a264
cmp byte [ebp - 0x138], 0
mov byte [ebp - 0xe5], 1
jne 0x45a26b
mov byte [ebp - 0xe5], 0
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x45a280
call fcn.00433d60
test al, al
jne 0x45a295
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x45a29e
call fcn.00433d60
test al, al
je 0x45a29e
mov byte [ebp - 0xa1], 1
jmp 0x45a2a5
mov byte [ebp - 0xa1], 0
mov edx, 1
xor ecx, ecx
call fcn.0043c3f0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x45a2ce
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x64]
test ecx, ecx
js 0x45a2e7
call fcn.00433d60
test al, al
je 0x45a2e7
mov edx, 1
lea ecx, [edx + 1]
call fcn.0043c3f0
comiss xmm0, xmm5
mov byte [ebp - 0x122], 0
jbe 0x45a2ee
mov byte [ebp - 0x122], 1
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x45a303
call fcn.00433d60
test al, al
jne 0x45a31d
mov eax, 1
mov edx, eax
mov ecx, eax
call fcn.0043c3f0
comiss xmm0, xmm5
mov byte [ebp - 0x121], 0
jbe 0x45a324
mov byte [ebp - 0x121], 1
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x45a37f
call fcn.00433d60
test al, al
je 0x45a37f
cmp byte [ebp - 0x99], 0
je 0x45a359
mov eax, 0x200004
lea edx, [ebx + 0x3c]
or esi, eax
mov ecx, ebx
push esi
call fcn.00457810
jmp 0x45aace
cmp byte [ebp - 0x96], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, ebx
or esi, eax
push esi
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x45a3da
call fcn.00433d60
test al, al
je 0x45a3da
cmp byte [ebp - 0x99], 0
je 0x45a3b4
mov eax, 0x200005
lea edx, [ebx + 0x3c]
or esi, eax
mov ecx, ebx
push esi
call fcn.00457810
jmp 0x45aace
cmp byte [ebp - 0x96], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, ebx
or esi, eax
push esi
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x45a450
call fcn.00433d60
test al, al
je 0x45a450
cmp byte [ebp - 0xb0], 0
je 0x45a450
cmp byte [edi + 0xfc], 0
je 0x45a430
mov edx, dword [ebp - 0x100]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [edi + 0x1944]
mov dword [edx + 0x74], 0
mov dword [edx + 0x7c], 0
maxss xmm0, xmm5
movss dword [edx + 0x6c], xmm0
jmp 0x45aae2
movzx eax, byte [ebp - 0x99]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.00457810
jmp 0x45aace
mov ecx, dword [0x4896f8]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x45a4d3
call fcn.00433d60
test al, al
je 0x45a4d3
cmp byte [ebp - 0xb0], 0
je 0x45a4d3
cmp byte [edi + 0xfc], 0
je 0x45a4b3
mov ecx, dword [ebp - 0x100]
movss xmm0, dword [edi + 0x1944]
mov eax, dword [0x4896f8]
addss xmm0, dword [ecx + 0x5c]
mov eax, dword [eax + 0x1ba8]
minss xmm0, dword [eax + 0x64]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x6c], xmm0
jmp 0x45aae2
movzx eax, byte [ebp - 0x99]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x45a53f
call fcn.00433d60
test al, al
je 0x45a53f
cmp byte [ebp - 0xb0], 0
je 0x45a53f
or esi, 0x20000e
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00457810
movd xmm0, dword [ebp - 0xa0]
movss xmm1, dword [ebp - 0x134]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x1944]
subss xmm1, xmm0
movss dword [ebp - 0x134], xmm1
jmp 0x45aadf
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x45a5a7
call fcn.00433d60
test al, al
je 0x45a5a7
cmp byte [ebp - 0xb0], 0
je 0x45a5a7
or esi, 0x20000f
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00457810
movd xmm0, dword [ebp - 0xa0]
cvtdq2ps xmm0, xmm0
mov byte [ebx + 0xe6c], 1
mov dword [ebx + 0xe68], 0xbe99999a
mulss xmm0, dword [edi + 0x1944]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x134], xmm0
jmp 0x45aadf
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x45a5e3
call fcn.00433d60
test al, al
je 0x45a5e3
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [edi + 0xfc], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x45a61f
call fcn.00433d60
test al, al
je 0x45a61f
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [edi + 0xfc], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x45a653
call fcn.00433d60
test al, al
je 0x45a653
cmp byte [ebp - 0xb8], 0
jne 0x45a653
or esi, 0x200008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00457810
jmp 0x45aace
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x45a6ee
call fcn.00433d60
test al, al
je 0x45a6ee
cmp byte [ebp - 0xb8], 0
jne 0x45a6ee
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x45a6d8
cmp byte [ebp - 0x96], 0
je 0x45a691
push 0x60000c
jmp 0x45a6ba
cmp byte [ebp - 0x11d], 0
je 0x45a6d8
cmp byte [edi + 0xff], 0
je 0x45a6d8
cmp byte [edi + 0xfe], 0
jne 0x45a6d8
cmp byte [edi + 0xfc], 0
jne 0x45a6d8
push 0x600004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457810
mov dword [ebx + 0xe68], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe6c], 1
or esi, 0x200009
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.00457810
jmp 0x45aace
cmp byte [ebp - 0xa1], 0
je 0x45a765
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xb0], 0
je 0x45a76e
mov cl, byte [edi + 0xfc]
test al, al
je 0x45a71a
test cl, cl
je 0x45a76e
jmp 0x45a71e
test cl, cl
jne 0x45a76e
cmp byte [ebp - 0xb8], 0
jne 0x45aae2
push 2
sub esp, 8
mov dword [ebp - 0xa0], 0xa
lea ecx, [ebp - 0xa0]
call fcn.00458950
add esp, 0xc
test al, al
je 0x45aae2
push dword [ebp - 0xa0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457810
jmp 0x45aace
cmp byte [ebp - 0x122], 0
je 0x45a781
mov byte [ebp - 0xa9], 1
mov byte [ebp - 0x97], 1
jmp 0x45aae2
cmp byte [ebp - 0x121], 0
je 0x45a797
mov cl, 1
mov byte [ebp - 0xa9], cl
jmp 0x45aae8
mov al, byte [ebp - 0x120]
test al, al
jne 0x45aaaf
cmp byte [ebp - 0xe5], al
jne 0x45aaaf
cmp byte [ebp - 0xa2], al
je 0x45a7ee
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x45a7ee
call fcn.00433d60
test al, al
je 0x45a7ee
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 0x45aae2
mov al, byte [ebp - 0x9a]
test al, al
jne 0x45a9a0
cmp byte [ebp - 0x11f], al
jne 0x45a9a0
cmp byte [ebp - 0xb9], al
je 0x45aae2
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x45a839
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x45a83e
jmp 0x45aae2
mov esi, 0x478769
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45a843
mov eax, dword [0x4896f8]
sub ecx, edx
test eax, eax
je 0x45a85b
inc dword [eax + 0x36c]
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
cmp byte [esi], 0
mov dword [ebp - 0xa0], 0
je 0x45a8e6
xor edi, edi
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xcc]
call fcn.0042cbf0
add esp, 4
add esi, eax
cmp dword [ebp - 0xcc], 0
je 0x45a8ce
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xcc]
push 5
sub esp, 8
call fcn.00458950
add esp, 0xc
test al, al
je 0x45a8c9
mov ax, word [ebp - 0xcc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x45a886
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xa0]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x45a97f
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xa0], edx
mov edx, dword [ebx + 0x40]
cmp edx, dword [ebx + 0x44]
je 0x45a930
cmp edx, ecx
jle 0x45a917
mov dword [ebx + 0x40], ecx
mov edx, ecx
cmp dword [ebx + 0x44], ecx
jle 0x45a925
mov dword [ebx + 0x44], ecx
mov dword [ebp - 0xa0], ecx
cmp edx, dword [ebp - 0xa0]
jne 0x45a930
mov dword [ebx + 0x3c], edx
cmp dword [ebx + 0x3c], ecx
jle 0x45a938
mov dword [ebx + 0x3c], ecx
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457780
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push esi
push dword [ebp - 0xc8]
call fcn.004572d0
add esp, 8
test al, al
je 0x45a972
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x5c]
push esi
push 0
call fcn.00458660
add esp, 8
mov byte [ebx + 0x52], 0
add dword [ebx + 0x3c], esi
mov eax, dword [ebp - 0xc8]
mov byte [ebx + 0xe6c], 1
test eax, eax
je 0x45a993
mov ecx, dword [0x4896f8]
test ecx, ecx
je 0x45a993
dec dword [ecx + 0x36c]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
jmp 0x45aadf
cmp dword [edi + 0xd4], 0
je 0x45aa70
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, ecx
je 0x45a9c1
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x45a9c6
mov ecx, dword [ebx + 4]
xor esi, esi
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x12c], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.0042ce90
mov ecx, dword [0x4896f8]
inc eax
mov dword [ebp - 0xdc], eax
test ecx, ecx
je 0x45a9f7
inc dword [ecx + 0x36c]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [ebx + 0x14]
add esp, 4
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xf4], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x12c]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.0042ce20
mov eax, dword [0x4896f8]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x45aa51
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x4896f8]
add esp, 8
test esi, esi
je 0x45aa5f
test eax, eax
je 0x45aa5f
dec dword [eax + 0x36c]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [ebp - 0x9a]
add esp, 4
test al, al
je 0x45aae2
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x45aa90
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 0x45aae2
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.00457780
mov byte [ebx + 0x52], 0
jmp 0x45aae2
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x20000a
push eax
call fcn.00457810
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov byte [ebx + 0xe6c], 1
add esp, 4
mov cl, byte [ebp - 0x95]
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x45aafd
cmp byte [ebp - 0xa3], 0
je 0x45aafd
mov al, 1
jmp 0x45aaff
xor al, al
or byte [ebp - 0x130], al
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xb4], 0
cmp dword [edi + 0x1be0], esi
jne 0x45b237
test cl, cl
je 0x45ad72
cmp byte [ebp - 0xb8], 0
jne 0x45ad5a
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xa8]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45ab70
test dl, dl
je 0x45ab6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45ab70
add eax, 2
add ecx, 2
test dl, dl
jne 0x45ab50
xor eax, eax
jmp 0x45ab75
sbb eax, eax
or eax, 1
test eax, eax
je 0x45ad5a
mov eax, dword [ebx + 0x24]
xor edx, edx
dec eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb4], eax
mov ecx, esi
mov dword [ebp - 0xf8], ecx
test eax, eax
jle 0x45acb5
lea edi, [eax + ecx]
xor eax, eax
mov dword [ebp - 0xcc], eax
test edi, edi
je 0x45abb2
cmp esi, edi
jae 0x45abdc
cmp byte [esi], 0
je 0x45abdc
push edi
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
add esi, eax
add esp, 4
cmp dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xcc]
je 0x45abdc
inc eax
jmp 0x45aba4
mov edi, dword [ebp - 0xf0]
lea edx, [eax + 1]
mov dword [ebp - 0xa0], edx
test edx, edx
jle 0x45ac27
mov ecx, 8
mov eax, edx
cmp edx, ecx
cmovl eax, ecx
test eax, eax
jle 0x45ac27
mov ecx, dword [0x4896f8]
test ecx, ecx
je 0x45ac0f
inc dword [ecx + 0x36c]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [ebp - 0xa0]
add esp, 4
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xf8]
add ecx, esi
mov dword [ebp - 0xdc], ecx
mov ecx, dword [ebp - 0xc0]
mov eax, ecx
mov dword [ebp - 0xcc], eax
lea ecx, [ecx + edx*2]
add ecx, 0xfffffffe
mov dword [ebp - 0xf4], ecx
cmp eax, ecx
jae 0x45acb0
mov edi, dword [ebp - 0xdc]
nop
test edi, edi
je 0x45ac68
cmp esi, edi
jae 0x45aca4
cmp byte [esi], 0
je 0x45aca4
push edi
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
mov ecx, dword [ebp - 0xdc]
add esi, eax
mov eax, dword [ebp - 0xcc]
add esp, 4
test ecx, ecx
je 0x45aca4
mov word [eax], cx
add eax, 2
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xf4]
jb 0x45ac60
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xa0]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebx + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [ebp - 0xb4], ecx
cmovle eax, ecx
lea ecx, [ebx + 0x5c]
push eax
push esi
xor edx, edx
mov dword [ebp - 0xdc], eax
call fcn.00458660
mov edx, eax
add esp, 8
test edx, edx
je 0x45ad00
xor ecx, ecx
test esi, esi
jle 0x45ad00
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x45acf0
push dword [ebx + 4]
xor edx, edx
mov ecx, ebx
call fcn.00457270
mov esi, dword [ebp - 0xdc]
add esp, 4
test esi, esi
jle 0x45ad37
push esi
push dword [ebp - 0xc0]
xor edx, edx
mov ecx, ebx
call fcn.004572d0
add esp, 8
test al, al
je 0x45ad37
mov dword [ebx + 0x3c], esi
mov byte [ebx + 0x52], 0
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x45ad5a
mov eax, dword [0x4896f8]
test eax, eax
je 0x45ad50
dec dword [eax + 0x36c]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
cmp byte [ebp - 0x97], 0
mov eax, dword [ebp + 0x14]
je 0x45b15e
test al, 0x20
je 0x45b15e
cmp byte [ebp - 0xb8], 0
jne 0x45adcf
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x1c]
cmp esi, eax
jle 0x45adba
test eax, eax
je 0x45ada3
cdq
sub eax, edx
lea edx, [ebx + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x45adab
mov ecx, 8
lea edx, [ebx + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.00440610
mov dword [ebx + 0x18], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.0042ce20
add esp, 8
mov edx, dword [ebp + 0x14]
test edx, 0x801c0
je 0x45b110
xor esi, esi
test dl, 0x40
je 0x45ae06
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x45ae06
call fcn.00433d60
mov edx, dword [ebp + 0x14]
test al, al
je 0x45ae06
mov esi, 0x40
xor eax, eax
jmp 0x45ae79
test dl, dl
jns 0x45ae4e
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x45ae2c
call fcn.00433d60
mov edx, dword [ebp + 0x14]
test al, al
je 0x45ae2c
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x45ae79
mov eax, dword [0x4896f8]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x45ae4e
call fcn.00433d60
mov edx, dword [ebp + 0x14]
test al, al
je 0x45ae4e
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x45ae79
test edx, 0x80000
je 0x45ae66
cmp byte [ebx + 0xe6e], 0
je 0x45ae66
mov esi, 0x80000
jmp 0x45ae74
test edx, 0x100
mov eax, pe_nt_image_headers32
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x45b110
xor ecx, ecx
mov dword [ebp - 0x58], 0
cmp byte [ebp - 0xb8], cl
mov word [ebp - 0x43], cx
mov byte [ebp - 0x41], cl
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], edx
jne 0x45aeab
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x50], ecx
mov ecx, esi
mov byte [ebp - 0x44], 0
lea edx, [esi + eax*2]
call fcn.0042ce90
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x40], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.0042ce90
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x3c], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.0042ce90
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x64]
push eax
xor eax, eax
call eax
mov al, byte [ebp - 0x44]
add esp, 4
mov edx, dword [ebp - 0x40]
mov byte [ebp - 0x9a], al
cmp edx, edi
jne 0x45af21
test al, al
je 0x45af74
mov esi, dword [ebp - 0x50]
xor eax, eax
lea edi, [edx + esi]
mov dword [ebp - 0xcc], eax
test edi, edi
je 0x45af37
cmp esi, edi
jae 0x45af61
cmp byte [esi], 0
je 0x45af61
push edi
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
add esi, eax
add esp, 4
cmp dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xcc]
je 0x45af61
inc eax
jmp 0x45af29
mov edx, dword [ebp - 0x40]
mov dword [ebx + 0x3c], eax
mov al, byte [ebp - 0x9a]
mov byte [ebx + 0xe6c], 1
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0xf4]
jne 0x45af83
test al, al
je 0x45afd2
cmp ecx, edx
jne 0x45af8c
mov eax, dword [ebx + 0x3c]
jmp 0x45afcf
mov esi, dword [ebp - 0x50]
xor eax, eax
lea edi, [ecx + esi]
mov dword [ebp - 0xcc], eax
test edi, edi
je 0x45afa2
cmp esi, edi
jae 0x45afcc
cmp byte [esi], 0
je 0x45afcc
push edi
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
add esi, eax
add esp, 4
cmp dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xcc]
je 0x45afcc
inc eax
jmp 0x45af94
mov ecx, dword [ebp - 0x3c]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xec]
jne 0x45afea
cmp byte [ebp - 0x9a], 0
je 0x45b10a
cmp eax, ecx
jne 0x45b03a
mov eax, dword [ebx + 0x40]
cmp byte [ebp - 0x9a], 0
mov dword [ebx + 0x44], eax
je 0x45b10a
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x128]
cmp esi, ecx
jle 0x45b098
cmp byte [ebp - 0x11c], 0
je 0x45b098
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x45b096
test edi, edi
je 0x45b07e
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x45b083
mov esi, dword [ebp - 0x50]
lea edi, [eax + esi]
xor eax, eax
mov dword [ebp - 0xcc], eax
test edi, edi
je 0x45b050
cmp esi, edi
jae 0x45aff1
cmp byte [esi], 0
je 0x45aff1
push edi
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
add esi, eax
add esp, 4
cmp dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xcc]
je 0x45aff1
inc eax
jmp 0x45b042
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.00440680
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 - 0x50]
dec eax
mov dword [ebp - 0xec], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xf4], eax
cmp ecx, eax
jae 0x45b0ee
cmp byte [edi], 0
je 0x45b0e8
push 0
mov edx, edi
lea ecx, [ebp - 0xdc]
call fcn.0042cbf0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x45b0e8
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xf4]
jb 0x45b0b7
mov ecx, dword [ebp - 0xec]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x4c]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe68], 0xbe99999a
mov edi, dword [ebp - 0xf0]
cmp byte [ebp - 0xb8], 0
jne 0x45b15b
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xa8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45b144
test dl, dl
je 0x45b140
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45b144
add eax, 2
add ecx, 2
test dl, dl
jne 0x45b124
xor eax, eax
jmp 0x45b149
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x45b15e
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xf8], esi
jmp 0x45b164
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xf8]
mov dword [ebx + 0xe70], 0
test edx, edx
je 0x45b231
cmp byte [ebp - 0x11c], 0
je 0x45b1f9
mov dword [ebp - 0x90], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x80], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x88], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x94]
push eax
xor eax, eax
movlpd qword [ebp - 0x74], xmm0
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x94], 0x40000
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x8c], 0
call eax
mov esi, dword [ebp - 0x78]
add esp, 4
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xa8], eax
lea ecx, [esi - 1]
cmp dword [ebp - 0x7c], ecx
cmovl ecx, dword [ebp - 0x7c]
jmp 0x45b1fc
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x45b22a
jbe 0x45b21f
lea eax, [esi - 1]
push eax
push edx
push dword [ebp - 0xa8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp - 0xa8]
mov byte [esi + eax - 1], 0
mov byte [ebp - 0x11e], 1
mov esi, dword [ebp - 0xc4]
cmp byte [ebp - 0xa9], 0
je 0x45b24d
cmp dword [edi + 0x1be0], esi
jne 0x45b24d
call fcn.0042f780
cmp byte [ebp - 0xb0], 0
jne 0x45b2f6
push 1
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.0042eb30
movss xmm1, dword [0x48086c]
add esp, 4
mov ecx, 7
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.0042dce0
movss xmm2, dword [edi + 0x156c]
mov dl, 1
mov ecx, eax
call fcn.0042e920
movss xmm0, dword [ebp - 0x34]
add esp, 0x10
movss xmm2, dword [ebp - 0x30]
movaps xmm4, xmm0
movss xmm7, dword [ebp - 0x13c]
movaps xmm1, xmm2
addss xmm1, dword [ebp - 0x10c]
addss xmm4, xmm7
movss dword [ebp - 0x14], xmm0
movaps xmm3, xmm0
movss dword [ebp - 0x10], xmm2
addss xmm3, dword [edi + 0x1564]
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x1568]
movss dword [ebp - 0xec], xmm4
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 0xf4], xmm1
jmp 0x45b355
movss xmm1, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x30]
movaps xmm4, xmm1
movss xmm7, dword [ebp - 0x13c]
movaps xmm2, xmm0
addss xmm2, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x100]
addss xmm4, xmm7
movss dword [ebp - 0x14], xmm1
movss dword [ebp - 0x10], xmm0
movss xmm3, dword [eax + 0xd0]
movss xmm0, dword [eax + 0xd4]
movaps xmm1, xmm4
movss dword [ebp - 0xec], xmm1
movss dword [ebp - 0xc], xmm1
movaps xmm1, xmm2
movss dword [ebp - 0xf4], xmm2
cmp byte [ebp - 0xba], 0
xorps xmm5, xmm5
movss dword [ebp - 0xcc], xmm0
xorps xmm6, xmm6
movss dword [ebp - 0x20], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xc0], xmm3
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0xdc], xmm4
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x12c], xmm0
movss dword [ebp - 0xa0], xmm5
je 0x45b3b7
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xa8], eax
mov cl, byte [ebp - 0x98]
mov dword [ebp - 0x104], 0
test cl, cl
je 0x45b3f8
mov esi, dword [ebp - 0xfc]
mov ecx, esi
mov dword [ebp - 0xa8], esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b3e0
sub ecx, edx
lea eax, [ecx + esi]
mov cl, byte [ebp - 0x98]
mov dword [ebp - 0x104], eax
mov al, byte [ebp - 0xa3]
test al, al
jne 0x45b63a
cmp byte [ebp - 0x130], al
jne 0x45b63a
cmp byte [ebp - 0xb0], al
je 0x45b47f
mov eax, dword [ebp - 0xa8]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x45b442
nop dword [eax + eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x45b430
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0x104], ebx
cmp al, 0xa
je 0x45b455
cmp al, 0xd
je 0x45b455
inc ecx
mov edx, dword [ebp - 0x104]
movaps xmm0, xmm7
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x12c], xmm0
mulss xmm5, dword [edi + 0x1944]
movss dword [ebp - 0xa0], xmm5
jmp 0x45b4e2
test cl, cl
jne 0x45b4c9
mov eax, dword [ebp - 0xc4]
cmp dword [edi + 0x1be0], eax
jne 0x45b4a2
mov edx, dword [ebx + 8]
add edx, dword [ebp - 0xa8]
mov dword [ebp - 0x104], edx
jmp 0x45b4cf
mov ecx, dword [ebp - 0xa8]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b4b0
sub ecx, edx
mov edx, dword [ebp - 0xa8]
add edx, ecx
mov dword [ebp - 0x104], edx
jmp 0x45b4cf
mov edx, dword [ebp - 0x104]
mov eax, edx
sub eax, dword [ebp - 0xa8]
cmp eax, 0x200000
jge 0x45c1c7
movzx ecx, byte [ebp - 0x98]
movss xmm1, dword [0x48086c]
call fcn.0042dce0
cmp byte [ebp - 0xb0], 0
mov ecx, edx
mov esi, dword [ebp - 0x100]
lea edx, [ebp - 0x14]
mov ebx, dword [edi + 0x1940]
movss xmm2, dword [edi + 0x1944]
mov dword [ebp - 0xdc], 0
cmovne edx, dword [ebp - 0xdc]
mov esi, dword [esi + 0x244]
mov dword [ebp - 0xf4], eax
test eax, 0xff000000
je 0x45c1c7
cmp dword [ebp - 0x104], 0
jne 0x45b56d
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + 1]
mov dword [ebp - 0xdc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b556
sub ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xa8]
add ecx, eax
jmp 0x45b573
mov eax, dword [ebp - 0xa8]
cmp eax, ecx
je 0x45c1c7
test ebx, ebx
jne 0x45b585
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 8]
ucomiss xmm2, dword [0x4807e0]
lahf
test ah, 0x44
jp 0x45b59a
mov eax, dword [esi + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [esi + 0x60]
movups xmmword [ebp - 0x118], xmm0
test edx, edx
je 0x45b5fc
movss xmm0, dword [ebp - 0x118]
maxss xmm0, dword [edx]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x114]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x110]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x10c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x10c], xmm0
push dword [ebp - 0xcc]
test edx, edx
push dword [ebp - 0xd0]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x118]
push ecx
push dword [ebp - 0xa8]
mov ecx, ebx
push eax
push dword [ebp - 0xf4]
push esi
call fcn.0044ee60
jmp 0x45c1c7
test cl, cl
jne 0x45b653
mov eax, dword [ebx + 8]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x104], eax
mov al, byte [ebp - 0xa3]
mov ecx, dword [ebx + 0x14]
mov esi, 0xfffffc18
xor edx, edx
mov dword [ebp - 0xb4], ecx
movss dword [ebp - 0xfc], xmm6
movaps xmm7, xmm6
mov dword [ebp - 0x128], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0xf8], esi
test al, al
je 0x45b6aa
mov eax, dword [ebx + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x11c], esi
lea eax, [ecx + eax*2]
mov dword [ebp - 0x128], eax
lea edx, [esi + 2]
cmp byte [ebp - 0x130], 0
je 0x45b6dd
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebp - 0xb4]
cmovl ecx, dword [ebx + 0x40]
inc edx
mov dword [ebp - 0xf8], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xc8], eax
mov edi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb0]
movzx eax, al
add edx, eax
xor eax, eax
movzx edi, word [edi]
test di, di
mov edi, dword [ebp - 0xf0]
je 0x45b779
mov ebx, dword [ebp - 0xb4]
mov edi, dword [ebp - 0x11c]
movzx esi, word [ebx]
xor ebx, ebx
nop
cmp si, 0xa
jne 0x45b747
inc ebx
cmp edi, 0xffffffff
jne 0x45b72b
cmp ecx, dword [ebp - 0x128]
jb 0x45b72b
dec edx
mov edi, ebx
test edx, edx
jle 0x45b755
cmp dword [ebp - 0xf8], 0xffffffff
jne 0x45b747
cmp ecx, dword [ebp - 0xc8]
jb 0x45b747
dec edx
mov dword [ebp - 0xf8], ebx
test edx, edx
jle 0x45b755
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x45b710
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x11c]
mov dword [ebp - 0xcc], ebx
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x128]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0xcc], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xf8]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0xf8], ecx
mov ecx, edx
cmp edx, esi
jbe 0x45b7c0
cmp word [ecx - 2], 0xa
je 0x45b7c0
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x45b7b2
mov eax, dword [0x4896f8]
movaps xmm4, xmm6
movss dword [ebp - 0x11c], xmm4
movaps xmm1, xmm6
mov esi, dword [eax + 0x1940]
movss xmm2, dword [eax + 0x1944]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x45b84a
mov ebx, dword [ebp - 0x128]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x45b806
maxss xmm4, xmm1
movaps xmm1, xmm6
jmp 0x45b828
cmp edx, 0xd
je 0x45b828
mov edx, eax
cmp edx, dword [esi]
jge 0x45b81b
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x45b820
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, ebx
jb 0x45b7f0
comiss xmm1, xmm4
mov ebx, dword [ebp - 0x148]
movss dword [ebp - 0x11c], xmm4
jbe 0x45b84a
movaps xmm4, xmm1
movss dword [ebp - 0x11c], xmm1
cmp dword [ebp - 0xf8], 0
movd xmm3, dword [ebp - 0xf0]
movss xmm0, dword [edi + 0x1944]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0xf0], xmm3
jl 0x45b931
mov eax, dword [ebp - 0xc8]
mov ecx, eax
mov edx, dword [ebp - 0xb4]
cmp eax, edx
jbe 0x45b896
cmp word [ecx - 2], 0xa
je 0x45b896
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x45b888
movaps xmm1, xmm6
mov eax, dword [0x4896f8]
mov esi, dword [eax + 0x1940]
movss xmm2, dword [eax + 0x1944]
divss xmm2, dword [esi + 0x10]
cmp ecx, dword [ebp - 0xc8]
jae 0x45b90a
mov ebx, dword [ebp - 0xc8]
nop
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x45b8d6
maxss xmm7, xmm1
movaps xmm1, xmm6
jmp 0x45b8f8
cmp edx, 0xd
je 0x45b8f8
mov edx, eax
cmp edx, dword [esi]
jge 0x45b8eb
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x45b8f0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, ebx
jb 0x45b8c0
comiss xmm1, xmm7
mov ebx, dword [ebp - 0x148]
jbe 0x45b90a
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0xf8]
movss xmm0, dword [edi + 0x1944]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
movss dword [ebp - 0xfc], xmm3
movss xmm3, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xb0]
movss xmm1, dword [ebp - 0x13c]
test cl, cl
je 0x45b965
movd xmm5, dword [ebp - 0xcc]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0x12c], xmm0
movss dword [ebp - 0xa0], xmm5
cmp byte [ebp - 0xa3], 0
je 0x45baa7
cmp byte [ebx + 0xe6c], 0
je 0x45baa7
test dword [ebp + 0x14], 0x1000
jne 0x45b9e0
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm1
comiss xmm2, xmm4
subss xmm1, dword [edi + 0x1564]
mulss xmm0, dword [0x480820]
movss dword [ebp - 0x13c], xmm1
movaps xmm1, xmm4
jbe 0x45b9bd
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x45b9ce
subss xmm1, dword [ebp - 0x13c]
comiss xmm1, xmm2
jb 0x45b9e7
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x45b9e7
mov dword [ebx + 0x38], 0
test cl, cl
je 0x45ba93
movss xmm4, dword [ebp - 0x134]
movaps xmm0, xmm3
subss xmm0, dword [edi + 0x1944]
comiss xmm4, xmm0
jbe 0x45ba28
movaps xmm4, xmm6
maxss xmm4, xmm0
movss xmm0, dword [ebp - 0x10c]
comiss xmm6, xmm4
movss xmm1, dword [edi + 0x1568]
jbe 0x45ba61
movaps xmm1, xmm6
jmp 0x45ba75
movss xmm2, dword [edi + 0x1568]
movaps xmm0, xmm3
movss xmm1, dword [ebp - 0x10c]
addss xmm2, xmm2
subss xmm1, xmm2
subss xmm0, xmm1
comiss xmm0, xmm4
jb 0x45ba0e
movss xmm0, dword [ebp - 0x10c]
movaps xmm4, xmm3
subss xmm4, xmm0
addss xmm4, xmm2
jmp 0x45ba16
addss xmm1, xmm1
addss xmm1, xmm5
subss xmm1, xmm0
maxss xmm1, xmm6
minss xmm1, xmm4
mov eax, dword [ebp - 0x100]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x20], xmm0
movss dword [eax + 0x5c], xmm1
mov byte [ebx + 0xe6c], 0
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0xc0], xmm0
cmp byte [ebp - 0x130], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0xc8], xmm4
je 0x45bd8e
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xb4]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xa3], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xb4]
lea eax, [eax + edx*2]
mov dword [ebp - 0xcc], eax
je 0x45bafc
movss xmm1, dword [0x48086c]
jmp 0x45bb04
movss xmm1, dword [0x480838]
mov ecx, 0x2f
call fcn.0042dce0
cmp byte [ebp - 0xb0], 0
mov dword [ebp - 0x130], eax
je 0x45bb2d
xorps xmm0, xmm0
xorps xmm6, xmm6
movss dword [ebp - 0x128], xmm0
jmp 0x45bb48
movss xmm0, dword [0x4808b8]
movss xmm6, dword [0x480960]
movss dword [ebp - 0x128], xmm0
xorps xmm0, xmm0
movss xmm4, dword [ebp - 0x20]
addss xmm4, dword [ebp - 0xfc]
movss xmm3, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
addss xmm3, xmm7
movss dword [ebp - 0x134], xmm6
subss xmm4, xmm0
subss xmm3, dword [ebp - 0xc8]
movss dword [ebp - 0xfc], xmm4
cmp esi, ecx
jae 0x45bd83
movss xmm7, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x130]
nop dword [eax]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x1944]
comiss xmm4, xmm0
ja 0x45bd7d
movss xmm0, dword [ebp - 0x30]
comiss xmm0, xmm4
jbe 0x45bbdf
cmp esi, ecx
jae 0x45bd4d
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x45bd4d
cmp esi, ecx
jb 0x45bbc6
jmp 0x45bd4d
mov eax, dword [0x4896f8]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm1, xmm1
mov edx, dword [eax + 0x1940]
movss xmm2, dword [eax + 0x1944]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x45bc50
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x45bc3d
cmp ecx, 0xd
je 0x45bc31
cmp ecx, dword [edx]
jge 0x45bc24
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x45bc29
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [ebp - 0xcc]
cmp esi, ecx
jb 0x45bc04
jmp 0x45bc4d
mov ecx, dword [ebp - 0xcc]
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x45bc89
mov eax, dword [edi + 0x1940]
cmp dword [eax], 0x20
jle 0x45bc71
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x45bc76
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x480834]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x128]
addss xmm1, xmm3
addss xmm3, dword [0x4807e0]
movaps xmm2, xmm6
addss xmm0, xmm4
subss xmm2, dword [edi + 0x1944]
movss xmm6, dword [ebp - 0xec]
minss xmm1, xmm6
maxss xmm3, dword [ebp - 0x34]
minss xmm0, xmm7
addss xmm2, xmm4
movss dword [ebp - 0x110], xmm1
movss dword [ebp - 0x118], xmm3
comiss xmm0, dword [ebp - 0x30]
maxss xmm2, dword [ebp - 0x30]
movss dword [ebp - 0x10c], xmm0
movss dword [ebp - 0x114], xmm2
jbe 0x45bd4d
comiss xmm7, xmm2
jbe 0x45bd4d
comiss xmm1, dword [ebp - 0x34]
jbe 0x45bd4d
comiss xmm6, xmm3
jbe 0x45bd4d
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x110]
push ebx
push eax
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x244]
call fcn.0044ad90
movss xmm4, dword [ebp - 0x24]
movss xmm7, dword [ebp - 0x138]
mov ecx, dword [ebp - 0xcc]
movss dword [ebp - 0xc0], xmm4
movss xmm4, dword [ebp - 0xfc]
movss xmm3, dword [ebp - 0xc0]
movss xmm6, dword [ebp - 0x134]
addss xmm4, dword [edi + 0x1944]
subss xmm3, dword [ebp - 0xc8]
movss dword [ebp - 0xfc], xmm4
cmp esi, ecx
jb 0x45bba0
mov ebx, dword [ebp - 0x148]
movss xmm4, dword [ebp - 0xc8]
xorps xmm6, xmm6
cmp byte [ebp - 0xb0], 0
mov edx, dword [ebp - 0x104]
jne 0x45bdb0
mov eax, edx
sub eax, dword [ebp - 0xa8]
cmp eax, 0x200000
jge 0x45c012
movzx eax, byte [ebp - 0x98]
mov ecx, dword [0x4896f8]
add eax, eax
movss xmm7, dword [0x48086c]
movups xmm2, xmmword [ecx + eax*8 + 0x15f0]
comiss xmm6, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ecx + 0x1528]
movups xmmword [ebp - 0x118], xmm2
jbe 0x45bdef
movaps xmm0, xmm6
jmp 0x45bdf6
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [0x48092c]
movss xmm5, dword [0x480834]
movss xmm3, dword [ebp - 0x114]
comiss xmm6, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x45be24
movaps xmm0, xmm6
jmp 0x45be2b
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x110]
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm3
jbe 0x45be4e
movaps xmm0, xmm6
jmp 0x45be55
movaps xmm0, xmm7
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x45be70
movaps xmm0, xmm6
jmp 0x45be77
movaps xmm0, xmm7
minss xmm0, xmm1
mov eax, dword [ebp - 0x100]
mulss xmm0, xmm2
mov dword [ebp - 0x138], 0
movss xmm2, dword [edi + 0x1944]
addss xmm0, xmm5
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0xc0]
subss xmm0, xmm4
shl esi, 0x18
or esi, ecx
mov ecx, dword [eax + 0x244]
mov eax, dword [edi + 0x1940]
cmp byte [ebp - 0xb0], 0
mov dword [ebp - 0xfc], eax
mov eax, edx
movss dword [ebp - 0x110], xmm0
lea edx, [ebp - 0x14]
movss xmm0, dword [ebp - 0x20]
cmovne edx, dword [ebp - 0x138]
subss xmm0, xmm6
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xec], eax
movss dword [ebp - 0x10c], xmm0
test esi, 0xff000000
je 0x45c012
cmp dword [ebp - 0x104], 0
jne 0x45bf41
mov ecx, dword [ebp - 0xa8]
lea eax, [ecx + 1]
mov dword [ebp - 0xec], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45bf20
sub ecx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xa8]
add eax, ecx
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xa8], eax
je 0x45c012
cmp dword [edi + 0x1940], 0
jne 0x45bf62
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xfc], eax
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x45bf73
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0xd8], xmm0
test edx, edx
je 0x45bfd5
movss xmm0, dword [ebp - 0xd8]
maxss xmm0, dword [edx]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd4]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [ebp - 0xd0]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0xcc]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0xcc], xmm0
push dword [ebp - 0x10c]
test edx, edx
push dword [ebp - 0x110]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xd8]
push dword [ebp - 0xec]
push dword [ebp - 0xa8]
push eax
push esi
push ecx
mov ecx, dword [ebp - 0xfc]
call fcn.0044ee60
cmp byte [ebp - 0xa3], 0
je 0x45c1c7
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe68]
movss dword [ebx + 0xe68], xmm0
cmp byte [edi + 0xb2], 0
je 0x45c084
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x45c084
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x110], xmm0
fld qword [ebp - 0x110]
fld qword [0x4808b0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x480858]
fstp qword [ebp - 0x110]
movsd xmm1, qword [ebp - 0x110]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x45c084
xor cl, cl
jmp 0x45c086
mov cl, 1
movss xmm0, dword [ebp - 0x11c]
movss xmm6, dword [0x48086c]
addss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0xc8]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0xf0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4807e0]
movss dword [ebp - 0xec], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x14], xmm1
addss xmm4, xmm6
cvttss2si eax, xmm0
movss dword [ebp - 0xc], xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0xfc], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
subss xmm0, dword [edi + 0x1944]
subss xmm3, dword [0x480888]
addss xmm0, dword [0x480834]
movss dword [ebp - 8], xmm3
movss dword [ebp - 0x10], xmm0
test cl, cl
je 0x45c1a2
comiss xmm3, dword [ebp - 0x30]
jbe 0x45c1a2
movss xmm5, dword [ebp - 0xf4]
comiss xmm5, xmm0
jbe 0x45c1a2
comiss xmm4, dword [ebp - 0x34]
jbe 0x45c1a2
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, xmm1
jbe 0x45c1a2
sub esp, 8
movss dword [ebp - 0x110], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x10c], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.0042dce0
add esp, 4
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x244]
call fcn.0044ab90
movss xmm1, dword [ebp - 0xec]
movss xmm2, dword [ebp - 0xfc]
movss xmm6, dword [0x48086c]
cmp byte [ebp - 0xb8], 0
jne 0x45c1c7
subss xmm2, dword [edi + 0x1944]
subss xmm1, xmm6
movss dword [edi + 0x2f4c], xmm2
movss dword [edi + 0x2f48], xmm1
mov ebx, dword [ebp - 0x140]
test bl, bl
je 0x45c1df
cmp byte [ebp - 0x98], 0
jne 0x45c1df
call fcn.00439420
cmp byte [ebp - 0xb0], 0
je 0x45c2e9
mov ecx, dword [0x4896f8]
movss xmm1, dword [ebp - 0xa0]
addss xmm1, dword [edi + 0x1568]
movss xmm3, dword [ebp - 0x12c]
mov eax, dword [ecx + 0x1ba8]
movss dword [ebp - 0x110], xmm3
movss dword [ebp - 0x10c], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1ba8]
cmp byte [eax + 0x8f], 0
jne 0x45c286
movss xmm0, dword [eax + 0xd4]
lea ecx, [ebp - 0x110]
movss xmm2, dword [eax + 0xd0]
addss xmm1, xmm0
addss xmm3, xmm2
movss dword [ebp - 0x14], xmm2
movss dword [ebp - 0x10], xmm0
movss dword [ebp - 8], xmm1
movss xmm1, dword [0x480960]
movss dword [ebp - 0xc], xmm3
call fcn.00439980
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x14]
call fcn.00439ab0
add esp, 8
mov esi, dword [edi + 0x1c30]
mov eax, esi
or eax, 0x101
mov dword [edi + 0x1c30], eax
call fcn.004340e0
mov eax, dword [edi + 0x1c50]
mov ebx, dword [ebp - 0x180]
and eax, 0x80
or ebx, eax
mov dword [edi + 0x1c30], esi
call fcn.00439f50
cmp dword [edi + 0x1c48], 0
jne 0x45c2e3
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0x1c48], eax
mov eax, dword [ebp - 0x184]
mov dword [edi + 0x1c4c], eax
mov dword [edi + 0x1c50], ebx
mov ebx, dword [ebp - 0x140]
cmp byte [edi + 0x2fa0], 0
je 0x45c32f
test bl, bl
je 0x45c2ff
cmp byte [ebp - 0x98], 0
je 0x45c32f
mov eax, dword [0x4896f8]
lea ecx, [ebp - 0x24]
push dword [ebp - 0x104]
mov edx, dword [ebp - 0xa8]
mov dword [eax + 0x2fb8], 0x47ea70
mov dword [eax + 0x2fbc], 0x47ea6c
call fcn.0043ecf0
add esp, 4
movss xmm0, dword [ebp - 0x14c]
comiss xmm0, dword [0x4807e0]
jbe 0x45c388
movss xmm0, dword [ebp - 0x2c]
xor edx, edx
addss xmm0, dword [edi + 0x157c]
mov ecx, dword [ebp - 0x144]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [edi + 0x1568]
movss dword [ebp - 0x10c], xmm0
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push 1
call fcn.0042de90
add esp, 0xc
mov dl, byte [ebp - 0x11e]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x45c3b2
test ecx, 0x8000000
jne 0x45c3b2
mov eax, dword [0x4896f8]
or dword [eax + 0x1c50], 4
mov word [eax + 0x1bf0], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x97]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00472ead
mov esp, ebp
pop ebp
ret