Function at 0x4a3820
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b02a9
mov eax, dword fs:[0]
push eax
sub esp, 0x36c
mov eax, dword [0x616798]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2ac], esi
inc dword [esi + 0x208]
xorps xmm1, xmm1
movss xmm0, dword [0x619a54]
mulss xmm0, dword [0x5c19e0]
comiss xmm1, xmm0
movss dword [ebp - 0x2cc], xmm0
movss dword [0x619a54], xmm0
jbe 0x4a3898
xorps xmm0, xmm0
mov dword [0x619a54], 0
movss dword [ebp - 0x2cc], xmm0
mulss xmm0, dword [0x5bcbd0]
cvtps2pd xmm0, xmm0
call fcn.00587300
mov eax, dword [esi + 8]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x2cc]
mulss xmm0, dword [0x5c19b8]
movss dword [ebp - 0x2cc], xmm0
movq xmm0, qword [eax + 0x114]
movq qword [0x619a78], xmm0
mov eax, dword [eax + 0x11c]
mov dword [0x619a80], eax
cmp dword [esi + 0x20c], 0xffffffff
je 0x4a3946
mov ecx, dword [esi + 0x18]
call fcn.0044dcb0
test eax, eax
je 0x4a3946
nop word [eax + eax]
mov ecx, dword [eax + 0x17c]
cmp ecx, dword [esi + 0x20c]
jne 0x4a393a
cmp dword [0x619a64], 0
jne 0x4a393a
movq xmm0, qword [eax + 0x114]
movq qword [0x619a78], xmm0
mov eax, dword [eax + 0x11c]
mov dword [0x619a80], eax
mov ecx, dword [esi + 0x18]
call fcn.0044dd10
mov ecx, dword [esi + 0x18]
call fcn.0044dd50
test eax, eax
jne 0x4a3900
mov ecx, esi
call fcn.004add10
mov eax, dword [0x6192d0]
mov ecx, dword [eax + 0x2a3d8]
lea eax, [esi + 0x20]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0xa8]
mov eax, dword [0x6192d0]
push 1
push 1
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov eax, dword [0x6192d0]
lea edx, [ebp - 0x110]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xd4], 0x3f800000
mov dword [ebp - 0xe8], 0x3f800000
mov dword [ebp - 0xfc], 0x3f800000
mov dword [ebp - 0x110], 0x3f800000
mov eax, dword [eax + 0x2a3d8]
push edx
push 0x100
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
movss xmm0, dword [esi + 0x1f0]
lea eax, [ebp - 0x15c]
addss xmm0, dword [ebp - 0x2cc]
push ecx
movss dword [esp], xmm0
push eax
call fcn.0040292d
movss xmm0, dword [esi + 0x1f8]
lea eax, [ebp - 0x244]
push ecx
movss dword [esp], xmm0
push eax
call fcn.00402891
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x15c]
push eax
push eax
call fcn.00401d4e
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x110]
push eax
push eax
call fcn.00401d4e
mov eax, dword [0x6192d0]
lea edx, [ebp - 0x110]
push edx
push 2
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
mov eax, dword [0x619a58]
cmp eax, 1
je 0x4a3b13
cmp eax, 3
je 0x4a3b68
cmp eax, 2
je 0x4a3b68
mov eax, dword [0x6192d0]
push 0
push 7
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
cmp dword [0x619a58], 4
mov ecx, dword [esi + 0xa8]
jne 0x4a3b0f
mov eax, dword [esi + 0x164]
push dword [eax + 0x12c]
jmp 0x4a3b40
push 0
jmp 0x4a3b40
cmp dword [esi + 0x284], 0
je 0x4a3b68
mov eax, dword [0x6192d0]
push 0
push 7
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [esi + 0x150]
mov ecx, dword [esi + 0xa8]
mov eax, dword [0x6192d0]
push dword [eax + 0x2a3d8]
call fcn.00462120
mov eax, dword [0x6192d0]
push 1
push 7
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0
push 1
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov eax, dword [0x6192d0]
push 1
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov eax, dword [0x6192d0]
mov ecx, dword [eax + 0x2a3d8]
lea eax, [esi + 0x6e0]
push eax
push 0
push ecx
mov edx, dword [ecx]
call dword [edx + 0xb0]
xor edi, edi
cmp dword [esi + 0x60c], edi
jle 0x4a3d46
lea ecx, [esi + 0x5f8]
lea eax, [esi + 0x5ac]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x2bc], eax
nop dword [eax + eax]
cmp dword [0x619a58], 2
jne 0x4a3d46
test byte [0x60f888], 2
je 0x4a3d46
movss xmm0, dword [0x5bd7d8]
ucomiss xmm0, dword [eax + 4]
lahf
test ah, 0x44
jnp 0x4a3d21
sub esp, 0xc
lea eax, [ebp - 0x1c4]
mov dword [esp + 8], 0x40000000
mov dword [esp + 4], 0
mov dword [esp], 0xc0800000
push 1
push eax
call fcn.00453d20
mov eax, dword [ebp - 0x2bc]
lea edx, [ebp - 0x1c4]
add esp, 0x14
mov dword [ebp - 0x174], 0x3f800000
mov dword [ebp - 0x16c], 0x3f000000
mov dword [ebp - 0x1a0], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x294]
movq qword [ebp - 0x190], xmm0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
movss xmm0, dword [eax]
movzx eax, byte [esi + edi + 0x5e8]
movss dword [ebp - 0x178], xmm0
push edx
movd xmm0, eax
movzx eax, byte [esi + edi + 0x5ed]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1c0], xmm0
movd xmm0, eax
movzx eax, byte [esi + edi + 0x5f2]
lea esi, [edi + 2]
cvtdq2ps xmm0, xmm0
push esi
movss dword [ebp - 0x1bc], xmm0
movd xmm0, eax
mov eax, dword [0x6192d0]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1b8], xmm0
mov ecx, dword [eax + 0x2a3d8]
push ecx
mov eax, dword [ecx]
call dword [eax + 0xb0]
mov eax, dword [0x6192d0]
push 1
push esi
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov esi, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x2bc]
inc edi
add ecx, 4
add eax, 0xc
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x2bc], eax
cmp edi, dword [esi + 0x60c]
jl 0x4a3be0
xor edi, edi
nop dword [eax + eax]
cmp dword [0x619a58], 2
jne 0x4a3d62
test byte [0x60f888], 2
jne 0x4a3d7c
mov eax, dword [0x6192d0]
push 0
mov ecx, dword [eax + 0x2a3d8]
lea eax, [edi + 2]
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0xb8]
inc edi
cmp edi, 5
jl 0x4a3d50
xor ecx, ecx
cmp dword [esi + 0x60c], ecx
jle 0x4a3da4
lea eax, [esi + 0x5b0]
mov dword [eax], 0x447a0000
lea eax, [eax + 0xc]
inc ecx
cmp ecx, dword [esi + 0x60c]
jl 0x4a3d92
movss xmm0, dword [esi + 0x1f0]
lea eax, [ebp - 0x15c]
addss xmm0, dword [ebp - 0x2cc]
push ecx
movss dword [esp], xmm0
push eax
call fcn.0040292d
movss xmm0, dword [0x5bc054]
mov eax, dword [esi + 0x28c]
movss xmm1, dword [0x5bcee4]
movss dword [ebp - 0x294], xmm0
cmp eax, 1
je 0x4a3dee
cmp eax, 2
jne 0x4a3df9
movaps xmm0, xmm1
movss dword [ebp - 0x294], xmm0
sub esp, 0xc
lea eax, [ebp - 0x284]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push eax
call fcn.004027ee
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x15c]
push eax
push eax
call fcn.00401d4e
mov eax, dword [esi + 0x28c]
movss xmm1, dword [0x5c19f0]
cmp eax, 1
jne 0x4a3e4e
movss xmm1, dword [0x5bde90]
jmp 0x4a3e5b
cmp eax, 2
jne 0x4a3e5b
movss xmm1, dword [0x5bcbd0]
movss xmm2, dword [0x5bc064]
lea eax, [ebp - 0xd0]
movss xmm0, dword [esi + 0x200]
sub esp, 0xc
addss xmm1, dword [0x619a7c]
mulss xmm0, xmm2
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x1fc]
mulss xmm1, xmm2
mulss xmm0, xmm2
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push eax
call fcn.004027ee
movss xmm0, dword [esi + 0x1f0]
cvtps2pd xmm0, xmm0
call fcn.00587300
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x294]
addss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [esi + 0x1f0]
cvtps2pd xmm0, xmm0
call fcn.00587140
movss xmm1, dword [ebp - 0x98]
mov eax, dword [esi + 0x28c]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x294]
subss xmm1, xmm0
movss xmm0, dword [esi + 0x1f8]
movss dword [ebp - 0x2d8], xmm1
cmp eax, 1
jne 0x4a3f20
movss xmm0, dword [0x5c1a24]
jmp 0x4a3f2d
cmp eax, 2
jne 0x4a3f2d
movss xmm0, dword [0x5c1a20]
push ecx
lea eax, [ebp - 0x244]
movss dword [esp], xmm0
push eax
call fcn.00402891
push ecx
lea eax, [ebp - 0x204]
mov dword [esp], 0x40490fdb
push eax
call fcn.0040292d
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x15c]
push eax
push eax
call fcn.00401d4e
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x204]
push eax
push eax
call fcn.00401d4e
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0xd0]
push eax
push eax
call fcn.00401d4e
mov eax, dword [0x6192d0]
lea edx, [ebp - 0xd0]
push edx
push 2
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
movss xmm0, dword [ebp - 0x2d8]
lea ecx, [esi + 0x430]
xorps xmm0, xmmword [0x5bcbf0]
sub esp, 0xc
movss xmm1, dword [ebp - 0x2cc]
mov eax, esp
xorps xmm1, xmmword [0x5bcbf0]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [0x619a7c]
mov edi, dword [ebp - 0x2dc]
unpcklps xmm1, xmm0
movq qword [eax], xmm1
movq qword [ebp - 0x2d4], xmm1
mov dword [eax + 8], edi
call fcn.0046fde0
movss xmm0, dword [esi + 0x1f0]
sub esp, 0x10
xorps xmm0, xmmword [0x5bcbf0]
mov eax, esp
movss dword [esp + 0xc], xmm0
movq xmm0, qword [ebp - 0x2d4]
movq qword [eax], xmm0
mov dword [eax + 8], edi
call fcn.00466480
mov eax, dword [0x6192d0]
lea edx, [ebp - 0x110]
mov dword [ebp - 0xd8], 0
add esp, 0x10
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xd4], 0x3f800000
mov dword [ebp - 0xe8], 0x3f800000
mov dword [ebp - 0xfc], 0x3f800000
mov dword [ebp - 0x110], 0x3f800000
mov eax, dword [eax + 0x2a3d8]
mov ecx, dword [eax]
push edx
push 0x100
push eax
call dword [ecx + 0x94]
cmp dword [esi + 0x20c], 0xffffffff
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x164]
mov eax, dword [eax + 0x168]
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2bc], eax
je 0x4a4179
mov ecx, dword [esi + 0x18]
call fcn.0044dcb0
test eax, eax
je 0x4a4173
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [eax + 0x17c]
cmp ecx, dword [esi + 0x20c]
jne 0x4a4167
cmp dword [0x619a64], 0
jne 0x4a4167
mov ecx, dword [eax + 0x164]
mov edi, dword [eax + 0x168]
mov dword [ebp - 0x2c0], ecx
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x2bc], edi
call fcn.0044dd10
mov ecx, dword [esi + 0x18]
call fcn.0044dd50
test eax, eax
jne 0x4a4130
mov edx, dword [ebp - 0x2c0]
mov ecx, dword [0x619a58]
mov edi, 0x5fc6cc
test ecx, ecx
jne 0x4a42f6
cmp dword [esi + 0x2a0], 1
jge 0x4a42f6
mov eax, edx
sub eax, dword [edi - 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jge 0x4a42e1
mov eax, dword [ebp - 0x2bc]
sub eax, dword [edi]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jge 0x4a42e1
push dword [edi - 4]
mov ecx, dword [esi + 0x154]
call fcn.004fb210
push dword [edi]
mov ecx, dword [esi + 0x154]
fstp dword [ebp - 0x2f4]
call fcn.004fb320
fstp dword [ebp - 0x2ec]
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x2f4]
movss dword [ebp - 0x2c4], xmm0
movss dword [ebp - 0x2f4], xmm0
call fcn.005619b8
sub esp, 8
mov ecx, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x2ec]
movss dword [esp + 4], xmm0
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x2c4]
movss dword [esp], xmm0
call fcn.004acca0
mov eax, dword [ebp - 0x2ec]
sub esp, 0xc
mov ecx, esp
fstp dword [ebp - 0x2f0]
movq xmm0, qword [ebp - 0x2f4]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a14]
call fcn.00519b10
call fcn.005619b8
and eax, reloc.WS2_32.dll_accept
jns 0x4a42b4
dec eax
or eax, 0xfffffffe
add eax, 1
mov ecx, dword [0x619a14]
je 0x4a42c5
movups xmm0, xmmword [0x5fef58]
jmp 0x4a42cc
movups xmm0, xmmword [0x5fef48]
sub esp, 0x10
mov eax, esp
push 1
movups xmmword [eax], xmm0
call fcn.00519730
mov ecx, dword [0x619a58]
mov edx, dword [ebp - 0x2c0]
add edi, 0x50
cmp edi, 0x5fce4c
jl 0x4a4184
cmp dword [esi + 0x28c], 0
jne 0x4a4699
test byte [0x60f888], 1
je 0x4a4699
cmp ecx, 1
je 0x4a4602
cmp ecx, 3
je 0x4a4602
cmp ecx, 2
je 0x4a4602
push 1
push 0x1c
cmp ecx, 4
jne 0x4a44f9
mov eax, dword [esi + 0x2a0]
sub eax, 1
je 0x4a445c
sub eax, 1
je 0x4a43da
sub eax, ecx
mov dword [ebp - 0x2b0], 0x41f00000
mov eax, dword [0x6192d0]
mov dword [ebp - 0x294], 0x428c0000
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
je 0x4a43fc
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0xff5a93f1
push 0x22
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x23
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2b0]
push 0x24
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [ebp - 0x294]
jmp 0x4a4683
mov eax, dword [0x6192d0]
mov dword [ebp - 0x2b0], 0x41a00000
mov dword [ebp - 0x294], 0x425c0000
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0xff9696be
push 0x22
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x23
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2b0]
push 0x24
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [ebp - 0x294]
jmp 0x4a4683
mov eax, dword [0x6192d0]
mov dword [ebp - 0x2b0], 0x41f00000
mov dword [ebp - 0x294], 0x428c0000
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0xff6e738f
push 0x22
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0xff000000
push 0x22
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x23
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2b0]
push 0x24
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [ebp - 0x294]
jmp 0x4a4683
mov eax, dword [0x6192d0]
mov dword [ebp - 0x2c4], 0x41f00000
mov dword [ebp - 0x2a0], 0x42c80000
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
movss xmm1, dword [esi + 0x748]
addss xmm1, dword [0x5bda04]
divss xmm1, dword [0x5bd0d8]
movaps xmm0, xmm1
mulss xmm0, dword [0x5c1a10]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x5c1a18]
mov dword [ebp - 0x294], eax
mulss xmm0, dword [0x5c1a14]
mov eax, dword [0x6192d0]
cvttss2si ecx, xmm1
mov esi, dword [eax + 0x2a3d8]
mov eax, dword [ebp - 0x294]
or eax, 0xffffff00
shl eax, 8
mov edi, dword [esi]
cvttss2si edx, xmm0
mov dword [ebp - 0x294], eax
movzx eax, dl
mov edx, dword [ebp - 0x294]
or edx, eax
movzx eax, cl
shl edx, 8
or edx, eax
push edx
push 0x22
push esi
call dword [edi + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x23
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2c4]
push 0x24
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2a0]
push 0x25
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov esi, dword [ebp - 0x2ac]
jmp 0x4a4699
mov eax, dword [0x6192d0]
push 1
push 0x1c
mov dword [ebp - 0x2c4], 0x41a00000
mov eax, dword [eax + 0x2a3d8]
push eax
mov dword [ebp - 0x2a0], 0x42340000
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0xff00001e
push 0x22
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x23
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push dword [ebp - 0x2c4]
push 0x24
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [ebp - 0x2a0]
mov eax, dword [0x6192d0]
push 0x25
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 3
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x619a58]
cmp eax, 1
je 0x4a4743
cmp eax, 3
je 0x4a4743
push dword [ebp - 0x2bc]
push dword [ebp - 0x2c0]
cmp eax, 4
jne 0x4a46e5
mov ecx, dword [esi + 0x164]
call fcn.005268a0
jmp 0x4a4772
cmp eax, 2
jne 0x4a46f7
mov ecx, dword [esi + 0x168]
call fcn.00511450
jmp 0x4a4772
mov eax, dword [esi + 0x154]
movq xmm0, qword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2dc]
movq qword [eax + 0x184], xmm0
mov dword [eax + 0x18c], ecx
mov ecx, dword [esi + 0x154]
mov eax, dword [esi + 0x1f0]
mov dword [ecx + 0x190], eax
mov ecx, dword [esi + 0x154]
call fcn.004f8830
mov ecx, dword [esi + 0x154]
call fcn.004f8b70
jmp 0x4a4772
mov eax, dword [0x6192d0]
push 1
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
push dword [ebp - 0x2bc]
mov ecx, dword [esi + 0x160]
push dword [ebp - 0x2c0]
call fcn.004ef440
mov ecx, dword [esi + 0x15c]
call fcn.004e7380
mov eax, dword [0x6192d0]
push 2
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xf4]
mov eax, dword [0x619a58]
cmp eax, 1
je 0x4a47d6
cmp eax, 3
je 0x4a47d6
cmp eax, 4
je 0x4a47cf
cmp eax, 2
je 0x4a47cf
mov ecx, esi
call fcn.004a8360
jmp 0x4a47d6
mov ecx, esi
call fcn.004a8460
lea ecx, [ebp - 0x340]
call fcn.0044d7f0
movss xmm0, dword [esi + 0x1f0]
sub esp, 8
cvtps2pd xmm0, xmm0
mov dword [ebp - 4], 0
movsd qword [esp], xmm0
call fcn.0044d140
mov ecx, dword [esi + 0x18]
add esp, 8
fstp dword [esi + 0x1f0]
call fcn.0044dcb0
mov edi, eax
mov dword [ebp - 0x2c4], edi
test edi, edi
je 0x4a67d8
nop dword [eax]
nop word [eax + eax]
movss xmm0, dword [ebp - 0x2cc]
addss xmm0, dword [edi + 0x114]
movss xmm1, dword [ebp - 0x2d8]
addss xmm1, dword [edi + 0x11c]
cvtps2pd xmm0, xmm0
movss dword [ebp - 0x2a0], xmm1
movsd qword [ebp - 0x2a8], xmm0
fld qword [ebp - 0x2a8]
movsd qword [ebp - 0x2b4], xmm0
movaps xmm0, xmm1
xorps xmm0, xmmword [0x5bcbf0]
cvtss2sd xmm0, xmm0
movsd qword [ebp - 0x29c], xmm0
fld qword [ebp - 0x29c]
call fcn.0058430a
fstp qword [ebp - 0x29c]
movsd xmm0, qword [ebp - 0x29c]
sub esp, 8
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044d140
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
subss xmm0, dword [esi + 0x1f0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044d0e0
movsd xmm3, qword [0x5c1b20]
add esp, 8
movss xmm1, dword [0x5c19d8]
fstp dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x294]
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm1, xmm0
ja 0x4a4970
movsd xmm0, qword [ebp - 0x2b4]
movss xmm4, dword [0x5c1a04]
andps xmm0, xmm3
movss xmm1, dword [ebp - 0x2a0]
cvtpd2ps xmm2, xmm0
cvtps2pd xmm1, xmm1
comiss xmm4, xmm2
jbe 0x4a493d
movaps xmm0, xmm1
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm4, xmm0
ja 0x4a4970
movss xmm4, dword [0x5c0160]
comiss xmm2, xmm4
jae 0x4a4965
andps xmm1, xmm3
cvtpd2ps xmm0, xmm1
comiss xmm0, xmm4
jae 0x4a4965
mov dword [edi + 0x1a8], 0
jmp 0x4a67ba
inc dword [edi + 0x1a8]
jmp 0x4a67ba
movss xmm0, dword [edi + 0x11c]
lea eax, [edi + 0x108]
sub esp, 0x10
mov dword [ebp - 0x2a0], eax
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
cmp dword [edi + 0x178], 0xffffffff
jle 0x4a568a
mov edx, dword [edi + 0x194]
test edx, edx
je 0x4a4a06
mov eax, dword [edx + 0x108]
mov dword [ebp - 0x2a4], eax
test eax, eax
je 0x4a4a06
mov eax, dword [0x6192d0]
push dword [ebp - 0x2a4]
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xf4]
jmp 0x4a4a33
mov eax, dword [0x6192d0]
push dword [edx + 0x108]
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xf4]
inc dword [0x619a70]
mov eax, dword [edi + 0x178]
mov dword [0x619a74], eax
mov eax, dword [0x6192d0]
push 4
push 1
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 2
push 2
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 0
push 3
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 1
push 4
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [edi + 0x19c]
test eax, eax
je 0x4a4b90
cmp eax, 1
jne 0x4a4b28
mov ecx, dword [esi + 0x128]
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x2a4], eax
test eax, eax
jle 0x4a4b28
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x2a4]
mov eax, dword [0x6192d0]
push edx
push dword [eax + 0x2a3d8]
call fcn.0045e140
mov eax, dword [edi + 0x190]
mov ecx, dword [esi + 0x128]
cdq
sub eax, edx
sar eax, 1
cmp eax, dword [ecx + 0x160]
jl 0x4a4b10
mov dword [edi + 0x19c], 0
mov ecx, dword [esi + 0x128]
cdq
idiv dword [ecx + 0x160]
add ecx, 0x150
push edx
call fcn.0044db90
jmp 0x4a4d89
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x2a4], eax
test eax, eax
jle 0x4a4dcb
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x2a4]
mov eax, dword [0x6192d0]
push edx
push dword [eax + 0x2a3d8]
call fcn.0045e140
mov eax, dword [edi + 0x190]
mov ecx, dword [esi + 0x12c]
cdq
sub eax, edx
sar eax, 1
cmp eax, dword [ecx + 0x160]
jl 0x4a4b10
mov dword [edi + 0x19c], 0
mov ecx, dword [esi + 0x12c]
jmp 0x4a4b10
cmp dword [edi + 0x198], 0
je 0x4a4cf6
mov eax, dword [esi + 0x124]
mov dword [ebp - 0x294], eax
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x2a4], eax
test eax, eax
jle 0x4a4dcb
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
mov esi, eax
mov eax, 0x66666667
imul edi
sar esi, 1
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x294]
add eax, eax
sub esi, eax
lea eax, [edi + esi]
cdq
idiv dword [ebp - 0x2a4]
mov eax, dword [0x6192d0]
mov esi, edx
push esi
mov dword [ebp - 0x2a4], esi
push dword [eax + 0x2a3d8]
call fcn.0045e140
push esi
mov esi, dword [ebp - 0x2ac]
mov ecx, dword [esi + 0x124]
add ecx, 0x150
call fcn.0044db90
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
movss dword [esp], xmm0
push eax
call fcn.004a8350
mov eax, dword [ebp - 0x2a4]
cmp eax, 1
je 0x4a4c79
cmp eax, 8
jne 0x4a4dcb
cmp dword [edi + 0x220], eax
je 0x4a4dcb
call fcn.005619b8
mov esi, eax
and esi, reloc.WS2_32.dll_closesocket
jns 0x4a4c99
dec esi
or esi, 0xfffffffc
inc esi
mov eax, dword [ebp - 0x2a4]
sub esp, 0x10
movq xmm0, qword [edi + 0x114]
mov ecx, esp
mov dword [edi + 0x220], eax
mov eax, dword [edi + 0x11c]
mov dword [esp + 0xc], 0x42480000
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x2ac]
mov ecx, dword [ecx + esi*4 + 0x4dc]
call fcn.00466230
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + esi*4 + 0x4dc]
call fcn.00466110
mov esi, dword [ebp - 0x2ac]
jmp 0x4a4dcb
mov ecx, dword [esi + 0x120]
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x2a4], eax
test eax, eax
jle 0x4a4dcb
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax + eax*4]
mov eax, dword [edi + 0x190]
cdq
add esi, esi
and edx, 3
add eax, edx
sar eax, 2
sub eax, esi
add eax, edi
cdq
idiv dword [ebp - 0x2a4]
mov eax, dword [0x6192d0]
push edx
push dword [eax + 0x2a3d8]
call fcn.0045e140
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + 0x120]
mov eax, dword [edi + 0x190]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub eax, esi
add eax, edi
cdq
idiv dword [ecx + 0x160]
add ecx, 0x150
push edx
call fcn.0044db90
mov esi, dword [ebp - 0x2ac]
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
movss dword [esp], xmm0
push eax
call fcn.004a8350
cmp dword [edi + 0x254], 0xffffffff
jle 0x4a5021
inc dword [edi + 0x258]
mov eax, dword [edi + 0x258]
cmp eax, 0x1e
jle 0x4a4df3
mov dword [edi + 0x254], 0xffffffff
cmp eax, 0xa
jle 0x4a5021
movq xmm0, qword [edi + 0x114]
xorps xmm1, xmm1
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x354], xmm0
movss xmm0, dword [edi + 0x25c]
comiss xmm0, dword [0x5bc028]
mov dword [ebp - 0x298], eax
jb 0x4a4e38
mov dword [ebp - 0x294], 0xff
jmp 0x4a4e67
comiss xmm1, xmm0
jb 0x4a4e49
mov dword [ebp - 0x294], 0
jmp 0x4a4e67
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov dword [ebp - 0x294], eax
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x260]
comiss xmm0, dword [0x5bc028]
jb 0x4a4e84
mov dword [ebp - 0x2b0], 0xff
jmp 0x4a4eb0
comiss xmm1, xmm0
jb 0x4a4e95
mov dword [ebp - 0x2b0], 0
jmp 0x4a4eb0
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov dword [ebp - 0x2b0], eax
movss xmm0, dword [edi + 0x264]
xorps xmm1, xmm1
comiss xmm0, dword [0x5bc028]
jb 0x4a4ed0
mov dword [ebp - 0x2a4], 0xff
jmp 0x4a4eff
comiss xmm1, xmm0
jb 0x4a4ee1
mov dword [ebp - 0x2a4], 0
jmp 0x4a4eff
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov dword [ebp - 0x2a4], eax
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x268]
comiss xmm0, dword [0x5bc028]
jb 0x4a4f17
mov eax, 0xff
jmp 0x4a4f35
comiss xmm1, xmm0
jb 0x4a4f20
xor eax, eax
jmp 0x4a4f35
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
or eax, 0x5f
shl eax, 8
or eax, dword [ebp - 0x294]
shl eax, 8
or eax, dword [ebp - 0x2b0]
shl eax, 8
or dword [ebp - 0x2a4], eax
call fcn.005619b8
mov ecx, dword [ebp - 0x298]
sub esp, 0xc
movd xmm0, eax
mov eax, esp
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bd0d8]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x350]
movss dword [ebp - 0x350], xmm0
movq xmm0, qword [ebp - 0x354]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x619a38]
call fcn.0051be50
mov edx, dword [ebp - 0x2a4]
sub esp, 0x10
movss xmm1, dword [0x5c19b4]
mov eax, edx
shr eax, 0x10
mov ecx, esp
movzx eax, al
push 5
movd xmm0, eax
mov eax, edx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
movss dword [ecx], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, dl
shr edx, 0x18
mulss xmm0, xmm1
movss dword [ecx + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0xc], xmm0
mov ecx, dword [0x619a38]
call fcn.0051b8f0
cmp dword [edi + 0x26c], 0
je 0x4a51ea
mov eax, dword [edi + 0x19c]
cmp eax, 1
jne 0x4a5072
mov ecx, dword [esi + 0x128]
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a50b0
mov eax, dword [edi + 0x190]
add ecx, 0x150
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x298]
push edx
call fcn.0044db90
jmp 0x4a5176
cmp eax, 2
jne 0x4a50b0
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a50b0
mov eax, dword [edi + 0x190]
add ecx, 0x150
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x298]
push edx
call fcn.0044db90
jmp 0x4a5176
cmp dword [edi + 0x198], 0
je 0x4a510c
mov eax, dword [esi + 0x124]
mov dword [ebp - 0x2a4], eax
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a510c
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
mov esi, eax
mov eax, 0x66666667
imul edi
sar esi, 1
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2a4]
add eax, eax
sub esi, eax
lea eax, [edi + esi]
cdq
idiv dword [ebp - 0x298]
jmp 0x4a5164
mov eax, dword [esi + 0x120]
mov dword [ebp - 0x2a4], eax
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a51d2
mov eax, dword [edi + 0x190]
cdq
and edx, 3
lea esi, [edx + eax]
mov eax, 0x66666667
imul edi
sar esi, 2
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2a4]
add eax, eax
sub esi, eax
lea eax, [edi + esi]
cdq
idiv dword [ebp - 0x298]
push edx
add ecx, 0x150
call fcn.0044db90
mov esi, dword [ebp - 0x2ac]
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
push eax
call fcn.004ae3e0
lea eax, [edi + 0x274]
test eax, eax
je 0x4a51d2
push edi
mov ecx, esi
call fcn.004a7b40
mov eax, dword [0x6192d0]
mov ecx, dword [edi + 0x26c]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
mov dword [ebp - 0x298], 0
lea esi, [edi + 0x338]
mov edi, dword [ebp - 0x298]
cmp dword [esi], 0
je 0x4a5213
push edi
push dword [ebp - 0x2a0]
mov ecx, esi
call fcn.004b0c80
inc edi
add esi, 0xd0
cmp edi, 2
jl 0x4a5200
mov edi, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2ac]
sub eax, dword [edi + 0x164]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x4a67ba
mov eax, dword [ebp - 0x2bc]
sub eax, dword [edi + 0x168]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x4a67ba
or ecx, 0xffffffff
mov dword [ebp - 0x294], ecx
cmp edi, dword [esi + 0x10]
jne 0x4a528f
mov eax, 0x2aaaaaab
imul dword [esi + 0x208]
mov eax, edx
shr eax, 0x1f
add eax, edx
test al, 1
mov eax, 0xff50ff50
cmovne ecx, eax
mov dword [ebp - 0x294], ecx
movss xmm2, dword [0x5bc064]
movss dword [ebp - 0x2a4], xmm2
cmp edi, dword [esi + 8]
jne 0x4a52d7
movd xmm1, dword [edi + 0x210]
movd xmm0, dword [edi + 0x214]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [0x5bc028]
movss dword [ebp - 0x2a4], xmm1
jb 0x4a52d7
movss dword [ebp - 0x2a4], xmm2
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x378], ecx
mov byte [ebp - 4], 1
test ecx, ecx
je 0x4a5362
movss xmm0, dword [ebp - 0x2a4]
lea eax, [edi + 0x1b0]
push 0
push dword [ebp - 0x294]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x11c]
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
addss xmm0, dword [0x5bc028]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x5bc050]
subss xmm0, dword [esi + 0x1f0]
movss dword [esp], xmm0
call fcn.0046b9d0
jmp 0x4a5364
xor eax, eax
push eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0
call fcn.0044daf0
cmp byte [edi + 0x1d0], 0
lea eax, [edi + 0x1d0]
je 0x4a54bd
push str.Administrator
push eax
call fcn.0044cfe0
add esp, 8
test eax, eax
je 0x4a53c3
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x374], ecx
mov byte [ebp - 4], 2
test ecx, ecx
je 0x4a54a1
push 1
push 0xff64ff64
jmp 0x4a5441
lea eax, [edi + 0x1d0]
push str.Moderator
push eax
call fcn.0044cfe0
add esp, 8
test eax, eax
jne 0x4a541d
lea eax, [edi + 0x1d0]
push str.Trial_Moderator
push eax
call fcn.0044cfe0
add esp, 8
test eax, eax
jne 0x4a541d
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x370], ecx
mov byte [ebp - 4], 4
test ecx, ecx
je 0x4a54a1
push 1
push 0xff00bfff
jmp 0x4a5441
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x344], ecx
mov byte [ebp - 4], 3
test ecx, ecx
je 0x4a54a1
push 1
push 0xffffff00
movss xmm0, dword [edi + 0x11c]
lea eax, [edi + 0x1d0]
push ecx
mov dword [esp], 0xbf800000
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
addss xmm0, dword [0x5c00bc]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x5bc050]
subss xmm0, dword [esi + 0x1f0]
movss dword [esp], xmm0
call fcn.0046b9d0
jmp 0x4a54a3
xor eax, eax
push eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0
mov dword [eax + 0x118], 0x41a00000
call fcn.0044daf0
xor eax, eax
mov dword [ebp - 0x2a4], eax
cmp edi, dword [esi + 0x10]
jne 0x4a67ba
imul ecx, eax, 0xd0
mov dword [ebp - 0x294], ecx
cmp dword [ecx + edi + 0x338], 0
je 0x4a5675
movss xmm0, dword [0x5c19e4]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xbe4ccccd
cmp eax, 1
jne 0x4a551b
movss xmm0, dword [0x5c1a28]
mov eax, dword [ebp - 0x2a0]
subss xmm0, dword [eax]
movss dword [ebp - 0x298], xmm0
cvtps2pd xmm0, xmm0
call fcn.00587140
movss xmm1, dword [ebp - 0x298]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x2c4], xmm0
cvtps2pd xmm0, xmm1
call fcn.00587300
mov eax, dword [ebp - 0x2a0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
sub esp, 0x10
mov ecx, esi
movss xmm0, dword [ebp - 0x2c4]
mulss xmm0, dword [0x5bda08]
mulss xmm1, dword [0x5bda08]
addss xmm0, dword [edi + 0x11c]
addss xmm1, dword [edi + 0x114]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
addss xmm0, dword [0x5c00b0]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [0x5bc064]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.004ae6c0
lea eax, [esi + 0x1b0]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00401603
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x2ec], ecx
mov byte [ebp - 4], 5
test ecx, ecx
je 0x4a565d
mov eax, dword [ebp - 0x294]
movss xmm0, dword [ebp - 0x288]
add eax, 0x340
push 0
push 0xffffffffffffffff
push ecx
mov dword [esp], 0xbf800000
add eax, edi
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 0x28c]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x290]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x5bc050]
subss xmm0, dword [esi + 0x1f0]
movss dword [esp], xmm0
call fcn.0046b9d0
jmp 0x4a565f
xor eax, eax
push eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0
call fcn.0044daf0
mov eax, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x2a4], eax
cmp eax, 2
jl 0x4a54c5
jmp 0x4a67ba
mov eax, dword [edi + 0x160]
cmp eax, 1
jne 0x4a5e0a
mov eax, dword [0x6192d0]
push 1
push 0x1b
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [edi + 0x180]
cmp eax, 0x16
jg 0x4a56c5
cmp eax, 8
jle 0x4a56c5
push 2
jmp 0x4a56c7
push 1
mov eax, dword [0x6192d0]
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov ecx, dword [edi + 0x324]
mov edx, dword [edi + 0x180]
mov dword [ebp - 0x2b0], ecx
test ecx, ecx
jne 0x4a570c
mov eax, dword [edi + 0x184]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*2]
mov ecx, dword [eax*4 + 0x619a88]
mov dword [ebp - 0x2b0], ecx
mov eax, dword [edi + 0x328]
mov dword [ebp - 0x294], eax
test eax, eax
jne 0x4a5735
mov eax, dword [edi + 0x184]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*2]
mov ecx, dword [eax*4 + 0x619db8]
mov dword [ebp - 0x294], ecx
mov ecx, dword [edi + 0x32c]
test ecx, ecx
jne 0x4a5752
mov eax, dword [edi + 0x184]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*2]
mov ecx, dword [eax*4 + 0x61a0e8]
cmp edx, 0x1b
jne 0x4a5764
cmp dword [edi + 0x1ac], 0
jne 0x4a5a3d
cmp dword [edi + 0x1a4], 0
je 0x4a57a7
mov eax, dword [edi + 0x190]
cmp eax, 0x14
jle 0x4a57a7
test al, 1
je 0x4a5a3d
mov ecx, dword [ebp - 0x2b0]
test ecx, ecx
je 0x4a5a25
mov eax, dword [ecx + 0x160]
test eax, eax
jle 0x4a5a25
cdq
sub eax, edx
sar eax, 1
push eax
jmp 0x4a5a13
cmp dword [edi + 0x19c], 0
je 0x4a584e
test ecx, ecx
je 0x4a57ed
mov eax, dword [ecx + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a57ed
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x298]
mov eax, dword [0x6192d0]
push edx
push dword [eax + 0x2a3d8]
call fcn.0045e140
jmp 0x4a5805
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xc8]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
mov eax, dword [edi + 0x180]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x184]
lea eax, [eax + ecx*2]
mov ecx, dword [eax*4 + 0x61a0e8]
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
sar eax, 1
cmp eax, dword [ecx + 0x160]
jl 0x4a5a3d
mov dword [edi + 0x19c], 0
mov dword [edi + 0x190], 0
jmp 0x4a5a3d
cmp dword [edi + 0x1a0], 0
je 0x4a595e
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x4a58fe
add eax, 0x160
mov dword [ebp - 0x298], eax
cmp dword [eax], 0
jle 0x4a58fe
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movd xmm0, dword [edi + 0x190]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
divss xmm0, dword [0x5bcbd0]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [edi + 0x190]
mov ecx, dword [ebp - 0x298]
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ecx]
mov eax, dword [0x6192d0]
mov ecx, dword [ebp - 0x294]
push edx
push dword [eax + 0x2a3d8]
call fcn.0045e140
jmp 0x4a5916
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xc8]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
mov eax, dword [edi + 0x180]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x184]
lea eax, [eax + ecx*2]
mov ecx, dword [eax*4 + 0x619db8]
mov eax, 0x2aaaaaab
imul dword [edi + 0x190]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [ecx + 0x160]
jl 0x4a5a3d
mov dword [edi + 0x1a0], 0
jmp 0x4a5a3d
cmp dword [edi + 0x198], 0
je 0x4a59c0
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x4a5a25
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a5a25
mov eax, dword [edi + 0x190]
cdq
sub eax, edx
mov esi, eax
mov eax, 0x66666667
imul edi
sar esi, 1
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x294]
add eax, eax
sub esi, eax
lea eax, [edi + esi]
cdq
idiv dword [ebp - 0x298]
jmp 0x4a5a12
mov eax, dword [ebp - 0x2b0]
test eax, eax
je 0x4a5a25
mov eax, dword [eax + 0x160]
mov dword [ebp - 0x298], eax
test eax, eax
jle 0x4a5a25
mov eax, dword [edi + 0x190]
cdq
and edx, 3
lea esi, [edx + eax]
mov eax, 0x66666667
imul edi
sar esi, 2
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x2b0]
add eax, eax
sub esi, eax
lea eax, [edi + esi]
cdq
idiv dword [ebp - 0x298]
push edx
mov eax, dword [0x6192d0]
push dword [eax + 0x2a3d8]
call fcn.0045e140
jmp 0x4a5a3d
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xc8]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
cmp dword [edi + 0x180], 0x1b
jne 0x4a5bbe
cmp dword [edi + 0x1ac], 0
movq xmm0, qword [edi + 0x114]
mov esi, dword [edi + 0x11c]
movq qword [ebp - 0x30c], xmm0
jne 0x4a5af2
call fcn.005619b8
mov ecx, dword [0x619a18]
sub esp, 0xc
movd xmm0, eax
mov eax, esp
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bda04]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x308]
movss dword [ebp - 0x308], xmm0
movq xmm0, qword [ebp - 0x30c]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.00519b10
sub esp, 0x10
mov eax, esp
push 5
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
mov dword [eax + 8], 0x3f800000
mov dword [eax + 0xc], 0x3f800000
mov ecx, dword [0x619a18]
call fcn.00519730
jmp 0x4a5bbe
call fcn.005619b8
mov ecx, dword [0x619a14]
sub esp, 0xc
movd xmm0, eax
mov eax, esp
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c00b0]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x308]
movss dword [ebp - 0x308], xmm0
movq xmm0, qword [ebp - 0x30c]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.00519b10
sub esp, 0x10
mov eax, esp
push 5
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
mov dword [eax + 8], 0x3f800000
mov dword [eax + 0xc], 0x3f800000
mov ecx, dword [0x619a14]
call fcn.00519730
movq xmm0, qword [ebp - 0x30c]
sub esp, 0xc
mov ecx, dword [0x619a38]
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0051be50
sub esp, 0x10
mov eax, esp
push 5
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
mov dword [eax + 8], 0x3f800000
mov dword [eax + 0xc], 0x3f800000
mov ecx, dword [0x619a38]
call fcn.0051b8f0
cmp dword [edi + 0x254], 0xffffffff
jle 0x4a6665
inc dword [edi + 0x258]
mov eax, dword [edi + 0x258]
cmp eax, 0x1e
jle 0x4a5be6
mov dword [edi + 0x254], 0xffffffff
cmp eax, 0xa
jle 0x4a6665
movq xmm0, qword [edi + 0x114]
xorps xmm1, xmm1
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x360], xmm0
movss xmm0, dword [edi + 0x25c]
comiss xmm0, dword [0x5bc028]
mov dword [ebp - 0x298], eax
jb 0x4a5c2b
mov dword [ebp - 0x2a0], 0xff
jmp 0x4a5c5a
comiss xmm1, xmm0
jb 0x4a5c3c
mov dword [ebp - 0x2a0], 0
jmp 0x4a5c5a
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov dword [ebp - 0x2a0], eax
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x260]
comiss xmm0, dword [0x5bc028]
jb 0x4a5c77
mov dword [ebp - 0x2a4], 0xff
jmp 0x4a5ca3
comiss xmm1, xmm0
jb 0x4a5c88
mov dword [ebp - 0x2a4], 0
jmp 0x4a5ca3
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov dword [ebp - 0x2a4], eax
movss xmm0, dword [edi + 0x264]
xorps xmm1, xmm1
comiss xmm0, dword [0x5bc028]
jb 0x4a5cbe
mov esi, 0xff
jmp 0x4a5ce1
comiss xmm1, xmm0
jb 0x4a5cc7
xor esi, esi
jmp 0x4a5ce1
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
mov esi, eax
xorps xmm1, xmm1
movss xmm0, dword [edi + 0x268]
comiss xmm0, dword [0x5bc028]
jb 0x4a5cf9
mov eax, 0xff
jmp 0x4a5d17
comiss xmm1, xmm0
jb 0x4a5d02
xor eax, eax
jmp 0x4a5d17
mulss xmm0, dword [0x5bceec]
addss xmm0, dword [0x5bcbcc]
call fcn.00554900
or eax, 0x5f
shl eax, 8
or eax, dword [ebp - 0x2a0]
shl eax, 8
or eax, dword [ebp - 0x2a4]
shl eax, 8
or eax, esi
mov dword [ebp - 0x2c4], eax
call fcn.005619b8
mov ecx, dword [ebp - 0x298]
sub esp, 0xc
movd xmm0, eax
mov eax, esp
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bd0d8]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x35c], xmm0
movq xmm0, qword [ebp - 0x360]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x619a38]
call fcn.0051be50
mov edx, dword [ebp - 0x2c4]
sub esp, 0x10
movss xmm1, dword [0x5c19b4]
mov eax, edx
shr eax, 0x10
mov ecx, esp
movzx eax, al
push 5
movd xmm0, eax
mov eax, edx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
movss dword [ecx], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, dl
shr edx, 0x18
mulss xmm0, xmm1
movss dword [ecx + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0xc], xmm0
mov ecx, dword [0x619a38]
call fcn.0051b8f0
jmp 0x4a6665
cmp eax, 0xe
je 0x4a6665
cmp eax, 6
jne 0x4a5e35
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xb0]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp eax, 0xc
jne 0x4a5e57
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x118]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp eax, 0xd
jne 0x4a5e6b
mov ecx, dword [edi + 0x17c]
mov ecx, dword [esi + ecx*4 + 0xe8]
jmp 0x4a5e76
cmp eax, 0x14
jne 0x4a5ea5
mov ecx, dword [esi + 0x10c]
mov eax, dword [0x6192d0]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
movss xmm0, dword [edi + 0x108]
addss xmm0, dword [0x5c19c0]
movss dword [edi + 0x108], xmm0
jmp 0x4a6665
cmp eax, 5
jne 0x4a5ec7
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xd4]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp eax, 7
jne 0x4a5f1e
mov cl, byte [edi + 0x18c]
cmp cl, 0xff
jne 0x4a5ef4
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0xe4]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp cl, 5
jae 0x4a6665
mov eax, dword [0x6192d0]
movzx ecx, cl
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [esi + ecx*4 + 0xb4]
call fcn.00462120
jmp 0x4a6665
cmp eax, 0x12
jne 0x4a5f4a
mov dword [edi + 0x108], 0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x110]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp eax, 0x13
jne 0x4a5f6c
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x114]
push 0
push dword [eax + 0x2a3d8]
call fcn.00462120
jmp 0x4a6665
cmp eax, 0xa
jne 0x4a5fb7
movq xmm0, qword [edi + 0x114]
sub esp, 0xc
mov eax, dword [edi + 0x11c]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a28]
call fcn.00519b10
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a28]
sub esp, 0x10
mov eax, esp
push 1
movups xmmword [eax], xmm0
call fcn.00519730
jmp 0x4a6665
cmp eax, 0x11
jne 0x4a650b
mov eax, dword [edi + 0x238]
movss xmm1, dword [0x5bc028]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5bb220]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x5bcbd0]
comiss xmm1, xmm0
movss dword [ebp - 0x2b0], xmm0
jbe 0x4a602c
call fcn.005619b8
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [esi + 0x208]
mov esi, 0xa
mov ecx, edx
cdq
idiv esi
cmp ecx, edx
jge 0x4a602c
movss xmm0, dword [0x5bc028]
movss dword [ebp - 0x2b0], xmm0
mov eax, dword [edi + 0x234]
test eax, eax
jne 0x4a6049
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
jmp 0x4a60e4
cmp eax, 1
jne 0x4a6123
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x318], xmm0
mov dword [ebp - 0x310], eax
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x318]
movss dword [ebp - 0x318], xmm0
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x310]
movss dword [ebp - 0x310], xmm0
movq xmm0, qword [ebp - 0x318]
mov eax, dword [ebp - 0x310]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a28]
call fcn.00519b10
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a28]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.00519730
jmp 0x4a6665
cmp eax, 2
jne 0x4a61bd
movq xmm0, qword [edi + 0x114]
mov esi, dword [edi + 0x11c]
movq qword [ebp - 0x36c], xmm0
call fcn.005619b8
mov ecx, dword [0x619a38]
sub esp, 0xc
movd xmm0, eax
mov eax, esp
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bd0d8]
divss xmm0, dword [0x5bcef0]
addss xmm0, dword [0x5bc024]
addss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x368], xmm0
movq xmm0, qword [ebp - 0x36c]
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.0051be50
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a38]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.0051b8f0
jmp 0x4a6665
cmp eax, 3
jne 0x4a6297
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x300], xmm0
mov dword [ebp - 0x2f8], eax
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x300]
movss dword [ebp - 0x300], xmm0
call fcn.005619b8
sub esp, 0xc
mov ecx, esp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x2f8]
movss dword [ebp - 0x2f8], xmm0
movq xmm0, qword [ebp - 0x300]
mov eax, dword [ebp - 0x2f8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a14]
call fcn.00519b10
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a14]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.00519730
jmp 0x4a6665
cmp eax, 4
jne 0x4a6394
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x324], xmm0
movss xmm0, dword [ebp - 0x320]
addss xmm0, dword [0x5c00cc]
mov dword [ebp - 0x31c], eax
movss dword [ebp - 0x298], xmm0
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x324]
movq qword [ebp - 0x2c8], xmm0
call fcn.005619b8
movss xmm1, dword [ebp - 0x298]
sub esp, 0xc
mov ecx, esp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x31c]
movss dword [ebp - 0x31c], xmm0
movq xmm0, qword [ebp - 0x2c8]
mov eax, dword [ebp - 0x31c]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a1c]
call fcn.00519b10
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a1c]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.00519730
jmp 0x4a6665
cmp eax, 5
jne 0x4a640e
movq xmm0, qword [edi + 0x114]
sub esp, 0xc
mov ecx, dword [edi + 0x11c]
mov eax, esp
movq qword [ebp - 0x2e4], xmm0
movss xmm0, dword [ebp - 0x2e0]
addss xmm0, dword [0x5c00a8]
movss dword [ebp - 0x2e0], xmm0
movq xmm0, qword [ebp - 0x2e4]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x619a20]
call fcn.00519b10
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a20]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.00519730
jmp 0x4a6665
cmp eax, 6
jne 0x4a6665
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x330], xmm0
movss xmm0, dword [ebp - 0x32c]
addss xmm0, dword [0x5c00ac]
mov dword [ebp - 0x328], eax
movss dword [ebp - 0x298], xmm0
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x330]
movq qword [ebp - 0x2c8], xmm0
call fcn.005619b8
movss xmm1, dword [ebp - 0x298]
sub esp, 0xc
mov ecx, esp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x328]
movss dword [ebp - 0x328], xmm0
movq xmm0, qword [ebp - 0x2c8]
mov eax, dword [ebp - 0x328]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a2c]
call fcn.0051ac80
movups xmm0, xmmword [edi + 0x224]
mov ecx, dword [0x619a2c]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x2b0]
push eax
call fcn.0051a870
jmp 0x4a6665
cmp eax, 8
jne 0x4a6535
mov eax, dword [0x6192d0]
movzx ecx, byte [edi + 0x18e]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [esi + ecx*4 + 0xcc]
call fcn.00462120
jmp 0x4a6665
cmp eax, 3
jne 0x4a6542
push dword [esi + 0x140]
jmp 0x4a6595
cmp eax, 4
jne 0x4a654f
push dword [esi + 0x144]
jmp 0x4a6595
cmp eax, 0x10
jne 0x4a658f
mov eax, dword [esi + 0x220]
test eax, eax
jle 0x4a6587
mov ecx, dword [esi + 0x138]
dec eax
mov dword [esi + 0x220], eax
mov eax, dword [edi + 0x190]
cdq
and edx, 3
add eax, edx
sar eax, 2
cdq
idiv dword [ecx + 0x160]
push edx
jmp 0x4a6655
mov ecx, dword [esi + 0x134]
jmp 0x4a656b
push dword [esi + 0x13c]
mov eax, dword [0x6192d0]
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xf4]
mov eax, dword [0x6192d0]
push 4
push 1
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 2
push 2
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 0
push 3
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov eax, dword [0x6192d0]
push 1
push 4
push 0
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xfc]
mov esi, dword [esi + 0x130]
mov eax, 0x55555556
imul dword [edi + 0x190]
mov ecx, dword [esi + 0x160]
mov eax, edx
add ecx, 0xa
shr eax, 0x1f
add eax, edx
cdq
idiv ecx
xor eax, eax
add edx, 0xfffffffb
cmovns eax, edx
cmp eax, 7
jle 0x4a6652
add eax, 0xfffffffb
mov ecx, 7
cmp eax, 7
cmovl eax, ecx
push eax
mov ecx, esi
mov eax, dword [0x6192d0]
push dword [eax + 0x2a3d8]
call fcn.0045e140
mov eax, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2ac]
cmp eax, dword [edi + 0x164]
jne 0x4a67ba
mov eax, dword [ebp - 0x2bc]
cmp eax, dword [edi + 0x168]
jne 0x4a67ba
or ecx, 0xffffffff
mov dword [ebp - 0x2a0], ecx
cmp edi, dword [esi + 0x10]
jne 0x4a66bf
mov eax, 0x2aaaaaab
imul dword [esi + 0x208]
mov eax, edx
shr eax, 0x1f
add eax, edx
test al, 1
je 0x4a66bf
mov dword [ebp - 0x2a0], 0xff50ff50
jmp 0x4a66e2
mov eax, dword [esi + 0x20c]
cmp eax, dword [edi + 0x17c]
jne 0x4a66e2
cmp dword [0x619a64], 0
mov eax, 0xffff0050
cmove ecx, eax
mov dword [ebp - 0x2a0], ecx
cmp dword [edi + 0x218], 0
movss xmm0, dword [0x5bc064]
movss dword [ebp - 0x2a4], xmm0
jle 0x4a671d
movd xmm1, dword [edi + 0x210]
movd xmm0, dword [edi + 0x214]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x2a4], xmm1
push 0x12c
call fcn.00554883
mov ecx, eax
add esp, 4
mov dword [ebp - 0x2d0], ecx
mov byte [ebp - 4], 6
test ecx, ecx
je 0x4a67a8
movss xmm0, dword [ebp - 0x2a4]
lea eax, [edi + 0x1b0]
push 0
push dword [ebp - 0x2a0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x11c]
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
addss xmm0, dword [0x5bc028]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x5bc050]
subss xmm0, dword [esi + 0x1f0]
movss dword [esp], xmm0
call fcn.0046b9d0
jmp 0x4a67aa
xor eax, eax
push eax
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0
call fcn.0044daf0
inc dword [edi + 0x190]
mov ecx, dword [esi + 0x18]
call fcn.0044dd50
mov edi, eax
mov dword [ebp - 0x2c4], eax
test edi, edi
jne 0x4a4830
mov ecx, dword [0x619a40]
call fcn.004f4f50
cmp dword [0x619a70], 0x64
jle 0x4a6820
mov ecx, dword [0x6193ec]
lea edx, [ebp - 0x2d4]
mov eax, dword [0x619a74]
push 0
push 0
mov dword [0x619a70], 0
mov byte [ebp - 0x2d4], 0x2f
mov dword [ebp - 0x2d3], eax
mov eax, dword [ecx]
push edx
push 5
call dword [eax + 4]
mov eax, dword [0x619a58]
cmp eax, 1
je 0x4a7350
cmp eax, 3
je 0x4a7350
mov eax, dword [0x6192d0]
push 5
push 0x13
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 6
push 0x14
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 1
push 0x1b
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 1
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov ecx, dword [esi + 0x1c]
call fcn.0044dcb0
mov edi, eax
test edi, edi
je 0x4a72fe
mov dword [ebp - 0x294], 0xff
nop dword [eax]
nop word [eax + eax]
movss xmm2, dword [edi + 0x114]
movsd xmm3, qword [0x5c1b20]
movaps xmm0, xmm2
subss xmm0, dword [0x619a78]
movss xmm4, dword [0x5c0160]
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x4a72e2
movss xmm1, dword [edi + 0x11c]
movaps xmm0, xmm1
subss xmm0, dword [0x619a80]
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x4a72e2
addss xmm2, dword [ebp - 0x2cc]
addss xmm1, dword [ebp - 0x2d8]
cvtps2pd xmm0, xmm2
movss dword [ebp - 0x2c4], xmm1
movsd qword [ebp - 0x2f0], xmm0
fld qword [ebp - 0x2f0]
movsd qword [ebp - 0x348], xmm0
movaps xmm0, xmm1
xorps xmm0, xmmword [0x5bcbf0]
cvtss2sd xmm0, xmm0
movsd qword [ebp - 0x2d4], xmm0
fld qword [ebp - 0x2d4]
call fcn.0058430a
fstp qword [ebp - 0x2d4]
movsd xmm0, qword [ebp - 0x2d4]
sub esp, 8
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044d140
fstp dword [ebp - 0x298]
movss xmm0, dword [ebp - 0x298]
subss xmm0, dword [esi + 0x1f0]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0044d0e0
movsd xmm1, qword [0x5c1b20]
add esp, 8
movss xmm2, dword [0x5c19d8]
fstp dword [ebp - 0x298]
fld dword [ebp - 0x298]
fstp qword [ebp - 0x2d4]
movsd xmm0, qword [ebp - 0x2d4]
andps xmm0, xmm1
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
ja 0x4a6a27
movsd xmm0, qword [ebp - 0x348]
movss xmm2, dword [0x5c1a04]
andps xmm0, xmm1
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x4a7240
movss xmm0, dword [ebp - 0x2c4]
cvtps2pd xmm0, xmm0
andps xmm0, xmm1
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x4a7240
mov eax, dword [0x619a58]
mov ecx, edi
cmp eax, 4
je 0x4a6e6a
cmp eax, 2
je 0x4a6ba2
call fcn.0044c2c0
cmp eax, 0x10
jbe 0x4a6b34
mov eax, dword [0x5fd8a4]
mov ecx, dword [edi + 0x17c]
mov dword [ebp - 0x2a0], ecx
test eax, eax
je 0x4a7240
cmp eax, 1
je 0x4a6a73
cmp eax, 2
jne 0x4a6a87
add ecx, ecx
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x2a0], ecx
xor edx, edx
mov dword [ebp - 0x2c4], edx
test ecx, ecx
jle 0x4a7240
xor ecx, ecx
mov dword [ebp - 0x2a4], ecx
nop
mov eax, dword [edi + 0x174]
sub esp, 0x10
movss xmm0, dword [ecx + eax + 8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx + eax + 4]
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx + eax]
mov ecx, esi
movss dword [esp + 4], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5bcee4]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, edi
push 0
push dword [eax + 0x2a3d8]
call fcn.0044c2c0
mov ecx, dword [eax*4 + 0x61aac0]
call fcn.00462120
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2a4]
inc edx
add ecx, 0xc
mov dword [ebp - 0x2c4], edx
mov dword [ebp - 0x2a4], ecx
cmp edx, dword [ebp - 0x2a0]
jl 0x4a6aa0
jmp 0x4a7240
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, edi
push 0
push dword [eax + 0x2a3d8]
call fcn.0044c2c0
mov ecx, dword [eax*4 + 0x61aac0]
call fcn.00462120
jmp 0x4a7240
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x2e4], xmm0
mov dword [ebp - 0x298], eax
call fcn.0044c2c0
add eax, 2
cmp eax, 8
jne 0x4a6c37
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x168]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1c4]
call fcn.00462120
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 9
jne 0x4a6cb2
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x168]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1c8]
call fcn.00462120
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 0xe
jne 0x4a6d35
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
subss xmm0, dword [0x5bc028]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x168]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1cc]
call fcn.00462120
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 2
jne 0x4a7240
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x168]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1d0]
call fcn.00462120
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x4a6dc2
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4a7240
test byte [0x60f888], 2
je 0x4a7240
movss xmm0, dword [ebp - 0x2e0]
sub esp, 0xc
addss xmm0, dword [0x5bc038]
mov ecx, dword [ebp - 0x298]
mov eax, esp
movss dword [ebp - 0x2e0], xmm0
movq xmm0, qword [ebp - 0x2e4]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [0x619a14]
call fcn.00519b10
mov eax, dword [esi + 0x168]
sub esp, 0x10
cmp dword [eax + 0x1c0], 4
mov eax, esp
push 1
mov dword [eax], 0x3f800000
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0x3e5cdcde
jne 0x4a6e53
mov dword [eax + 4], 0x3e70f0f2
mov ecx, dword [0x619a14]
call fcn.00519730
jmp 0x4a7240
mov dword [eax + 4], 0x3f800000
mov ecx, dword [0x619a14]
call fcn.00519730
jmp 0x4a7240
movq xmm0, qword [edi + 0x114]
mov eax, dword [edi + 0x11c]
movq qword [ebp - 0x2b8], xmm0
mov dword [ebp - 0x2b0], eax
call fcn.0044c2c0
add eax, 2
cmp eax, 0xe
jne 0x4a6fdc
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0098]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5c0094]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x298], xmm0
movss dword [ebp - 0x2b8], xmm0
call fcn.005619b8
sub esp, 0xc
mov ecx, esp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5c0098]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5c0094]
addss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x2b0], xmm0
movq xmm0, qword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b0]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, dword [0x619a14]
call fcn.00519b10
cvttss2si ecx, dword [ebp - 0x298]
sub esp, 0x10
movss xmm1, dword [0x5c19b4]
lea eax, [ecx + 0x50]
cdq
idiv dword [ebp - 0x294]
movzx eax, dl
mov dword [ebp - 0x298], eax
mov eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov ecx, esp
movzx eax, dl
mov edx, dword [ebp - 0x298]
shl eax, 8
or edx, eax
shl edx, 8
or edx, 0x370000ff
mov eax, edx
shr eax, 0x10
movzx eax, al
push 1
movd xmm0, eax
mov eax, edx
cvtdq2ps xmm0, xmm0
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
movss dword [ecx], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, dl
shr edx, 0x18
mulss xmm0, xmm1
movss dword [ecx + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0xc], xmm0
mov ecx, dword [0x619a14]
call fcn.00519730
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 2
jne 0x4a7057
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x164]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1c8]
call fcn.00462120
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 3
jne 0x4a70d2
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x164]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1cc]
call fcn.00462120
jmp 0x4a7240
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 0xf
jne 0x4a714d
movss xmm0, dword [edi + 0x11c]
sub esp, 0x10
mov ecx, esi
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edi + 0x118]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x108]
mulss xmm0, dword [0x5bc064]
movss dword [esp], xmm0
call fcn.004ae6c0
mov eax, dword [0x6192d0]
mov ecx, dword [esi + 0x164]
push 0
push dword [eax + 0x2a3d8]
mov ecx, dword [ecx + 0x1c4]
call fcn.00462120
jmp 0x4a7240
call fcn.005619b8
and eax, reloc.WS2_32.dll_closesocket
jns 0x4a7160
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x4a7240
test byte [0x60f888], 2
je 0x4a7240
call fcn.005619b8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x2b8]
movq qword [ebp - 0x2d4], xmm0
call fcn.005619b8
movq xmm1, qword [ebp - 0x2d4]
sub esp, 0xc
mov ecx, esp
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5bcbd0]
divss xmm0, dword [0x5bcef0]
subss xmm0, dword [0x5bcbe0]
addss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [ebp - 0x2b4]
addss xmm0, dword [0x5c00ac]
mov eax, dword [ebp - 0x2b0]
unpcklps xmm1, xmm0
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
mov ecx, dword [0x619a2c]
call fcn.0051ac80
sub esp, 0x10
mov eax, esp
push 1
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
mov dword [eax + 8], 0x3f800000
mov dword [eax + 0xc], 0x3e5cdcde
mov ecx, dword [0x619a2c]
call fcn.0051a870
cmp dword [0x619a58], 2
jne 0x4a72ec
mov ecx, edi
call fcn.0044c2c0
add eax, 2
cmp eax, 2
jne 0x4a72ec
test byte [0x60f888], al
je 0x4a72ec
mov eax, dword [esi + 0x168]
sub esp, 0x1c
movss xmm0, dword [edi + 0x11c]
mov ecx, esi
cmp dword [eax + 0x1c0], 4
mov dword [esp + 0x18], 0x41f00000
mov dword [esp + 0x14], 0x3e4ccccd
jne 0x4a72a2
mov dword [esp + 0x10], 0x3e4ccccd
jmp 0x4a72aa
mov dword [esp + 0x10], 0x3f800000
mov dword [esp + 0xc], 0x3f800000
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x118]
addss xmm0, dword [0x5bc038]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x114]
movss dword [esp], xmm0
call fcn.004a3450
jmp 0x4a72ec
mov dword [edi + 0x160], 1
mov ecx, dword [esi + 0x1c]
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x4a68c0
mov ecx, dword [esi + 0x1c]
call fcn.0044dcb0
mov edi, eax
test edi, edi
je 0x4a7350
nop dword [eax]
cmp dword [edi + 0x160], 0
je 0x4a7342
mov ecx, dword [esi + 0x1c]
push edi
call fcn.0044dea0
cmp dword [edi + 0x16c], 0xffffffff
jle 0x4a733a
mov ecx, dword [esi + 4]
push edi
push dword [edi + 0x170]
call fcn.004f4580
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov ecx, dword [esi + 0x1c]
call fcn.0044dd50
mov edi, eax
test edi, edi
jne 0x4a7310
mov eax, dword [0x6192d0]
lea edx, [ebp - 0x110]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xd4], 0x3f800000
mov dword [ebp - 0xe8], 0x3f800000
mov dword [ebp - 0xfc], 0x3f800000
mov dword [ebp - 0x110], 0x3f800000
mov eax, dword [eax + 0x2a3d8]
push edx
push 0x100
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
cmp dword [0x619a58], 0
jne 0x4a7521
cmp dword [0x5fd8a4], 0
je 0x4a7521
mov ecx, dword [0x619a44]
call fcn.0052cb00
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a44]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0052ca80
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a48]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0052ca80
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a4c]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0052ca80
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a50]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0052ca80
mov eax, dword [0x6192d0]
push 0
push 0x1c
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0
push 0x89
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
lea ecx, [ebp - 0x340]
call fcn.0044dcb0
test eax, eax
je 0x4a7592
nop dword [eax]
nop word [eax + eax]
push dword [esi + 0x14c]
mov ecx, eax
push dword [esi + 0x148]
call fcn.0046baa0
lea ecx, [ebp - 0x340]
call fcn.0044dd50
test eax, eax
jne 0x4a7570
mov eax, dword [0x6192d0]
push 0
push 0x89
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 0
push 0xe
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
lea edx, [ebp - 0x110]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xd4], 0x3f800000
mov dword [ebp - 0xe8], 0x3f800000
mov dword [ebp - 0xfc], 0x3f800000
mov dword [ebp - 0x110], 0x3f800000
mov eax, dword [eax + 0x2a3d8]
push edx
push 0x100
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
mov ecx, dword [0x619a10]
call fcn.005199c0
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a10]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a14]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a18]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
mov ecx, dword [0x619a1c]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a20]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a24]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a2c]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00519d50
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a28]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00518c90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a30]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0051c0c0
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a38]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0051ae90
sub esp, 0x40
mov eax, esp
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a3c]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.00521460
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a40]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.004f4e90
movups xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [0x619a34]
sub esp, 0x40
mov eax, esp
movups xmmword [eax], xmm0
movups xmm0, xmmword [ebp - 0xc0]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [eax + 0x30], xmm0
call fcn.0051d170
mov eax, dword [0x6192d0]
push 1
push 0xe
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 1
push 0x89
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 1
push 0x16
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 5
push 0x13
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 6
push 0x14
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [0x6192d0]
push 2
push 9
mov eax, dword [eax + 0x2a3d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [0x619a6c], 0
mov edi, eax
je 0x4a7b05
cmp dword [esi + 0x288], 0
je 0x4a7b05
mov ecx, dword [0x6192d0]
push 0
call fcn.0045beb0
mov ecx, edi
mov esi, eax
sub ecx, dword [0x619a6c]
jne 0x4a7a73
lea eax, [ebp - 0x90]
push str.FPS_38
push eax
call fcn.0045dc60
add esp, 8
jmp 0x4a7a91
xor edx, edx
mov eax, 0x3e8
div ecx
push eax
lea eax, [ebp - 0x90]
push str.FPS__d
push eax
call fcn.0045dc60
add esp, 0xc
mov ecx, dword [0x6192d0]
call fcn.0045d900
mov ecx, dword [0x6192d0]
sub eax, 0xb4
mov dword [ebp - 0x2e8], eax
call fcn.0045d8f0
mov ecx, dword [0x6192d0]
sub eax, 0xc
mov dword [ebp - 0x2e4], eax
call fcn.0045d900
mov ecx, dword [0x6192d0]
sub eax, 0x82
mov dword [ebp - 0x2e0], eax
call fcn.0045d8f0
mov dword [ebp - 0x2dc], eax
mov ecx, esi
movups xmm0, xmmword [ebp - 0x2e8]
push 0
lea eax, [ebp - 0x90]
push eax
push 0xffffffffffffffff
push 0
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.00451b10
push str.BBOClient::Draw_13__n
mov ecx, 0x6190cc
mov dword [0x619a6c], edi
call fcn.00447e60
lea ecx, [ebp - 0x340]
call fcn.0044d890
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005548c1
mov esp, ebp
pop ebp
ret