Function at 0x529550
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cb26b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x498
mov eax, dword [0x623ec0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x474], edi
cmp dword [0x626df4], 1
jne 0x5295b1
call fcn.0051e120
mov dword [0x626df4], 0
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
mov ecx, edi
push esi
mov dword [ebp - 0x458], esi
call fcn.00596210
push esi
mov ecx, edi
call fcn.005206c0
mov ecx, 1
cmp eax, ecx
je 0x52d73c
call fcn.004bcc60
mov ecx, eax
call fcn.004bc960
cmp dword [edi + 0x1ab1f8], 0
jne 0x529689
mov ecx, dword [edi + 0x5c]
test ecx, ecx
je 0x529689
call fcn.004cf020
cmp eax, 1
jne 0x529689
mov ecx, dword [0x9c25d0]
lea eax, [ebp - 0x3a0]
push eax
call fcn.004cec20
mov eax, dword [edi + 0x5c]
sub esp, 8
cvttss2si edx, dword [ebp - 0x39c]
cvttss2si ecx, dword [ebp - 0x3a0]
movss xmm0, dword [eax + 0x58]
movss xmm3, dword [eax + 0x50]
movss xmm2, dword [eax + 0x4c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x54]
movss dword [esp], xmm0
call fcn.004c5370
add esp, 8
test eax, eax
jne 0x529689
mov ecx, dword [edi + 0x5c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
mov ecx, dword [edi + 0x58]
test ecx, ecx
je 0x529689
call fcn.004cf020
cmp eax, 1
jne 0x529689
mov ecx, dword [edi + 0x58]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
push esi
mov ecx, edi
call fcn.004fed50
push esi
mov ecx, edi
call fcn.004fd110
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + 0x20a20]
cmp ecx, 8
jne 0x529783
cmp dword [eax + 0x20a24], 0xf
je 0x5297a2
cmp dword [eax + 0x20a24], 0x10
je 0x5297a2
cmp byte [edi + 0x1aa8c0], 1
jne 0x5296e2
mov dword [0x1ff59f0], 0
mov dword [0x1ff259c], 0
cmp dword [edi + 0x20130], 0
jne 0x529704
mov eax, dword [edi + 0x2012c]
add eax, 0xbb8
cmp esi, eax
jbe 0x529704
mov dword [edi + 0x20130], 1
mov ecx, edi
call fcn.004fc0c0
mov eax, dword [edi + 0x4c]
cvttss2si edx, dword [eax + 0x2c]
cvttss2si ecx, dword [eax + 0x28]
call fcn.0049a250
cmp eax, 1
jne 0x5297cf
mov eax, dword [edi + 0x4c]
movss xmm1, dword [eax + 0x28]
comiss xmm1, dword [0x6052e8]
jb 0x5297cf
movss xmm0, dword [0x6052ec]
comiss xmm0, xmm1
jb 0x5297cf
movss xmm1, dword [eax + 0x2c]
comiss xmm1, dword [0x6052ac]
jb 0x5297cf
movss xmm0, dword [0x6052b0]
comiss xmm0, xmm1
jb 0x5297cf
cmp dword [0x1ff25b0], 0
jne 0x5297e9
mov dword [0x1ff25b0], 1
mov dword [edi + 0x50], 0
jmp 0x5297e9
cmp ecx, 9
jne 0x5296c5
cmp dword [eax + 0x20a24], 0xf
je 0x5297a2
cmp dword [eax + 0x20a24], 0x10
jne 0x5296c5
cmp dword [0x1ff59f0], 0
jne 0x5296e2
mov dword [0x1ff59f0], 1
mov dword [0x1ff259c], 1
mov byte [edi + 0x1aa8c0], 1
jmp 0x5296e2
cmp dword [0x1ff25b0], 1
jne 0x5297e9
mov dword [0x1ff25b0], 0
mov dword [edi + 0x50], 1
mov ecx, dword [edi + 0x4c]
movss xmm1, dword [ecx + 0x28]
comiss xmm1, dword [0x6051d8]
jb 0x529837
movss xmm0, dword [0x605208]
comiss xmm0, xmm1
jb 0x529837
movss xmm2, dword [ecx + 0x2c]
comiss xmm2, dword [0x6052fc]
jb 0x529837
movss xmm0, dword [0x605300]
comiss xmm0, xmm2
jb 0x529837
cmp dword [0x1ff25ac], 0
jne 0x52984a
mov dword [0x1ff25ac], 1
jmp 0x52984a
cmp dword [0x1ff25ac], 1
jne 0x52984a
mov dword [0x1ff25ac], 0
mov edx, dword [edi + 0x276a8]
mov dword [ebp - 0x39c], 0xc
test edx, edx
je 0x5298dd
mov eax, esi
sub eax, edx
cmp eax, 0x2bf20
jbe 0x5298dd
cmp byte [ecx + 0x211], 1
jne 0x5298dd
cvttss2si eax, xmm1
and eax, 0xffffff80
cmp eax, 0x80
je 0x5298dd
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0x80
je 0x5298dd
mov eax, dword [0x9c25ac]
lea ecx, [ebp - 0x3ac]
xorps xmm0, xmm0
mov dword [ebp - 0x3a4], 0
movq qword [ebp - 0x3ac], xmm0
mov edx, 0xc
mov ax, word [eax + 0xf98]
mov word [ebp - 0x3a6], ax
mov eax, 0x289
mov word [ebp - 0x3a8], ax
call fcn.0054f850
mov dword [edi + 0x276a8], 0
mov eax, esi
sub eax, dword [edi + 0x1a910c]
cmp eax, 0x1388
jbe 0x529903
mov ecx, dword [edi + 0x1a90f4]
test ecx, ecx
je 0x529903
cmp dword [ecx + 0x28], 0
je 0x529903
mov eax, dword [ecx]
push 0
call dword [eax + 0x60]
mov ecx, dword [edi + 0x4c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
mov ecx, esi
mov dword [ebp - 0x45c], eax
sub ecx, dword [edi + 0x1a9eb4]
cmp ecx, 0x2bf20
jbe 0x529a18
mov eax, dword [edi + 0x1a9eb8]
inc eax
and eax, reloc.WSOCK32.dll_closesocket
jns 0x52993a
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [edi + 0x27e68]
mov dword [edi + 0x1a9eb8], eax
lea eax, [edi + 0x1a9e34]
mov dword [edi + 0x1a9eb4], esi
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x470], eax
test ecx, ecx
je 0x529a18
mov edi, 3
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x529970
sub ecx, edx
je 0x5299f4
push 0xe6c
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x464], esi
mov dword [ebp - 4], 0
mov ecx, esi
push 0xe6c
call fcn.0045df20
push 0
push 1
push 0x77777777
push 0
sub esp, 0xc
xorps xmm3, xmm3
mov ecx, esi
mov dword [esp + 8], 0x41800000
mov dword [esp + 4], 0x43960000
mov dword [esp], 0
push 0xfffff6a6
push dword [ebp - 0x470]
call fcn.004c9d30
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x5299f4
mov ecx, dword [ebp - 0x460]
push eax
call fcn.004c82d0
mov eax, dword [ebp - 0x470]
add eax, 0xffffff80
sub edi, 1
mov dword [ebp - 0x470], eax
jns 0x52996b
mov edi, dword [ebp - 0x474]
mov esi, dword [ebp - 0x458]
cmp dword [edi + 0x1ab1fc], 0
je 0x529b14
mov ecx, dword [edi + 0x27ee8]
test ecx, ecx
je 0x529b32
call fcn.004cf020
cmp eax, 1
jne 0x529b32
mov eax, dword [0x9c25d8]
cmp dword [eax + 0x20], 0
jne 0x529a65
mov dword [edi + 0x27970], 0
mov dword [edi + 0x2796c], 0
jmp 0x529b1e
cmp dword [edi + 0x27970], 0
mov eax, dword [edi + 0x2796c]
je 0x529af5
add eax, 0x64
cmp eax, esi
jae 0x529b32
mov eax, dword [edi + 0x27974]
cmp eax, 0xffffffff
je 0x529aed
mov ecx, dword [edi + 0x27978]
cmp ecx, 0xffffffff
je 0x529aed
push ecx
mov ecx, dword [edi + 0x1a9bc0]
push eax
call fcn.004de3e0
mov dword [ebp - 0x460], eax
test eax, eax
je 0x529aed
mov ecx, dword [eax + 0x670]
movsx edx, word [ecx]
cmp dword [edi + 0x1ab1fc], edx
jne 0x529aed
mov dl, 0x26
call fcn.0049aed0
mov edx, dword [ebp - 0x460]
push dword [edi + 0x27978]
push dword [edi + 0x27974]
mov ecx, dword [edx + 0x670]
movsx ecx, word [ecx]
push ecx
push eax
push edx
mov ecx, edi
call fcn.00546fc0
mov dword [edi + 0x2796c], esi
jmp 0x529b32
test eax, eax
je 0x529aed
add eax, 0x5dc
cmp eax, esi
jae 0x529b32
mov dword [edi + 0x2796c], esi
mov dword [edi + 0x27970], 1
jmp 0x529b32
mov dword [edi + 0x1ab1fc], 0
mov dword [edi + 0x27978], 0xffffffff
mov dword [edi + 0x27974], 0xffffffff
mov ecx, dword [edi + 0x1a8758]
test ecx, ecx
je 0x529d59
call fcn.004cf020
cmp eax, 1
jne 0x529d59
mov ecx, dword [edi + 0x28]
push 0x100b4
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [edi + 0x28]
push 0x100b7
mov dword [ebp - 0x460], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov ecx, dword [edi + 0x28]
push 0x100ba
mov dword [ebp - 0x464], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov esi, dword [ebp - 0x474]
mov edi, eax
push 0x100bd
mov ecx, dword [esi + 0x28]
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov ecx, dword [ebp - 0x460]
mov esi, eax
call fcn.004cec40
xor edx, edx
mov ecx, 0x100b4
cmp eax, 1
cmovne ecx, edx
mov dword [ebp - 0x450], ecx
mov ecx, dword [ebp - 0x464]
call fcn.004cec40
cmp eax, 1
mov ecx, 0x100b7
mov eax, dword [ebp - 0x450]
cmove eax, ecx
mov ecx, edi
mov dword [ebp - 0x450], eax
call fcn.004cec40
mov edi, dword [ebp - 0x450]
cmp eax, 1
mov ecx, 0x100ba
cmove edi, ecx
mov ecx, esi
call fcn.004cec40
mov esi, dword [ebp - 0x474]
cmp eax, 1
mov ecx, 0x100bd
cmove edi, ecx
push 0x100da
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x450], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov ecx, dword [esi + 0x28]
push 0x100dd
mov dword [ebp - 0x460], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov ecx, dword [esi + 0x28]
push 0x100e0
mov dword [ebp - 0x464], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov ecx, dword [esi + 0x28]
mov edi, eax
push 0x100e3
mov edx, dword [ecx]
mov edx, dword [edx + 0x48]
call edx
mov ecx, dword [ebp - 0x460]
mov esi, eax
call fcn.004cec40
cmp eax, 1
mov ecx, 0x100da
mov eax, dword [ebp - 0x450]
cmove eax, ecx
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x450], eax
call fcn.004cec40
cmp eax, 1
mov ecx, 0x100dd
mov eax, dword [ebp - 0x450]
cmove eax, ecx
mov ecx, edi
mov dword [ebp - 0x450], eax
call fcn.004cec40
mov edi, dword [ebp - 0x450]
cmp eax, 1
mov ecx, 0x100e0
cmove edi, ecx
mov ecx, esi
mov dword [ebp - 0x450], edi
call fcn.004cec40
cmp eax, 1
jne 0x529cd7
mov ecx, 0x100e3
jmp 0x529ce1
test edi, edi
je 0x529d3f
mov ecx, dword [ebp - 0x450]
mov eax, dword [0x9c25d8]
cmp dword [eax + 0x1c], 0
je 0x529d3f
mov edi, dword [ebp - 0x474]
mov esi, dword [ebp - 0x458]
cmp dword [edi + 0x27968], 0
mov eax, dword [edi + 0x27964]
je 0x529d20
add eax, 0x64
cmp eax, esi
jae 0x529d5f
mov eax, dword [edi]
push 0
push ecx
mov ecx, edi
call dword [eax + 0x58]
mov dword [edi + 0x27964], esi
jmp 0x529d5f
test eax, eax
je 0x529d18
add eax, 0x5dc
cmp eax, esi
jae 0x529d5f
mov dword [edi + 0x27964], esi
mov dword [edi + 0x27968], 1
jmp 0x529d5f
mov edi, dword [ebp - 0x474]
mov dword [edi + 0x27968], 0
mov dword [edi + 0x27964], 0
mov esi, dword [ebp - 0x458]
mov eax, esi
sub eax, dword [0x1ff5a18]
cmp eax, 0x3e8
jbe 0x529d9f
mov ecx, dword [0x9c25cc]
test ecx, ecx
je 0x529d9f
push 6
call fcn.004a8da0
mov dword [ebp - 0x460], eax
test eax, eax
je 0x529d9f
mov ecx, eax
call fcn.004a85c0
test eax, eax
je 0x529d9f
mov ecx, dword [ebp - 0x460]
call fcn.004a8680
cmp dword [edi + 0x54], 1
jne 0x529dd7
mov ecx, dword [edi + 0x108]
test ecx, ecx
je 0x529dd7
push 0
push str.Critical_Data_Error_In_Client
call fcn.004cf030
mov ecx, dword [edi + 0x108]
push 0
push 1
mov eax, dword [ecx]
call dword [eax + 0x88]
mov eax, 1
jmp 0x52d73e
cmp dword [edi + 0x108], 0
je 0x529e14
mov ecx, dword [edi + 0x110]
cmp dword [ecx + 0x1ec], 0xb
jne 0x529e14
call fcn.004cf020
cmp eax, 1
jne 0x529e14
mov eax, dword [0x9c25ac]
cmp dword [eax + 0x944], 0
jle 0x529e14
mov ecx, dword [edi + 0x110]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
mov ecx, dword [edi + 0x1a88bc]
test ecx, ecx
je 0x529e4d
mov eax, dword [edi + 0x4c]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [0x604efc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
movss dword [ebp - 0x460], xmm0
call eax
movss xmm0, dword [ebp - 0x460]
movss dword [eax + 0x18], xmm0
mov eax, dword [edi + 0x1a88c0]
movss xmm0, dword [0x604dc4]
test eax, eax
je 0x52a0fa
cmp dword [eax + 0x28], 0
je 0x52a0fa
mov eax, dword [0x9c25ac]
mov eax, dword [eax + 0x21a74]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x3a4], eax
test eax, eax
je 0x52a0fa
movss xmm1, dword [0x626e1c]
mov ecx, 0x190
movss xmm4, dword [0x604d60]
mov edx, 0x82
movss xmm5, dword [0x60517c]
mov esi, 0x1ff25fc
comiss xmm0, xmm1
mov dword [ebp - 0x470], esi
cmova ecx, edx
add edi, 0x1a88d4
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x454], edi
nop
movss xmm2, dword [eax + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi - 0xc]
movss xmm3, dword [eax + 0x2c]
subss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi - 8]
mulss xmm2, xmm4
subss xmm3, xmm0
cvttss2si eax, xmm1
mulss xmm3, xmm4
movaps xmm0, xmm2
xorps xmm1, xmm1
movaps xmm4, xmm5
subss xmm0, xmm3
addss xmm3, xmm2
cvtsi2ss xmm1, eax
addss xmm0, xmm0
mulss xmm1, dword [0x6051bc]
addss xmm3, xmm3
subss xmm4, xmm0
addss xmm3, xmm5
addss xmm4, xmm1
addss xmm3, xmm1
xorps xmm1, xmm1
comiss xmm4, xmm1
movss dword [ebp - 0x46c], xmm4
movss dword [ebp - 0x450], xmm3
jb 0x529f65
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm4
jb 0x529f65
comiss xmm3, xmm1
jb 0x529f65
comiss xmm0, xmm3
jb 0x529f65
push 1
jmp 0x529f67
push 0
mov ecx, dword [edi + 0x400]
mov eax, dword [ecx]
call dword [eax + 0x60]
movd xmm1, dword [esi - 4]
xorps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm1, dword [ebp - 0x46c]
comiss xmm1, xmm2
jb 0x529fdb
mov ecx, dword [ebp - 0x464]
lea eax, [ecx - 0x3c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x529fdb
movd xmm1, dword [esi]
cvtdq2ps xmm1, xmm1
addss xmm1, dword [ebp - 0x450]
comiss xmm1, xmm2
jb 0x529fdb
lea eax, [ecx - 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x529fdb
mov ecx, dword [edi]
movss xmm0, dword [0x626e1c]
comiss xmm0, dword [0x604dc4]
mov eax, dword [ecx]
jb 0x529fdf
push 1
jmp 0x529fe1
mov ecx, dword [edi]
mov eax, dword [ecx]
push 0
call dword [eax + 0x60]
mov edi, dword [edi + 0x400]
movss xmm0, dword [ebp - 0x450]
mov eax, dword [edi]
mov esi, dword [eax + 0x70]
call fcn.004b4820
movss dword [ebp - 0x460], xmm0
movss xmm0, dword [ebp - 0x46c]
call fcn.004b4820
movss xmm1, dword [ebp - 0x460]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call esi
movss xmm1, dword [0x626e1c]
comiss xmm1, dword [0x604dc4]
jb 0x52a0a8
mov edi, dword [ebp - 0x454]
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x70]
mov eax, dword [ebp - 0x470]
movd xmm0, dword [eax]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x450]
call fcn.004b4820
mov eax, dword [ebp - 0x470]
movss dword [ebp - 0x460], xmm0
movd xmm0, dword [eax - 4]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x46c]
call fcn.004b4820
movss xmm1, dword [ebp - 0x460]
sub esp, 8
mov ecx, edi
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call esi
movss xmm1, dword [0x626e1c]
mov esi, dword [ebp - 0x470]
mov edi, dword [ebp - 0x454]
add esi, 0x34
movss xmm4, dword [0x604d60]
add edi, 4
movss xmm5, dword [0x60517c]
mov ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x454], edi
mov dword [ebp - 0x470], esi
cmp esi, 0x1ff59fc
jl 0x529ed0
mov edi, dword [ebp - 0x474]
mov esi, dword [ebp - 0x458]
mov eax, dword [edi + 0x26f14]
test eax, eax
je 0x52a26e
cmp dword [edi + 0x26f18], 0
je 0x52a26e
cmp dword [edi + 0x26f1c], 0
je 0x52a26e
cmp dword [eax + 0x24], 1
jne 0x52a1e7
mov eax, 0x10624dd3
mov ecx, esi
mul esi
shr edx, 6
imul eax, edx, 0x3e8
sub ecx, eax
mov eax, dword [edi + 0x26f14]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x604fb8]
divss xmm0, dword [0x605274]
movss dword [eax + 0x8c], xmm0
mov eax, dword [edi + 0x26f14]
mov ecx, dword [edi + 0x26f18]
mov eax, dword [eax + 0x8c]
mov dword [ecx + 0x8c], eax
mov eax, dword [edi + 0x26f14]
movss xmm0, dword [eax + 0x8c]
addss xmm0, xmm0
call fcn.0044c230
mulss xmm0, dword [0x604ccc]
mov eax, dword [edi + 0x26f1c]
addss xmm0, dword [0x604dc4]
movss dword [eax + 0xe0], xmm0
mov ecx, dword [edi + 0x26f1c]
mov eax, dword [ecx + 0xe0]
mov dword [ecx + 0xe4], eax
mov ecx, dword [edi + 0x26f1c]
mov eax, dword [ecx + 0xe0]
mov dword [ecx + 0xe8], eax
mov eax, dword [edi + 0x4c]
mov ecx, dword [eax + 0x9d8]
cmp ecx, 2
je 0x52a1fa
cmp ecx, 3
jne 0x52a247
cmp dword [edi + 0x20124], 0
jne 0x52a247
cmp dword [eax + 0xa00], 0
jne 0x52a247
cmp dword [eax + 0xa04], 0
jne 0x52a247
cmp dword [edi + 0x26f28], 0
jne 0x52a247
mov eax, dword [edi + 0x26f14]
mov dword [eax + 0x24], 1
mov eax, dword [edi + 0x26f18]
mov dword [eax + 0x24], 1
mov eax, dword [edi + 0x26f1c]
mov dword [eax + 0x24], 1
jmp 0x52a26e
mov eax, dword [edi + 0x26f14]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x26f18]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x26f1c]
mov dword [eax + 0x24], 0
mov edx, 0x626ce0
mov byte [ebp - 0x465], 0
mov dword [ebp - 0x464], edx
mov eax, dword [edi + 0x4c]
cvttss2si ecx, dword [eax + 0x28]
cvttss2si eax, dword [eax + 0x2c]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
je 0x52a2ba
mov edx, dword [ebp - 0x464]
add edx, 0x10
mov dword [ebp - 0x464], edx
cmp edx, 0x626d50
jl 0x52a280
mov al, byte [ebp - 0x465]
jmp 0x52a2bc
mov al, 1
cmp dword [edi + 0x27778], 0
jne 0x52a2fc
cmp al, 1
jne 0x52a2fc
mov ecx, dword [edi + 0x108]
push 0x7d0
push 0x7dacb0
mov dword [edi + 0x27778], 1
call fcn.004cf030
mov ecx, dword [edi + 0x108]
push 1
push 1
mov eax, dword [ecx]
call dword [eax + 0x88]
jmp 0x52a30a
test al, al
jne 0x52a30a
mov dword [edi + 0x27778], 0
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
cmp eax, 8
jl 0x52a338
cmp eax, 0xc
jg 0x52a338
cvttss2si eax, dword [ecx + 0x2c]
sar eax, 7
cmp eax, 0xb
jl 0x52a338
cmp eax, 0xe
jg 0x52a338
mov eax, 1
jmp 0x52a33a
xor eax, eax
cmp dword [0x9c2574], 0
jne 0x52a354
cmp eax, 1
jne 0x52a38b
mov dword [0x9c2574], 3
jmp 0x52a38b
cmp dword [0x9c2574], 3
jne 0x52a368
test eax, eax
jne 0x52a38b
mov dword [0x9c2574], eax
jmp 0x52a38b
cmp dword [0x9c2574], 4
jne 0x52a382
mov eax, esi
sub eax, dword [edi + 0x27bf4]
cmp eax, 0xdbba0
jbe 0x52a3b0
jmp 0x52a39a
cmp dword [0x9c2574], 5
je 0x52a3c7
mov eax, esi
sub eax, dword [edi + 0x27bf4]
cmp eax, 0x1770
jbe 0x52a3a7
mov ecx, dword [edi + 0x27ba0]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
cmp dword [0x9c2574], 5
je 0x52a3c7
mov eax, dword [edi + 0x1aa40c]
cmp dword [eax + 0x28], 1
jne 0x52a3ce
push 0
mov ecx, edi
call fcn.005150e0
jmp 0x52a3ce
mov ecx, edi
call fcn.00515010
cmp dword [edi + 0x1aa414], 0
jbe 0x52a3e0
mov ecx, edi
call fcn.00514ed0
jmp 0x52a3f5
mov eax, dword [edi + 0x1aa410]
cmp dword [eax + 0x28], 1
jne 0x52a3f5
push 0
mov ecx, edi
call fcn.00514fd0
mov eax, dword [edi + 0x1ab17c]
mov dword [ebp - 0x460], 0x3c
test eax, eax
je 0x52a588
cmp dword [eax + 0x28], 0
je 0x52a588
cmp dword [edi + 0x1ab19c], 0
jle 0x52a588
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, dword [edi + 0x1ab1a0]
mul ecx
mov eax, dword [edi + 0x1ab19c]
shr edx, 6
sub eax, edx
mov dword [ebp - 0x454], eax
jns 0x52a46f
mov ecx, dword [edi + 0x1ab17c]
mov dword [edi + 0x1ab19c], 0
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x52a588
push 0x80
lea eax, [ebp - 0x198]
push 0
push eax
call fcn.00468b40
mov eax, 0x88888889
add esp, 0xc
imul dword [ebp - 0x454]
mov eax, 0x88888889
add edx, dword [ebp - 0x454]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x3a4], eax
mov eax, ecx
cdq
idiv dword [ebp - 0x460]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [ebp - 0x454]
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0x3a4]
push ecx
push edx
test eax, eax
jle 0x52a4f7
push eax
lea eax, [ebp - 0x198]
push str._02d:_02d:_02d
push eax
call fcn.00445aa0
add esp, 0x14
jmp 0x52a50b
lea eax, [ebp - 0x198]
push str._02d:_02d
push eax
call fcn.00445aa0
add esp, 0x10
push 0x80
lea eax, [ebp - 0x318]
push 0
push eax
call fcn.00468b40
lea eax, [ebp - 0x198]
push eax
push 0xa65320
lea eax, [ebp - 0x318]
push str._s:__s
push eax
call fcn.00445aa0
mov ecx, dword [edi + 0x1ab198]
add esp, 0x1c
test ecx, ecx
je 0x52a588
mov eax, dword [ecx]
lea edx, [ebp - 0x318]
push 0
push edx
call dword [eax + 0x80]
mov ecx, dword [edi + 0x1ab198]
push 0xffffff00
mov eax, dword [ecx]
call dword [eax + 0x84]
cmp dword [ebp - 0x454], 0x3c
jg 0x52a588
mov ecx, dword [edi + 0x1ab198]
push 0xffff0000
mov eax, dword [ecx]
call dword [eax + 0x84]
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
and eax, 0xffffff80
cmp eax, 0x300
jne 0x52a5ba
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0xe00
jne 0x52a5ba
mov ecx, dword [edi + 0x27ea8]
test ecx, ecx
je 0x52a5ba
mov eax, dword [ecx]
push 0
call dword [eax + 0x60]
cmp dword [0x1ff259c], 0
jne 0x52af7a
cmp dword [ebp - 0x45c], 0
mov eax, dword [edi + 0x4c]
je 0x52a770
cvttss2si ecx, dword [eax + 0x28]
cvttss2si eax, dword [eax + 0x2c]
push eax
push ecx
push 0x629000
call dword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
je 0x52a616
mov eax, dword [edi + 0x4c]
cvttss2si edx, dword [eax + 0x2c]
cvttss2si ecx, dword [eax + 0x28]
call fcn.0049a250
xor ecx, ecx
cmp eax, 2
cmovne ecx, eax
lea eax, [ecx*2 + 1]
jmp 0x52a61b
mov eax, 8
mov dword [ebp - 0x454], eax
cmp dword [0x626b10], eax
je 0x52b102
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26ef8], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52a6d7
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 1
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
mov esi, dword [ebp - 0x454]
push esi
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
jmp 0x52a6dd
mov esi, dword [ebp - 0x454]
mov eax, dword [0x9c25ac]
xorps xmm0, xmm0
movups xmmword [ebp - 0x424], xmm0
mov dword [0x626b10], esi
mov ax, word [eax + 0xf98]
mov word [ebp - 0x41e], ax
mov eax, 0x291
mov word [ebp - 0x420], ax
mov eax, dword [edi + 0x4c]
cvttss2si edx, dword [eax + 0x2c]
cvttss2si ecx, dword [eax + 0x28]
call fcn.0049a250
mov dword [ebp - 0x418], eax
cmp eax, 4
jge 0x52b102
mov edx, 0x10
lea ecx, [ebp - 0x424]
call fcn.0054f850
mov eax, dword [edi + 0x4c]
mov edx, dword [0x9c25ac]
cvttss2si ecx, dword [eax + 0x28]
movsx eax, byte [edx + 0x10e0]
mov word [edx + eax*2 + 8], cx
mov eax, dword [edi + 0x4c]
cvttss2si ecx, dword [eax + 0x2c]
movsx eax, byte [edx + 0x10e0]
mov word [edx + eax*2 + 0x10], cx
jmp 0x52b102
movss xmm0, dword [eax + 0x2c]
movss xmm1, dword [eax + 0x28]
cvttss2si eax, xmm0
and eax, 0xffffff80
cmp eax, 0xc80
cvttss2si eax, xmm1
jge 0x52ab43
cmp eax, 0x680
jle 0x52a89f
cvttss2si eax, xmm1
cmp eax, 0x700
jge 0x52a89f
cvttss2si eax, xmm0
cmp eax, 0x600
jle 0x52a89f
cmp eax, 0x780
jge 0x52a89f
cmp dword [0x626b10], 6
je 0x52a87e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52a874
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 5
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 6
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov dword [0x626b10], 6
mov ecx, dword [edi + 0x27eec]
test ecx, ecx
je 0x52b102
call fcn.004cf020
cmp eax, 1
je 0x52af5a
jmp 0x52b102
cmp dword [0x9c2574], 3
jne 0x52a96b
cmp dword [0x626b10], 9
je 0x52af3e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52a95c
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 2
push 0x18
mov ecx, esi
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 9
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov dword [0x626b10], 9
jmp 0x52af3e
cvttss2si eax, xmm1
mov ecx, eax
mov dword [ebp - 0x464], eax
sar ecx, 7
cmp ecx, 0x1a
jle 0x52a9ee
cmp ecx, 0x1f
jge 0x52a9ee
cvttss2si eax, xmm0
and eax, 0xffffff80
cmp eax, 0xa00
jle 0x52a9e8
cmp dword [0x626b10], 9
je 0x52af3e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52a95c
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 3
jmp 0x52a901
mov eax, dword [ebp - 0x464]
cvttss2si ecx, xmm0
xor edi, edi
mov esi, 0x629010
mov dword [ebp - 0x3a4], ecx
nop
push ecx
push eax
push esi
call dword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
jne 0x52aa26
mov eax, dword [ebp - 0x464]
add esi, 0x10
mov ecx, dword [ebp - 0x3a4]
inc edi
cmp esi, str.Armia
jl 0x52aa00
mov esi, dword [ebp - 0x458]
cmp edi, 2
mov eax, 1
cmove edi, eax
cmp dword [0x9c2574], 4
lea ecx, [edi*2 + 2]
mov edi, dword [ebp - 0x474]
mov dword [ebp - 0x454], ecx
jne 0x52aa6b
mov eax, dword [edi + 0x27ba0]
cmp dword [eax + 0x28], 1
mov eax, 5
cmove ecx, eax
mov dword [ebp - 0x454], ecx
cmp dword [0x626b10], ecx
je 0x52ab2c
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov eax, dword [eax + 0x174]
test eax, eax
je 0x52ab26
push 1
mov ecx, eax
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 4
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push dword [ebp - 0x454]
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov ecx, dword [ebp - 0x454]
mov dword [0x626b10], ecx
mov eax, dword [edi + 0x27eec]
test eax, eax
je 0x52b102
cmp dword [eax + 0x28], 1
jmp 0x52af54
and eax, 0xffffff80
cmp eax, 0x800
jge 0x52ac32
cvttss2si eax, xmm1
and eax, 0xffffff80
cmp eax, 0x400
jle 0x52ac32
cvttss2si eax, xmm0
sar eax, 7
cmp eax, 0x19
jbe 0x52ac32
cmp dword [0x626b10], 7
je 0x52af3e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52ac23
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 6
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 7
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov dword [0x626b10], 7
jmp 0x52af3e
cvttss2si ecx, xmm1
sar ecx, 7
cmp ecx, 0x12
jne 0x52ad5e
cvttss2si eax, xmm0
and eax, 0xffffff80
cmp eax, 0xf00
jne 0x52ad70
cmp dword [0x626b10], 0xc
je 0x52ad14
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52ad0a
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 7
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 0xc
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov esi, dword [ebp - 0x458]
mov dword [0x626b10], 0xc
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x52ad3d
movss xmm0, dword [eax + 0x2c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x605048]
jb 0x52ad3d
cmp dword [edi + 0x2797c], 0
sete byte [ebp - 0x464]
jmp 0x52ad44
mov byte [ebp - 0x464], 0
push dword [ebp - 0x464]
mov ecx, edi
call fcn.0051b740
push esi
mov ecx, edi
call fcn.005201a0
jmp 0x52af3e
cmp ecx, 0x10
jle 0x52ae3f
cmp ecx, 0x14
jge 0x52ae3f
cvttss2si eax, xmm0
sar eax, 7
cmp eax, 0x1d
jbe 0x52ae3f
cmp dword [0x626b10], 0xb
je 0x52af3e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52ae30
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 8
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 0xb
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov dword [0x626b10], 0xb
jmp 0x52af3e
mov dword [ebp - 0x454], 5
cmp ecx, 0x1f
je 0x52af6a
cvttss2si eax, xmm0
and eax, 0xffffff80
cmp eax, 0xf80
je 0x52af6a
mov eax, dword [edi + 0x1a8710]
cmp dword [eax + 0x28], 1
jne 0x52ae7b
push 0
push 0
mov ecx, edi
call fcn.0051ee30
mov eax, 5
cmp dword [0x626b10], eax
je 0x52af3e
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52af33
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 9
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push dword [ebp - 0x454]
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov eax, dword [ebp - 0x454]
mov dword [0x626b10], eax
mov ecx, dword [edi + 0x27eec]
test ecx, ecx
je 0x52b102
call fcn.004cf020
cmp eax, 1
jne 0x52b102
push 0
push 0
mov ecx, edi
call fcn.0051c330
jmp 0x52b102
mov eax, 6
mov dword [ebp - 0x454], eax
jmp 0x52ae80
cmp dword [ebp - 0x45c], 0
je 0x52b03e
mov eax, dword [edi + 0x4c]
cvttss2si edx, dword [eax + 0x2c]
cvttss2si ecx, dword [eax + 0x28]
call fcn.0049a250
mov dword [ebp - 0x3a4], eax
cmp dword [edi + 0x27858], eax
je 0x52b048
mov ecx, dword [0x9c25ac]
xorps xmm0, xmm0
movups xmmword [ebp - 0x434], xmm0
mov eax, 0x291
mov word [ebp - 0x430], ax
mov eax, dword [edi + 0x4c]
mov cx, word [ecx + 0xf98]
mov word [ebp - 0x42e], cx
cvttss2si edx, dword [eax + 0x2c]
cvttss2si ecx, dword [eax + 0x28]
call fcn.0049a250
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x428], eax
mov dword [edi + 0x27858], ecx
cmp eax, 4
jge 0x52b048
mov edx, 0x10
lea ecx, [ebp - 0x434]
call fcn.0054f850
mov eax, dword [edi + 0x4c]
mov edx, dword [0x9c25ac]
cvttss2si ecx, dword [eax + 0x28]
movsx eax, byte [edx + 0x10e0]
mov word [edx + eax*2 + 8], cx
mov eax, dword [edi + 0x4c]
cvttss2si ecx, dword [eax + 0x2c]
movsx eax, byte [edx + 0x10e0]
mov word [edx + eax*2 + 0x10], cx
jmp 0x52b048
mov dword [edi + 0x27858], 0xffffffff
cmp dword [0x626b10], 0xa
je 0x52b102
mov eax, dword [0x9c25c8]
mov dword [edi + 0x26efc], esi
mov ecx, dword [eax + 0x174]
test ecx, ecx
je 0x52b0f8
push 1
call fcn.0044c6c0
mov eax, dword [0x9c25c8]
push 0x18
mov dword [eax + 0x174], 0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 0xa
mov ecx, esi
push 0x18
call fcn.0044c5a0
mov ecx, dword [0x9c25c8]
mov ecx, dword [ecx + 0x194]
sub ecx, 0x64
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
add eax, eax
push eax
push 1
call fcn.004a6e70
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25c8]
mov dword [ecx + 0x174], eax
mov ecx, eax
push dword [eax]
push 0
call fcn.004a6a50
mov eax, dword [0x9c25c8]
push 0xa
mov ecx, dword [eax + 0x174]
call fcn.004a6aa0
mov dword [0x626b10], 0xa
mov eax, dword [edi + 0x27ea8]
test eax, eax
je 0x52b1be
cmp dword [eax + 0x28], 1
jne 0x52b1be
push 0x40
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.00468b40
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x2c]
push eax
cvttss2si eax, dword [ecx + 0x28]
push eax
lea eax, [ebp - 0xd8]
push str.X:__4d__Y:__4d
push eax
call fcn.00445aa0
mov ecx, dword [edi + 0x27ea8]
lea edx, [ebp - 0xd8]
add esp, 0x1c
mov eax, dword [ecx]
push 0
push edx
call dword [eax + 0x80]
push 0x40
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00468b40
mov eax, dword [0x9c25ac]
mov ecx, dword [eax + 0x21938]
push dword [eax + 0x2193c]
lea eax, [ecx*8 + 0x18b13b0]
add eax, ecx
push eax
lea eax, [ebp - 0x118]
push str._s__d
push eax
call fcn.00445aa0
mov ecx, dword [edi + 0x1a88d0]
add esp, 0x1c
test ecx, ecx
je 0x52b1be
mov eax, dword [ecx]
lea edx, [ebp - 0x118]
push 0
push edx
call dword [eax + 0x80]
xor esi, esi
mov dword [ebp - 0x3a4], 0xf4240
mov dword [ebp - 0x454], 0x2710
mov eax, dword [edi + 0x4c]
cmp byte [eax + esi*8 + 0x8bc], 0
jbe 0x52b49b
push 0x80
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00468b40
mov ecx, dword [ebp - 0x458]
mov eax, 0x10624dd3
sub ecx, dword [edi + esi*4 + 0x276d4]
add esp, 0xc
mul ecx
mov ecx, dword [edi + 0x4c]
shr edx, 6
mov eax, dword [ecx + esi*8 + 0x8c0]
lea ecx, [eax*8]
sub ecx, edx
mov dword [ebp - 0x450], ecx
test ecx, ecx
jg 0x52b27d
cmp dword [edi + esi*4 + 0x1a91d0], 0
je 0x52b4b8
test esi, esi
jne 0x52b254
mov ecx, dword [edi + 0x1a9150]
push 0xff000000
mov eax, dword [ecx]
call dword [eax + 0x84]
mov ecx, dword [edi + esi*4 + 0x1a9150]
push 0
push str.____0
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + esi*4 + 0x1a91d0]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x52b4b8
cmp eax, 0xf4240
jl 0x52b34f
cdq
idiv dword [ebp - 0x3a4]
mov dword [ebp - 0x45c], eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x464], eax
mov eax, dword [edx + esi*8 + 0x8c0]
cdq
idiv dword [ebp - 0x454]
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x470], edx
and eax, reloc.WSOCK32.dll_closesocket
jns 0x52b2d5
dec eax
or eax, 0xfffffffc
inc eax
neg eax
sbb eax, eax
xor edx, edx
add eax, 0x16e
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x45c]
add eax, 0xfffffffc
cmp eax, 3
ja case.default.0x52b2f4
jmp dword [eax*4 + 0x52d760]
mov edx, 7
jmp 0x52b323
mov edx, 0xf
jmp 0x52b323
mov edx, 0x1e
jmp 0x52b323
mov edx, 3
jmp 0x52b323
cmp dword [ebp - 0x45c], edx
je 0x52b3d3
mov eax, dword [edi + 0x27954]
sub eax, dword [ebp - 0x464]
imul eax, dword [ebp - 0x46c]
sub edx, eax
sub edx, dword [edi + 0x27958]
add edx, dword [ebp - 0x470]
push edx
push 0x600d24
jmp 0x52b3be
cmp ecx, 0x15180
jle 0x52b372
mov eax, 0xc22e4507
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str._ddD
jmp 0x52b3be
cmp ecx, 0xe10
jle 0x52b395
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x600d30
jmp 0x52b3be
cmp ecx, 0x258
jle 0x52b3b8
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x600d34
jmp 0x52b3be
push ecx
push 0x600d38
lea eax, [ebp - 0x98]
push eax
call fcn.00445aa0
mov ecx, dword [ebp - 0x450]
add esp, 0xc
cmp dword [edi + esi*4 + 0x1a91d0], 0
je 0x52b435
test esi, esi
jne 0x52b41d
cmp ecx, 0x1ccf
jge 0x52b40d
xor edx, edx
nop dword [eax + eax]
movsx eax, word [edx*2 + 0x5f0d08]
cmp ecx, eax
jl 0x52b404
inc edx
cmp edx, 7
jl 0x52b3f0
jmp 0x52b41d
push dword [edx*4 + 0x5f0d20]
jmp 0x52b40f
push 0xffffffffffffffff
mov ecx, dword [edi + 0x1a9150]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov ecx, dword [edi + esi*4 + 0x1a9150]
lea edx, [ebp - 0x98]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + esi*4 + 0x1a91d0]
test ecx, ecx
je 0x52b447
mov eax, dword [ecx]
push 0
call dword [eax + 0x60]
cmp dword [edi + 0x1a9c9c], 0
je 0x52b4b8
mov eax, dword [edi + 0x4c]
mov al, byte [eax + esi*8 + 0x8bc]
cmp al, 0x32
ja 0x52b477
mov ecx, dword [edi + esi*4 + 0x1a9250]
movzx eax, al
mov eax, dword [eax*4 + 0x5f0b20]
mov dword [ecx + 0xa4], eax
jmp 0x52b488
mov eax, dword [edi + esi*4 + 0x1a9250]
mov dword [eax + 0xa4], 0
mov eax, dword [edi + esi*4 + 0x1a9250]
mov dword [eax + 0x1ac], 0x1d
jmp 0x52b4b8
mov ecx, dword [edi + esi*4 + 0x1a91d0]
test ecx, ecx
je 0x52b4ad
mov eax, dword [ecx]
push 0
call dword [eax + 0x60]
mov dword [edi + esi*4 + 0x1aa834], 0
inc esi
cmp esi, 0x20
jl 0x52b1d4
mov eax, dword [0x9c25ac]
movss xmm3, dword [0x604e14]
cmp dword [eax + 0x944], 0
jle 0x52b58e
cmp dword [edi + 0x20124], 0
je 0x52b58e
mov eax, dword [0x9c25d0]
cmp dword [eax + 0x1e8], 0
jne 0x52b58e
cmp dword [edi + 0x20128], 0
mov ecx, dword [edi + 0x4c]
movss xmm2, dword [0x604dc4]
je 0x52b517
movss xmm2, dword [0x605388]
mov eax, dword [0x9c25ac]
movaps xmm1, xmm2
movss xmm0, dword [ecx + 0x1d8]
mov eax, dword [eax + 0x21a74]
mulss xmm1, dword [eax + 0x58]
mulss xmm2, dword [eax + 0x60]
mulss xmm1, xmm0
mulss xmm2, xmm0
mulss xmm1, xmm3
mulss xmm2, xmm3
addss xmm1, dword [ecx + 0x28]
addss xmm2, dword [ecx + 0x2c]
cvttss2si ecx, xmm1
cvttss2si edx, xmm2
movss dword [ebp - 0x3a8], xmm1
movss dword [ebp - 0x3a4], xmm2
call fcn.004b49a0
mov esi, dword [ebp - 0x458]
test eax, eax
jne 0x52b594
push esi
push dword [ebp - 0x3a4]
mov ecx, edi
push dword [ebp - 0x3a8]
call fcn.005212b0
jmp 0x52b594
mov esi, dword [ebp - 0x458]
mov edx, dword [edi + 0x4c]
cmp byte [edx + 0x213], 0
jne 0x52b927
movss xmm0, dword [edx + 0x1d8]
comiss xmm0, dword [0x605030]
movss xmm1, dword [edx + 0x1fc]
jb 0x52b751
comiss xmm1, dword [0x604d7c]
jae 0x52b5db
ucomiss xmm1, dword [0x604c4c]
lahf
test ah, 0x44
jp 0x52b927
cvttss2si eax, dword [edx + 0x28]
mov ecx, dword [edi + 0x27850]
cmp eax, ecx
jne 0x52b73a
cvttss2si eax, dword [edx + 0x2c]
cmp eax, dword [edi + 0x27854]
jne 0x52b73a
cmp dword [edx + 0x668], ecx
jne 0x52b619
mov eax, dword [edi + 0x27854]
cmp dword [edx + 0x66c], eax
je 0x52b73a
mov eax, esi
sub eax, dword [edx + 0x7dc]
cmp eax, 0x3e8
jbe 0x52b73a
cmp byte [edx + 0x211], 0
jne 0x52b73a
mov esi, dword [ebp - 0x474]
mov eax, ecx
mov ecx, dword [edi + 0x27854]
xorps xmm0, xmm0
mov dword [edx + 0x668], eax
mov dword [edx + 0x66c], ecx
mov edx, dword [edi + 0x4c]
mov di, word [edi + 0x1a9c2c]
mov si, word [esi + 0x1a9c30]
movlpd qword [ebp - 0x3c8], xmm0
mov dword [ebp - 0x3c0], 0
movlpd qword [ebp - 0x3d8], xmm0
movlpd qword [ebp - 0x3d0], xmm0
mov dword [ebp - 0x3e0], 0
mov ax, word [edx + 0x20]
mov word [ebp - 0x3da], ax
mov eax, 0x36c
mov word [ebp - 0x3dc], ax
mov eax, dword [0x626df0]
mov dword [ebp - 0x3b8], eax
mov eax, 0x36c
mov dword [0x1ff59f4], eax
mov word [ebp - 0x3bc], di
movsx eax, di
mov edi, dword [ebp - 0x474]
mov word [ebp - 0x3ae], si
mov dword [ebp - 0x3b4], 0
mov cx, word [edx + 0x668]
mov word [ebp - 0x3b0], cx
mov dx, word [edx + 0x66c]
mov dword [edi + 0x1a9c3c], eax
movsx eax, si
mov dword [edi + 0x1a9c40], eax
movzx eax, cx
lea ecx, [ebp - 0x3e0]
mov word [ebp - 0x3ba], dx
movups xmmword [ebp - 0x3d4], xmm0
mov dword [ebp - 0x3c4], 0
mov word [ebp - 0x3c0], 0
mov byte [ebp - 0x3be], 0
jmp 0x52b8c9
cvttss2si esi, dword [edx + 0x28]
cmp ecx, esi
jne 0x52b90f
cvttss2si eax, dword [edx + 0x2c]
jmp 0x52b907
comiss xmm1, dword [0x604da8]
jae 0x52b76b
ucomiss xmm1, dword [0x604c4c]
lahf
test ah, 0x44
jp 0x52b927
movss xmm0, dword [edx + 0x2c]
mov ecx, dword [edi + 0x27850]
cvttss2si eax, xmm0
mov dword [ebp - 0x3a4], eax
cvttss2si eax, dword [edx + 0x28]
cmp eax, ecx
jne 0x52b8fa
mov eax, dword [edi + 0x27854]
cmp dword [ebp - 0x3a4], eax
jne 0x52b8fa
cmp dword [edx + 0x668], ecx
jne 0x52b7b3
cmp dword [edx + 0x66c], eax
je 0x52b8fa
mov eax, esi
sub eax, dword [edx + 0x7dc]
cmp eax, 0x3e8
jbe 0x52b8fa
cmp byte [edx + 0x211], 0
jne 0x52b8fa
mov eax, ecx
xorps xmm0, xmm0
mov ecx, dword [edi + 0x27854]
mov dword [edx + 0x668], eax
mov dword [edx + 0x66c], ecx
mov edx, dword [edi + 0x4c]
movlpd qword [ebp - 0x3fc], xmm0
mov dword [ebp - 0x3f4], 0
movlpd qword [ebp - 0x40c], xmm0
movlpd qword [ebp - 0x404], xmm0
mov dword [ebp - 0x414], 0
mov ax, word [edx + 0x20]
mov word [ebp - 0x40e], ax
mov eax, 0x36c
mov di, word [edx + 0x668]
mov word [ebp - 0x3f0], di
mov si, word [edx + 0x66c]
mov word [ebp - 0x410], ax
mov eax, dword [0x626df0]
mov dword [ebp - 0x3ec], eax
mov eax, 0x36c
mov dword [0x1ff59f4], eax
movsx eax, di
mov edi, dword [ebp - 0x474]
mov word [ebp - 0x3e2], si
mov dword [ebp - 0x3e8], 0
mov cx, word [edx + 0x668]
mov word [ebp - 0x3e4], cx
mov dx, word [edx + 0x66c]
mov dword [edi + 0x1a9c3c], eax
movsx eax, si
mov dword [edi + 0x1a9c40], eax
movzx eax, cx
lea ecx, [ebp - 0x414]
mov word [ebp - 0x3ee], dx
movups xmmword [ebp - 0x408], xmm0
mov dword [ebp - 0x3f8], 0
mov word [ebp - 0x3f4], 0
mov byte [ebp - 0x3f2], 0
mov dword [edi + 0x1a9c2c], eax
movzx eax, dx
mov edx, 0x34
mov dword [edi + 0x1a9c30], eax
call fcn.0054f850
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [edi + 0x4c]
mov dword [ecx + 0x7dc], eax
jmp 0x52b927
cvttss2si esi, dword [edx + 0x28]
cmp ecx, esi
jne 0x52b90f
cvttss2si eax, xmm0
cmp dword [edi + 0x27854], eax
je 0x52b927
movsx eax, byte [edx + 0x213]
push eax
push 0
push dword [edi + 0x27854]
push ecx
mov ecx, edx
call fcn.00578820
mov eax, dword [edi + 0x26f28]
test eax, eax
je 0x52b93a
mov ecx, dword [edi + 0x4c]
push eax
call fcn.00572ae0
mov ecx, dword [edi + 0x26f60]
movss xmm2, dword [0x604d2c]
test ecx, ecx
je 0x52ba67
movss xmm1, dword [edi + 0x26f64]
xorps xmm0, xmm0
comiss xmm0, xmm1
movss xmm3, dword [0x604dc4]
jb 0x52b975
mov dword [edi + 0x26f64], 0x3f800000
movaps xmm1, xmm3
mov esi, dword [ebp - 0x458]
mov eax, esi
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605750]
mov eax, dword [edi + 0x27eac]
mov dword [ebp - 0x45c], eax
cvtpd2ps xmm0, xmm0
divss xmm0, xmm1
movss xmm1, dword [0x604ccc]
comiss xmm1, xmm0
jbe 0x52b9be
mulss xmm0, dword [0x605030]
jmp 0x52b9f9
movss xmm1, dword [0x604da8]
comiss xmm1, xmm0
jbe 0x52b9e4
mov dword [eax + 0x94], 0xdd000000
mov dword [edi + 0x26f20], 0
jmp 0x52ba6d
comiss xmm3, xmm0
jbe 0x52ba47
subss xmm0, xmm1
mulss xmm0, dword [0x605030]
addss xmm0, xmm2
movss xmm1, dword [0x604fb8]
mulss xmm0, xmm1
call fcn.0044c230
andps xmm0, xmmword [0x6057c0]
mulss xmm0, dword [0x604c4c]
call fcn.005bdc60
mov ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x45c]
mov dword [eax + 0x94], ecx
mov dword [edi + 0x26f20], 0
jmp 0x52ba6d
mov dword [eax + 0x94], 0
mov dword [edi + 0x26f60], 0
mov dword [edi + 0x26f20], 0
jmp 0x52ba6d
mov esi, dword [ebp - 0x458]
mov eax, dword [edi + 0x40]
mov ecx, dword [0x9c25cc]
mov dword [ebp - 0x450], ecx
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x52bb24
cmp eax, 3
je 0x52bb24
cmp eax, 4
je 0x52bb24
test ecx, ecx
je 0x52bacd
push 0x6b
call fcn.004a8da0
mov dword [ebp - 0x3a4], eax
test eax, eax
je 0x52bac7
mov ecx, eax
call fcn.004a85c0
test eax, eax
je 0x52bac7
mov ecx, dword [ebp - 0x3a4]
call fcn.004a8680
mov ecx, dword [ebp - 0x450]
mov edx, dword [edi + 0x4c]
cvttss2si eax, dword [edx + 0x28]
and eax, 0xffffff80
cmp eax, 0x900
jne 0x52bb24
cvttss2si eax, dword [edx + 0x2c]
and eax, 0xffffff80
cmp eax, 0xf00
jne 0x52bb24
test ecx, ecx
je 0x52bb52
push 0x155
call fcn.004a8da0
mov dword [ebp - 0x3a4], eax
test eax, eax
je 0x52bb52
mov ecx, eax
call fcn.004a85c0
test eax, eax
jne 0x52bb52
mov ecx, dword [ebp - 0x3a4]
push eax
push 0xffffffffffffffff
push eax
push eax
push eax
call fcn.004a86c0
jmp 0x52bb52
test ecx, ecx
je 0x52bb52
push 0x155
call fcn.004a8da0
mov dword [ebp - 0x3a4], eax
test eax, eax
je 0x52bb52
mov ecx, eax
call fcn.004a85c0
test eax, eax
je 0x52bb52
mov ecx, dword [ebp - 0x3a4]
call fcn.004a8680
cmp dword [0x915fc8], 0
jne 0x52cbfb
mov ecx, dword [0x1ff23c8]
cmp ecx, 2
je 0x52bb73
cmp ecx, 3
jne 0x52bbeb
mov eax, dword [edi + 0x40]
mov eax, dword [eax + 0xc4]
cmp eax, 3
je 0x52bb86
cmp eax, 4
jne 0x52bbb5
mov edx, dword [edi + 0x26f30]
cmp dword [edx + 0x28], 1
jne 0x52bbb5
mov dword [edx + 0x28], 0
mov eax, dword [edi + 0x26f34]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f2c]
mov dword [eax + 0x28], 1
jmp 0x52bbeb
test eax, eax
jne 0x52bbeb
mov eax, dword [edi + 0x26f30]
cmp dword [eax + 0x28], 0
jne 0x52bbeb
mov dword [eax + 0x28], 1
cmp ecx, 3
jne 0x52bbde
mov eax, dword [edi + 0x26f34]
mov dword [eax + 0x28], 1
mov eax, dword [edi + 0x26f2c]
mov dword [eax + 0x28], 0
test ecx, ecx
jne 0x52c9b0
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + 0xc4]
test ecx, ecx
je 0x52bc0e
cmp ecx, 3
je 0x52bc0e
cmp ecx, 4
jne 0x52c9b0
mov eax, 0x6fd91d85
mul esi
shr edx, 0x12
mov eax, edx
xor edx, edx
div dword [ebp - 0x39c]
mov eax, dword [edi + 0x26f58]
test eax, eax
cmovne edx, eax
cmp ecx, 3
je 0x52bc37
cmp ecx, 4
jne 0x52bc64
mov eax, dword [edi + 0x26f30]
cmp dword [eax + 0x28], 1
jne 0x52bc64
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f34]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f2c]
mov dword [eax + 0x28], 1
cmp edx, 7
jg 0x52bd00
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
cmp eax, 0x1a
jle 0x52bce2
cmp eax, 0x1f
jge 0x52bce2
cvttss2si eax, dword [ecx + 0x2c]
sar eax, 7
cmp eax, 0x14
jle 0x52bce2
cmp eax, 0x19
jge 0x52bce2
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + 0xf8]
cmp eax, 1
je 0x52be70
cmp eax, 0xb
je 0x52be70
push 0xb
call fcn.005b9eb0
mov eax, dword [edi + 0x26f2c]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f30]
mov dword [eax + 0x28], 1
mov eax, dword [edi + 0x26f34]
mov dword [eax + 0x28], 0
jmp 0x52be70
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + 0xf8]
test eax, eax
je 0x52be70
cmp eax, 0xa
je 0x52be70
push 0xa
jmp 0x52bd49
cmp edx, 9
jg 0x52bd24
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + 0xf8]
cmp eax, 2
je 0x52be70
cmp eax, 0xc
je 0x52be70
push 0xc
jmp 0x52bd49
lea eax, [edx - 0xa]
cmp eax, 1
ja 0x52bd7a
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + 0xf8]
cmp eax, 3
je 0x52be70
cmp eax, 0xd
je 0x52be70
push 0xd
call fcn.005b9eb0
mov eax, dword [edi + 0x26f2c]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f30]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f34]
mov dword [eax + 0x28], 0
jmp 0x52be70
cmp edx, 0xc
jne 0x52bdc0
mov ecx, dword [edi + 0x44]
cmp dword [ecx + 0xf8], 1
je 0x52bd98
push 0xb
mov dword [0x1ff23c8], edx
call fcn.005b9eb0
mov eax, dword [edi + 0x26f2c]
cmp dword [eax + 0x28], 0
jne 0x52bdab
mov dword [eax + 0x28], 1
mov eax, dword [edi + 0x26f30]
cmp dword [eax + 0x28], 1
jne 0x52be04
mov dword [eax + 0x28], 0
jmp 0x52be04
cmp edx, 0xd
jne 0x52be19
mov ecx, dword [edi + 0x44]
cmp dword [ecx + 0xf8], 1
je 0x52bdde
push 0xb
mov dword [0x1ff23c8], edx
call fcn.005b9eb0
mov eax, dword [edi + 0x26f2c]
cmp dword [eax + 0x28], 1
jne 0x52bdf1
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f30]
cmp dword [eax + 0x28], 0
jne 0x52be04
mov dword [eax + 0x28], 1
mov eax, dword [edi + 0x26f34]
cmp dword [eax + 0x28], 1
jne 0x52be70
mov dword [eax + 0x28], 0
jmp 0x52be70
cmp edx, 0xe
jne 0x52be70
mov ecx, dword [edi + 0x44]
cmp dword [ecx + 0xf8], 1
je 0x52be37
push 0xb
mov dword [0x1ff23c8], edx
call fcn.005b9eb0
mov eax, dword [edi + 0x26f2c]
cmp dword [eax + 0x28], 1
jne 0x52be4a
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x26f30]
cmp dword [eax + 0x28], 0
jne 0x52be5d
mov dword [eax + 0x28], 1
mov eax, dword [edi + 0x26f34]
cmp dword [eax + 0x28], 0
jne 0x52be70
mov dword [eax + 0x28], 1
mov eax, esi
sub eax, dword [edi + 0x276bc]
cmp eax, 0x3e8
jbe 0x52c9b0
mov eax, dword [edi + 0x40]
cmp dword [eax + 0xc4], 0
jne 0x52c1a5
call fcn.0046c00b
cdq
mov ecx, 7
idiv ecx
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x45c], 0x5f
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
cmp eax, 0x1d
je 0x52bec5
cmp eax, 0x1e
jne 0x52bf19
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0xb00
jne 0x52bf19
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x52bf0d
push 0x72
mov ecx, eax
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52bf0d
mov ecx, eax
call fcn.004a85c0
test eax, eax
jne 0x52bf0d
mov ecx, dword [ebp - 0x39c]
push eax
push 0xffffffffffffffff
push eax
push eax
push eax
call fcn.004a86c0
mov dword [ebp - 0x45c], 2
jmp 0x52bf4c
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x52bf4c
push 0x72
mov ecx, eax
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52bf4c
mov ecx, eax
call fcn.004a85c0
test eax, eax
je 0x52bf4c
mov ecx, dword [ebp - 0x39c]
call fcn.004a8680
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
cmp eax, 0x1c
jne 0x52bf6d
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0xc00
je 0x52bf81
jmp 0x52bfcf
cmp eax, 0x13
jne 0x52bfcf
cvttss2si eax, dword [ecx + 0x2c]
and eax, 0xffffff80
cmp eax, 0x600
jne 0x52bfcf
call fcn.0046c00b
cdq
mov ecx, 7
idiv ecx
cmp edx, 2
ja 0x52bfcf
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x52bfcf
lea eax, [edx + 0x16f]
push eax
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52bfcf
mov ecx, eax
call fcn.004a85c0
test eax, eax
jne 0x52bfcf
mov ecx, dword [ebp - 0x39c]
push eax
push 0xffffffffffffffff
push eax
push eax
push eax
call fcn.004a86c0
cmp dword [0x1ff1f34], 0
jne 0x52c1a5
push 0x184
call fcn.0046677d
mov esi, eax
mov dword [ebp - 0x39c], esi
mov dword [ebp - 4], 0xb
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ce8]
add esp, 0x10
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3e4ccccd
push 0x4e20
push dword [ebp - 0x45c]
call fcn.004eb060
mov esi, eax
mov dword [ebp - 0x45c], esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x52c19f
mov ecx, dword [edi + 0x4c]
movd xmm0, dword [ebp - 0x464]
cvtdq2ps xmm0, xmm0
movss xmm3, dword [ecx + 0x2c]
movss xmm1, dword [ecx + 0x28]
movaps xmm2, xmm0
addss xmm3, dword [0x604ea8]
addss xmm1, dword [0x604ea8]
mulss xmm2, dword [0x604ce8]
subss xmm3, xmm0
addss xmm2, dword [ecx + 0x30]
subss xmm1, xmm0
lea ecx, [ebp - 0x440]
call fcn.00445a40
movss xmm1, dword [0x604dc4]
movq xmm0, qword [eax]
movq qword [esi + 0x74], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x7c], eax
movss xmm0, dword [esi + 0x78]
addss xmm0, xmm1
movss dword [esi + 0x78], xmm0
movq xmm0, qword [esi + 0x74]
mov eax, dword [esi + 0x7c]
movq qword [esi + 0x14c], xmm0
movd xmm0, dword [ebp - 0x464]
cvtdq2ps xmm0, xmm0
mov dword [esi + 0x154], eax
mulss xmm0, dword [0x604ccc]
addss xmm0, xmm1
movss dword [esi + 0x144], xmm0
call fcn.0046c00b
cdq
mov ecx, 7
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604d2c]
addss xmm0, dword [0x60509c]
movss dword [esi + 0x13c], xmm0
call fcn.0046c00b
cdq
mov ecx, 7
idiv ecx
mov eax, dword [ebp - 0x45c]
mov ecx, 1
mov esi, edx
push 0xaaaaaaaa
mov dword [eax + 0x6c], 1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ccc]
addss xmm0, dword [0x604dc4]
movss dword [eax + 0x140], xmm0
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esi + ecx*2]
mov esi, dword [ebp - 0x45c]
add eax, ecx
mov ecx, esi
mov dword [esi + 0x148], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x52c19f
push esi
call fcn.005bcdc0
mov esi, dword [ebp - 0x458]
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0xf8]
cmp eax, 3
je 0x52c1fa
cmp eax, 0xd
je 0x52c1fa
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x52c5f3
push 0x6b
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52c5ed
mov ecx, eax
call fcn.004a85c0
test eax, eax
jne 0x52c5ed
mov ecx, dword [ebp - 0x39c]
call fcn.004a8680
jmp 0x52c5ed
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x52c22b
push 0x6b
mov ecx, eax
call fcn.004a8da0
mov esi, eax
test esi, esi
je 0x52c22b
mov ecx, esi
call fcn.004a85c0
test eax, eax
jne 0x52c22b
push eax
push 0xffffffffffffffff
push eax
push eax
push eax
mov ecx, esi
call fcn.004a86c0
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
sar eax, 7
cmp eax, 0x1a
jle 0x52c256
cmp eax, 0x1f
jge 0x52c256
cvttss2si eax, dword [ecx + 0x2c]
sar eax, 7
cmp eax, 0x14
jle 0x52c256
cmp eax, 0x19
jl 0x52c57e
cmp dword [0x1ff1f34], 0
jne 0x52c57e
call fcn.0046c00b
cdq
mov ecx, 7
idiv ecx
push 0x184
mov dword [ebp - 0x470], edx
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x39c], esi
mov dword [ebp - 4], 0xc
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604ce8]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3e4ccccd
mov dword [esp], 0x3e4ccccd
push 0x4e20
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x52c3fd
mov ecx, dword [edi + 0x4c]
movd xmm4, dword [ebp - 0x470]
cvtdq2ps xmm4, xmm4
movss xmm3, dword [ecx + 0x2c]
movss xmm2, dword [ecx + 0x30]
movaps xmm0, xmm4
movss xmm1, dword [ecx + 0x28]
lea ecx, [ebp - 0x440]
addss xmm3, dword [0x604ea8]
addss xmm2, dword [0x604e14]
addss xmm1, dword [0x604ea8]
mulss xmm0, dword [0x604ce8]
subss xmm3, xmm4
addss xmm2, xmm0
subss xmm1, xmm4
call fcn.00445a40
mov ecx, dword [ebp - 0x470]
push 0xffffff00
movq xmm0, qword [eax]
movq qword [esi + 0x74], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x7c], eax
movq xmm0, qword [esi + 0x74]
movd xmm1, ecx
movq qword [esi + 0x14c], xmm0
mov dword [esi + 0x154], eax
mov eax, 0x55555556
cvtdq2ps xmm1, xmm1
mov dword [esi + 0x6c], 1
imul ecx
movaps xmm0, xmm1
mulss xmm0, dword [0x604ccc]
mov ecx, 2
addss xmm0, dword [0x604e14]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x470]
movss dword [esi + 0x144], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x604d2c]
mulss xmm1, dword [0x604cb8]
lea eax, [eax + ecx*2]
add eax, ecx
mov ecx, esi
addss xmm0, dword [0x605030]
mov dword [esi + 0x148], eax
addss xmm1, dword [0x604ce8]
mov eax, dword [esi]
movss dword [esi + 0x13c], xmm0
movss dword [esi + 0x140], xmm1
call dword [eax + 0x3c]
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x52c3fd
push esi
call fcn.005bcdc0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x39c], esi
mov dword [ebp - 4], 0xd
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604cc0]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3d8f5c29
mov dword [esp], 0x3d8f5c29
push 0x4e20
push 0x3c
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x52c57e
mov ecx, dword [edi + 0x4c]
movd xmm4, dword [ebp - 0x470]
cvtdq2ps xmm4, xmm4
movss xmm3, dword [ecx + 0x2c]
movss xmm2, dword [ecx + 0x30]
movaps xmm0, xmm4
movss xmm1, dword [ecx + 0x28]
lea ecx, [ebp - 0x440]
addss xmm3, dword [0x604ea8]
addss xmm2, dword [0x604e14]
addss xmm1, dword [0x604ea8]
mulss xmm0, dword [0x604ce8]
subss xmm3, xmm4
addss xmm2, xmm0
subss xmm1, xmm4
call fcn.00445a40
mov ecx, dword [ebp - 0x470]
push 0xffffff00
movq xmm0, qword [eax]
movq qword [esi + 0x74], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x7c], eax
movq xmm0, qword [esi + 0x74]
movq qword [esi + 0x14c], xmm0
mov dword [esi + 0x154], eax
mov eax, 0x55555556
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov dword [esi + 0x6c], 1
imul ecx
movaps xmm0, xmm1
mulss xmm0, dword [0x604ccc]
addss xmm0, dword [0x604e14]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 2
sub edx, eax
movss dword [esi + 0x144], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x604d2c]
mulss xmm1, dword [0x604cb8]
lea eax, [ecx + edx*2]
add eax, edx
mov ecx, esi
addss xmm0, dword [0x605030]
mov dword [esi + 0x148], eax
addss xmm1, dword [0x604ce8]
mov eax, dword [esi]
movss dword [esi + 0x13c], xmm0
movss dword [esi + 0x140], xmm1
call dword [eax + 0x3c]
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x52c57e
push esi
call fcn.005bcdc0
mov eax, dword [0x9c2574]
cmp eax, 3
je 0x52c58d
cmp eax, 4
jne 0x52c5e7
mov esi, dword [ebp - 0x458]
mov eax, esi
sub eax, dword [edi + 0x26f54]
cmp eax, 0x61a8
jbe 0x52c5ed
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x52c5df
push 0x6f
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52c5d9
mov ecx, eax
call fcn.004a85c0
test eax, eax
jne 0x52c5d9
mov ecx, dword [ebp - 0x39c]
push eax
push 0xffffffffffffffff
push eax
push eax
push eax
call fcn.004a86c0
mov ecx, dword [ebp - 0x450]
mov dword [edi + 0x26f54], esi
jmp 0x52c5f3
mov esi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x450]
cmp dword [0x9c2574], 3
jne 0x52c99d
mov eax, esi
sub eax, dword [edi + 0x27254]
cmp eax, dword [edi + 0x27258]
jbe 0x52c7cf
cmp dword [edi + 0x26f5c], 1
jne 0x52c7cf
cmp dword [0x1ff59f0], 2
jne 0x52c7cf
mov eax, dword [edi + 0x44]
cmp dword [eax + 0xf8], 0
jne 0x52c7cf
test ecx, ecx
je 0x52c676
push 0x130
call fcn.004a8da0
mov dword [ebp - 0x39c], eax
test eax, eax
je 0x52c676
mov ecx, eax
call fcn.004a85c0
test eax, eax
je 0x52c676
mov ecx, dword [ebp - 0x39c]
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
call fcn.004a86c0
cmp dword [0x1ff1f34], 0
jne 0x52c77a
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x454], 0xbb8
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push pe_nt_image_headers32
imul eax, edx, 0x32
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x605240]
movss dword [ebp - 0x39c], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 0xe
mov ecx, esi
push pe_nt_image_headers32
call fcn.0045fa50
movss xmm3, dword [ebp - 0x39c]
mov ecx, esi
push 0x50
push 1
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm3
push dword [ebp - 0x454]
push 0xc1
call fcn.004ed9f0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x52c751
mov eax, dword [ebp - 0x46c]
push eax
lea ecx, [eax - 0x384]
push ecx
mov ecx, esi
call fcn.004ed010
movss xmm1, dword [0x6052a8]
xorps xmm2, xmm2
mov ecx, esi
call fcn.004ecfe0
mov ecx, dword [edi + 0x2c]
push esi
call fcn.005bcdc0
mov eax, dword [ebp - 0x454]
add dword [ebp - 0x46c], 0x64
add eax, 0x320
mov dword [ebp - 0x454], eax
cmp eax, 0x1b58
jl 0x52c697
mov esi, dword [ebp - 0x458]
mov ecx, dword [edi + 0x2725c]
mov eax, 0x99999999
inc ecx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov dword [edi + 0x2725c], eax
test eax, eax
je 0x52c7a9
mov eax, 0x3e8
jmp 0x52c7bf
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
imul eax, edx, 0xbb8
mov edx, 0x27258
mov ecx, edi
mov dword [ecx + edx], eax
mov dword [edi + 0x27254], esi
mov eax, esi
sub eax, dword [edi + 0x27250]
cmp eax, 0x7d0
jbe 0x52c99d
mov dword [ebp - 0x454], 0
nop dword [eax]
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
mov esi, edx
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [edi + 0x4c]
lea eax, [esi*4]
movd xmm3, dword [ebp - 0x454]
cvtdq2ps xmm3, xmm3
push 0xc0
movss xmm5, dword [ecx + 0x28]
movss xmm4, dword [ecx + 0x30]
movaps xmm1, xmm5
subss xmm1, dword [0x6050e0]
movss xmm2, dword [ecx + 0x2c]
addss xmm5, dword [0x605000]
movd xmm0, eax
lea eax, [edx + edx]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm3
addss xmm5, xmm3
addss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x6050a4]
addss xmm4, dword [0x604d2c]
movups xmmword [ebp - 0x4a0], xmm1
movaps xmm1, xmm2
movss dword [ebp - 0x3a4], xmm0
subss xmm1, dword [0x6050c8]
addss xmm2, dword [0x605000]
movd xmm0, eax
lea eax, [esi + esi]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm3
movss dword [ebp - 0x39c], xmm4
addss xmm2, xmm3
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x438], xmm1
addss xmm5, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movaps xmmword [ebp - 0x490], xmm5
addss xmm2, xmm0
movss dword [ebp - 0x444], xmm2
call fcn.0046677d
mov esi, eax
mov dword [ebp - 0x45c], esi
mov dword [ebp - 4], 0xf
push 0xc0
push 0
push esi
call fcn.00468b40
movss xmm0, dword [ebp - 0x39c]
add esp, 0x10
movaps xmm1, xmmword [ebp - 0x490]
mov eax, dword [ebp - 0x444]
unpcklps xmm1, xmm0
movss xmm0, dword [ebp - 0x3a4]
push 0
push 3
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm1
movups xmm1, xmmword [ebp - 0x4a0]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x438]
unpcklps xmm1, xmm0
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005aba50
mov edx, eax
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x52c97b
mov ecx, dword [edi + 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [ecx + 0x10], edx
mov eax, dword [edx + 0xc]
test eax, eax
je 0x52c97b
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x454]
inc eax
mov dword [ebp - 0x454], eax
cmp eax, 8
jl 0x52c7f0
mov esi, dword [ebp - 0x458]
mov dword [edi + 0x27250], esi
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [edi + 0x276bc], eax
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
mov dword [ebp - 0x39c], eax
sar eax, 7
cmp eax, 0x1a
jle 0x52cbfb
cmp eax, 0x1f
jge 0x52cbfb
cvttss2si eax, dword [ecx + 0x2c]
mov ecx, eax
sar ecx, 7
cmp ecx, 0x14
jle 0x52cbfb
cmp ecx, 0x19
jge 0x52cbfb
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
and ecx, 0x800003ff
jns 0x52ca09
dec ecx
or ecx, 0xfffffc00
inc ecx
mov eax, dword [ebp - 0x39c]
cdq
and edx, 3
shl ecx, 0xa
add eax, edx
sar eax, 2
and eax, 0x800003ff
jns 0x52ca29
dec eax
or eax, 0xfffffc00
inc eax
movsx eax, byte [ecx + eax + 0x6345f0]
test al, 8
jne 0x52cbfb
mov eax, esi
sub eax, dword [edi + 0x27254]
cmp eax, dword [edi + 0x27258]
jbe 0x52cbfb
cmp dword [edi + 0x26f5c], 1
jne 0x52cbfb
cmp dword [0x1ff259c], 0
jne 0x52cbfb
mov eax, dword [edi + 0x44]
cmp dword [eax + 0xf8], 1
jne 0x52cbfb
mov eax, dword [ebp - 0x450]
test eax, eax
je 0x52caaf
push 0x130
mov ecx, eax
call fcn.004a8da0
mov esi, eax
test esi, esi
je 0x52caaf
mov ecx, esi
call fcn.004a85c0
test eax, eax
je 0x52caaf
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
mov ecx, esi
call fcn.004a86c0
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x454], 0xbb8
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push pe_nt_image_headers32
imul eax, edx, 0x32
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x605240]
movss dword [ebp - 0x39c], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 4], 0x10
mov ecx, esi
push pe_nt_image_headers32
call fcn.0045fa50
movss xmm3, dword [ebp - 0x39c]
mov ecx, esi
push 0x50
push 1
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm3
push dword [ebp - 0x454]
push 0x1a6
call fcn.004ed9f0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x52cb7d
mov eax, dword [ebp - 0x46c]
push eax
lea ecx, [eax - 0x384]
push ecx
mov ecx, esi
call fcn.004ed010
movss xmm1, dword [0x6052a8]
xorps xmm2, xmm2
mov ecx, esi
call fcn.004ecfe0
mov ecx, dword [edi + 0x2c]
push esi
call fcn.005bcdc0
mov eax, dword [ebp - 0x454]
add dword [ebp - 0x46c], 0x64
add eax, 0x320
mov dword [ebp - 0x454], eax
cmp eax, 0x1b58
jl 0x52cac3
mov ecx, dword [edi + 0x2725c]
mov eax, 0x99999999
inc ecx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov dword [edi + 0x2725c], eax
test eax, eax
je 0x52cbcf
mov eax, 0x3e8
jmp 0x52cbe5
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
add edx, 5
imul eax, edx, 0xbb8
mov esi, dword [ebp - 0x458]
mov edx, 0x27258
mov ecx, edi
mov dword [edx + ecx], eax
mov dword [edi + 0x27254], esi
mov eax, dword [edi + 0x1a9a18]
mov dword [ebp - 0x39c], eax
mov eax, dword [edi + 0x1a9a1c]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x454], 0xffffffff
mov dword [ebp - 0x46c], 0xffffffff
mov dword [ebp - 0x450], 0
mov eax, dword [0x9c25ac]
mov ecx, dword [ebp - 0x450]
mov cl, byte [ecx + eax + 0x10e2]
mov al, cl
add al, 0x5f
cmp cl, 0x69
movzx edx, al
movzx eax, cl
cmovb edx, eax
movzx eax, dl
mov dword [ebp - 0x464], edx
sub esi, dword [edi + eax*4 + 0x1aa454]
cmp dword [ebp - 0x450], 0xa
jb 0x52cc74
inc dword [ebp - 0x46c]
jmp 0x52cc7a
inc dword [ebp - 0x454]
test esi, esi
je 0x52cddd
lea eax, [eax + eax*2]
shl eax, 5
cmp dword [edi + 0x26f04], 9
mov edx, dword [eax + 0x62e8ec]
jl 0x52cc9d
cmp edx, 2
jl 0x52cc9d
dec edx
mov ecx, dword [edi + 0x4c]
lea eax, [edx - 1]
cmp byte [ecx + 0xa34], 1
cmovne eax, edx
mov edx, 1
cmp eax, 1
cmovl eax, edx
mov dword [ebp - 0x45c], eax
call fcn.005728f0
cmp eax, 2
jne 0x52cd13
cmp byte [ebp - 0x464], 0x66
jne 0x52cce7
mov eax, dword [0x9c25ac]
cmp word [eax + 0x92c], 0x4f
jl 0x52cce7
mov eax, 0x3e8
jmp 0x52cd19
mov eax, dword [ebp - 0x45c]
test eax, eax
jne 0x52cd19
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x605750]
cvtpd2ps xmm1, xmm0
divss xmm1, dword [0x60529c]
jmp 0x52cd44
mov eax, dword [ebp - 0x45c]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x605750]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x60529c]
divss xmm1, xmm0
comiss xmm1, dword [0x604c4c]
movss dword [ebp - 0x45c], xmm1
jbe 0x52cddd
movss xmm0, dword [0x604dc4]
comiss xmm0, xmm1
jbe 0x52cddd
mov ecx, dword [ebp - 0x39c]
push 0
push dword [ebp - 0x454]
call fcn.004de3e0
mov esi, dword [ebp - 0x450]
mov edx, eax
cmp esi, 0xa
jb 0x52cd9f
mov ecx, dword [ebp - 0x3a4]
push 0
push dword [ebp - 0x46c]
call fcn.004de3e0
mov edx, eax
test edx, edx
je 0x52cde3
mov eax, dword [ebp - 0x464]
cmp al, 0xc8
movzx eax, al
sbb ecx, ecx
and ecx, 0xffffff38
add ecx, 0x1450
add ecx, eax
mov eax, dword [edx + 0x670]
movsx eax, word [eax]
cmp eax, ecx
jne 0x52cde3
movss xmm0, dword [ebp - 0x45c]
movss dword [edx + 0x674], xmm0
jmp 0x52cde3
mov esi, dword [ebp - 0x450]
inc esi
mov dword [ebp - 0x450], esi
cmp esi, 0x14
mov esi, dword [ebp - 0x458]
jb 0x52cc31
cmp dword [edi + 0x27b98], 0
je 0x52cf30
cmp dword [edi + 0x27b94], 0
je 0x52cf30
mov ecx, dword [edi + 0x40]
mov eax, dword [ecx + 0x20a20]
cmp eax, 1
jne 0x52d002
cmp dword [ecx + 0x20a24], 0x1f
je 0x52d0e8
cmp eax, 9
jne 0x52d018
cmp dword [ecx + 0x20a24], 0x1c
je 0x52d0e8
cmp eax, 0xa
jne 0x52d02e
cmp dword [ecx + 0x20a24], 0x1b
je 0x52d0e8
cmp dword [ecx + 0x20a24], 0xb
je 0x52d0e8
cmp eax, 0xe
jne 0x52d044
cmp dword [ecx + 0x20a24], 0x1e
je 0x52d0e8
cmp eax, 8
jne 0x52d05a
cmp dword [ecx + 0x20a24], 2
je 0x52d0e8
cmp eax, 0xa
jne 0x52d070
cmp dword [ecx + 0x20a24], 2
je 0x52d0e8
cmp eax, 0xe
jne 0x52d082
cmp dword [ecx + 0x20a24], 0x1c
je 0x52d0e8
cmp eax, 0x10
jne 0x52d093
cmp dword [ecx + 0x20a24], eax
je 0x52d0e8
cmp eax, 0x1c
jne 0x52d0ae
cmp dword [ecx + 0x20a24], 0x18
je 0x52d0e8
cmp eax, 0x1c
jne 0x52d0c0
cmp dword [ecx + 0x20a24], eax
je 0x52d0e8
cmp eax, 0x1e
jne 0x52d0d2
cmp dword [ecx + 0x20a24], 0x1c
je 0x52d0e8
mov ecx, dword [edi + 0x27b98]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
mov dword [edi + 0x27b94], 0
mov esi, dword [ebp - 0x458]
cmp byte [edi + 0x26f44], 1
jne 0x52d20a
mov edx, dword [edi + 0x26f20]
test edx, edx
je 0x52d1ed
cmp byte [edx + 0x211], 0
jne 0x52d1ed
mov eax, esi
sub eax, dword [edi + 0x26f48]
cmp eax, 0xc8
jbe 0x52d1ed
mov eax, dword [edi + 0x4c]
movzx ecx, word [eax + 0x878]
mov eax, ecx
mov dword [ebp - 0x39c], eax
movzx eax, word [edx + 0x878]
mov esi, eax
cmp cx, ax
mov dword [ebp - 0x460], esi
mov ecx, eax
mov esi, dword [ebp - 0x458]
je 0x52cfad
mov eax, dword [0x9c25ac]
cmp word [eax + 0x10fe], cx
jne 0x52cfc0
cmp word [ebp - 0x39c], 0
je 0x52cfc0
test cx, cx
jne 0x52d20a
mov ecx, dword [edi + 0x4c]
push edx
call fcn.00572de0
mov eax, dword [edi + 0x26f20]
cmp dword [eax + 0x218], 0x42
jne 0x52cff7
cmp byte [eax + 0xa25], 1
jne 0x52cff7
mov eax, dword [edi + 0x4c]
cmp byte [eax + 0xa36], 0
jne 0x52cff7
mov dword [edi + 0x26f20], 0
mov dword [edi + 0x26f48], esi
jmp 0x52d20a
cmp eax, 6
jne 0x52ce32
cmp dword [ecx + 0x20a24], 0x1c
je 0x52d0e8
cmp eax, 8
jne 0x52ce48
cmp dword [ecx + 0x20a24], 0x1b
je 0x52d0e8
cmp eax, 0xd
jne 0x52ce6b
cmp dword [ecx + 0x20a24], 0x1f
je 0x52d0e8
cmp eax, 0xf
jne 0x52ce81
cmp dword [ecx + 0x20a24], 0x1f
je 0x52d0e8
cmp eax, 9
jne 0x52ce97
cmp dword [ecx + 0x20a24], 1
je 0x52d0e8
cmp eax, 0xd
jne 0x52cead
cmp dword [ecx + 0x20a24], 0x1c
je 0x52d0e8
cmp eax, 1
jne 0x52cec3
cmp dword [ecx + 0x20a24], eax
je 0x52d0e8
cmp eax, 0x13
jne 0x52ced8
cmp dword [ecx + 0x20a24], 0xd
je 0x52d0e8
cmp dword [ecx + 0x20a24], 0xf
je 0x52d0e8
cmp eax, 8
jne 0x52ceee
cmp dword [ecx + 0x20a24], 0xd
je 0x52d0e8
cmp eax, 0x1d
jne 0x52cf03
cmp dword [ecx + 0x20a24], 0x1b
je 0x52d0e8
cmp eax, 0x11
jne 0x52cf19
cmp dword [ecx + 0x20a24], 0x1c
jne 0x52cf19
mov esi, dword [ebp - 0x458]
mov eax, 0x10624dd3
mov ecx, esi
sub ecx, dword [edi + 0x27868]
mul ecx
mov eax, dword [edi + 0x27864]
shr edx, 6
sub eax, edx
mov dword [ebp - 0x45c], eax
test eax, eax
jle 0x52d1db
push 0x80
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00468b40
mov eax, 0x88888889
add esp, 0xc
imul dword [ebp - 0x45c]
mov eax, 0x88888889
add edx, dword [ebp - 0x45c]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x39c], eax
mov eax, ecx
cdq
idiv dword [ebp - 0x460]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [ebp - 0x45c]
shl eax, 2
sub ecx, eax
mov eax, dword [ebp - 0x39c]
push ecx
push edx
test eax, eax
jle 0x52d19e
push eax
lea eax, [ebp - 0x218]
push str._02d_:__02d_:__02d
push eax
call fcn.00445aa0
add esp, 0x14
jmp 0x52d1b2
lea eax, [ebp - 0x218]
push str._02d_:__02d
push eax
call fcn.00445aa0
add esp, 0x10
mov ecx, dword [edi + 0x27b98]
lea edx, [ebp - 0x218]
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x80]
mov ecx, dword [edi + 0x27b98]
push 1
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x52cf36
mov ecx, dword [edi + 0x27b98]
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x52cf36
mov eax, dword [edi + 0x26f20]
test eax, eax
je 0x52d20a
cmp byte [eax + 0x211], 1
jne 0x52d20a
mov dword [edi + 0x26f20], 0
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x52d5aa
cvttss2si eax, dword [ecx + 0x2c]
cvttss2si esi, dword [ecx + 0x28]
mov dword [ebp - 0x454], eax
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
and ecx, 0x800003ff
jns 0x52d23f
dec ecx
or ecx, 0xfffffc00
inc ecx
mov eax, esi
shl ecx, 0xa
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, 0x800003ff
jns 0x52d25b
dec eax
or eax, 0xfffffc00
inc eax
mov al, byte [ecx + eax + 0x6345f0]
or esi, 0xffffffff
and dword [ebp - 0x454], 0xfffc
mov byte [ebp - 0x465], al
mov eax, dword [edi + 0x4c]
cvttss2si edx, dword [eax + 0x28]
mov eax, 0x5f0d44
and edx, 0xfffc
xor ecx, ecx
nop word [eax + eax]
cmp dword [eax - 4], edx
jne 0x52d2a5
mov edi, dword [ebp - 0x454]
cmp dword [eax], edi
mov edi, dword [ebp - 0x474]
je 0x52d2b2
add eax, 0x10
inc ecx
cmp eax, 0x5f0f94
jl 0x52d290
jmp 0x52d2b4
mov esi, ecx
mov ecx, dword [edi + 0x4c]
mov eax, dword [ecx + 0x9d8]
test eax, eax
je 0x52d2ca
cmp eax, 1
jne 0x52d584
mov al, byte [edi + 0x26f38]
mov byte [ebp - 0x475], al
mov al, byte [ebp - 0x465]
mov byte [edi + 0x26f38], al
test al, 0x10
je 0x52d58e
cmp dword [edi + 0x1aa430], 0
jne 0x52d5aa
mov dword [edi + 0x1aa430], 1
mov eax, dword [edi + 0x26f3c]
cmp eax, 0xffffffff
je 0x52d39d
shl eax, 4
mov ecx, esi
mov dword [ebp - 0x39c], eax
shl ecx, 4
mov dword [ebp - 0x460], ecx
mov eax, dword [eax + 0x5f0d40]
cdq
and edx, 0x3f
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x460]
sar ecx, 6
mov eax, dword [eax + 0x5f0d40]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
cmp eax, ecx
jne 0x52d37c
mov eax, dword [ebp - 0x460]
mov eax, dword [eax + 0x5f0d44]
cdq
and edx, 0x3f
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x39c]
sar ecx, 6
mov eax, dword [eax + 0x5f0d44]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
cmp ecx, eax
je 0x52d39a
mov al, byte [ebp - 0x465]
cmp byte [ebp - 0x475], al
jne 0x52d39a
mov dword [edi + 0x26f3c], esi
mov eax, 1
jmp 0x52d73e
mov ecx, dword [edi + 0x4c]
cvttss2si eax, dword [ecx + 0x28]
cmp eax, 0x7ab
jle 0x52d3f7
cmp eax, 0x7b2
jge 0x52d3f7
cvttss2si eax, dword [ecx + 0x2c]
cmp eax, 0x6ea
jle 0x52d449
cmp eax, 0x6f1
jge 0x52d449
mov ecx, dword [edi + 0x108]
push 0xbb8
push 0x7de7b0
call fcn.004cf030
mov ecx, dword [edi + 0x108]
push 1
push 1
mov eax, dword [ecx]
call dword [eax + 0x88]
jmp 0x52d5aa
cmp eax, 0x942
jl 0x52d449
cmp eax, 0x96b
jg 0x52d449
cvttss2si eax, dword [ecx + 0x2c]
cmp eax, 0x6c0
jl 0x52d449
cmp eax, 0x6df
jg 0x52d449
mov ecx, dword [edi + 0x108]
push 0xbb8
push 0x7e18b0
call fcn.004cf030
mov ecx, dword [edi + 0x108]
push 1
push 1
mov eax, dword [ecx]
call dword [eax + 0x88]
mov eax, 1
jmp 0x52d73e
mov ecx, dword [edi + 0x110]
cmp dword [ecx + 0x28], 0
jne 0x52d5aa
cmp dword [edi + 0x26ea4], 1
je 0x52d737
mov dword [edi + 0x26f3c], esi
test esi, esi
js 0x52d569
push 0x100
lea eax, [ebp - 0x398]
push 0
push eax
call fcn.00468b40
mov eax, esi
shl eax, 4
push dword [eax + 0x5f0d4c]
lea eax, [ebp - 0x398]
push 0x7dffb0
push eax
call fcn.00445aa0
mov al, byte [edi + 0x26f4c]
add esp, 0x18
xor ecx, ecx
test al, al
jne 0x52d4ca
mov eax, dword [edi + 0x4c]
mov al, byte [eax + 0xa5a]
test al, al
je 0x52d504
cmp al, 3
je 0x52d504
mov ecx, 1
jmp 0x52d504
xor ecx, ecx
cmp al, 7
jne 0x52d4e3
mov eax, dword [edi + 0x4c]
cmp byte [eax + 0xa5a], 1
je 0x52d504
mov ecx, 1
jmp 0x52d504
cmp al, 8
jne 0x52d4fa
mov eax, dword [edi + 0x4c]
cmp byte [eax + 0xa5a], 2
je 0x52d504
mov ecx, 1
jmp 0x52d504
cmp al, 0xff
mov eax, 1
cmove ecx, eax
shl esi, 4
mov esi, dword [esi + 0x5f0d48]
test esi, esi
jle 0x52d556
cmp ecx, 1
jne 0x52d556
push 0x100
lea eax, [ebp - 0x298]
push 0
push eax
call fcn.00468b40
push esi
lea eax, [ebp - 0x298]
push 0x7dff30
push eax
call fcn.00445aa0
mov ecx, dword [edi + 0x110]
lea edx, [ebp - 0x298]
add esp, 0x18
push edx
push 0x10
lea edx, [ebp - 0x398]
push edx
jmp 0x52d572
mov ecx, dword [edi + 0x110]
lea edx, [ebp - 0x398]
push 0
push 0x10
push edx
jmp 0x52d572
push 0
push 0x10
push 0x7dad30
mov eax, dword [ecx]
call dword [eax + 0x8c]
mov ecx, dword [edi + 0x110]
push 1
jmp 0x52d5a5
mov al, byte [ebp - 0x465]
test al, 0x10
jne 0x52d5aa
mov ecx, dword [edi + 0x110]
cmp dword [ecx + 0x28], 1
jne 0x52d5aa
cmp dword [ecx + 0x1ec], 0x10
jne 0x52d5aa
push 0
mov eax, dword [ecx]
call dword [eax + 0x60]
movss xmm2, dword [0x6057c0]
mov eax, 0x29
xor esi, esi
mov ecx, 0x1c
nop
cmp esi, 0x35
cmove eax, ecx
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x39c], eax
dec eax
movd xmm1, eax
movsx eax, word [esi*8 + 0x904be0]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ecx + 0x28]
andps xmm0, xmm2
comiss xmm1, xmm0
jbe 0x52d625
movsx eax, word [esi*8 + 0x904be2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ecx + 0x2c]
andps xmm0, xmm2
comiss xmm1, xmm0
jbe 0x52d625
push dword [edi + 0x26f00]
mov ecx, edi
push esi
call fcn.0051bc50
movss xmm2, dword [0x6057c0]
mov eax, dword [ebp - 0x39c]
inc esi
mov ecx, 0x1c
cmp esi, 0x64
jl 0x52d5c0
cmp dword [edi + 0x26f00], 1
jne 0x52d649
mov dword [edi + 0x26f00], 0
mov ecx, edi
call fcn.0051cdc0
mov eax, dword [edi + 0x1a9a2c]
mov dword [ebp - 0x460], 0
cmp dword [eax + 0x210], 0
jle 0x52d725
mov edx, 0x214
mov dword [ebp - 0x45c], edx
nop dword [eax + eax]
mov ecx, dword [0x9c25ac]
mov esi, dword [eax + edx]
mov eax, dword [ecx]
push dword [esi + 0xe6c]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x52d6f7
cmp byte [eax + 0xa20], 1
jne 0x52d6b6
push 0
mov dword [esi + 0x754], 0xffff0000
push 0xffff0000
jmp 0x52d6e5
mov eax, dword [esi + 0xe78]
cmp eax, 2
jne 0x52d6d4
push 0
mov dword [esi + 0x754], 0xffaaaaff
push 0xffaaaaff
jmp 0x52d6e5
test eax, eax
jne 0x52d6f7
push eax
mov dword [esi + 0x754], 0xffffffff
push 0xffffffffffffffff
mov ecx, dword [esi + 0x870]
lea eax, [esi + 0x76c]
push eax
call fcn.0054c310
mov ecx, dword [ebp - 0x460]
mov eax, dword [edi + 0x1a9a2c]
inc ecx
mov edx, dword [ebp - 0x45c]
add edx, 4
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x45c], edx
cmp ecx, dword [eax + 0x210]
jl 0x52d680
lea ecx, [edi + 0x1a7ec8]
call fcn.004c4930
mov eax, 1
jmp 0x52d73e
mov ecx, 1
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046676f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4