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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x628
call fcn.180122880
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax + 0x93]
test eax, eax
je 0x180160ca2
xor al, al
jmp 0x18016519d
mov rax, qword [0x1802e4d90]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x68]
add rax, 0x1570
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x176], 0
mov eax, dword [rsp + 0x658]
and eax, 0x4000000
test eax, eax
je 0x180160cf1
mov byte [rsp + 0xc3], 1
jmp 0x180160cf9
mov byte [rsp + 0xc3], 0
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x658]
and eax, 0x4000
test eax, eax
je 0x180160d1f
mov byte [rsp + 0xc4], 1
jmp 0x180160d27
mov byte [rsp + 0xc4], 0
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x658]
and eax, 0x8000
test eax, eax
je 0x180160d4d
mov byte [rsp + 0xc5], 1
jmp 0x180160d55
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x81], al
mov eax, dword [rsp + 0x658]
and eax, 0x10000
test eax, eax
jne 0x180160d7e
mov byte [rsp + 0xc6], 1
jmp 0x180160d86
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0xba], al
mov eax, dword [rsp + 0x658]
and eax, 0x40000
test eax, eax
je 0x180160daf
mov byte [rsp + 0xc7], 1
jmp 0x180160db7
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x8b]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180160ddc
call fcn.1800fa970
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
mov rcx, qword [rsp + 0x128]
call fcn.180105da0
mov dword [rsp + 0x74], eax
vmovss xmm0, dword [0x180278ecc]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
lea rcx, [rsp + 0x2b0]
call fcn.1800fe190
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180160e4a
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmulss xmm0, xmm0, dword [0x1801e0410]
vmovss dword [rsp + 0x214], xmm0
jmp 0x180160e5c
vmovss xmm0, dword [rsp + 0x2b4]
vmovss dword [rsp + 0x214], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x180278dc8]
vmovss xmm1, dword [rsp + 0x214]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x32c], xmm0
call fcn.1800fa310
vmovss dword [rsp + 0x330], xmm0
mov rax, qword [rsp + 0x650]
mov rax, qword [rax]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x4e0], rax
vmovss xmm3, dword [rsp + 0x32c]
vmovss xmm2, dword [rsp + 0x330]
mov rdx, qword [rsp + 0x4e0]
lea rcx, [rsp + 0x2b8]
call fcn.180109e40
vmovss xmm0, dword [rsp + 0x2bc]
vmovss dword [rsp + 0x360], xmm0
vmovss xmm0, dword [rsp + 0x2b0]
vcomiss xmm0, dword [0x1801e03b4]
jbe 0x180160f25
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x54]
vaddss xmm0, xmm0, dword [rsp + 0x2b0]
vmovss dword [rsp + 0x218], xmm0
jmp 0x180160f32
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x218], xmm0
vmovss xmm0, dword [rsp + 0x2b8]
vaddss xmm0, xmm0, dword [rsp + 0x218]
vmovss xmm2, dword [rsp + 0x360]
vmovups xmm1, xmm0
lea rcx, [rsp + 0x4e8]
call fcn.1800867a0
mov rax, qword [rsp + 0x128]
add rax, 0xd8
lea r8, [rsp + 0x2b8]
mov rdx, rax
lea rcx, [rsp + 0x5b0]
call fcn.180155690
mov rcx, qword [rsp + 0x128]
add rcx, 0xd8
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x158]
call fcn.180120eb0
lea r8, [rsp + 0x4e8]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5b8]
call fcn.180155690
mov r8, rax
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x3d0]
call fcn.180120eb0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2b8]
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x170], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801611f4
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x4f0], rax
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.180109920
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3d0]
call fcn.180109960
movzx eax, al
test eax, eax
jne 0x180161076
call fcn.1800fab70
xor al, al
jmp 0x18016519d
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1ce0]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x4f0]
mov qword [rax + 0xd8], rcx
mov eax, reloc.WS2_32.dll_recv
imul rax, rax, 7
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xc8]
mov rdx, rax
mov ecx, 3
call fcn.1800f9d30
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1800f9e60
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.1800f9e60
lea rdx, [rsp + 0x5c0]
lea rcx, [rsp + 0x158]
call fcn.180122a70
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x630]
call fcn.18010a850
mov byte [rsp + 0xf0], al
mov ecx, 2
call fcn.1800f9fc0
mov ecx, 1
call fcn.1800f9dd0
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x18016115f
call fcn.1800f8940
call fcn.1800fab70
xor al, al
jmp 0x18016519d
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov ecx, 1
mov eax, dword [rax + 0x124]
shlx eax, ecx, eax
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x12a]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x12a], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xd0]
add rcx, 0xd8
mov rdx, rax
call fcn.180155750
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x110]
vsubss xmm0, xmm0, dword [rax + 0x84]
vmovss dword [rsp + 0x110], xmm0
jmp 0x18016125d
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.180109920
mov eax, dword [rsp + 0x658]
and eax, 0x10000000
test eax, eax
jne 0x18016124b
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3d0]
call fcn.180109960
movzx eax, al
test eax, eax
jne 0x18016124b
xor al, al
jmp 0x18016519d
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1ce0]
mov dword [rsp + 0x170], eax
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x158]
call fcn.180109b70
mov byte [rsp + 0x82], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180161290
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x1fa8], 1
mov ecx, dword [rsp + 0x74]
call fcn.18017c1e0
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x170]
and eax, 0x100
test eax, eax
je 0x1801612b8
mov byte [rsp + 0xc8], 1
jmp 0x1801612c0
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0xa5], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x18016131a
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1e34], ecx
je 0x180161310
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1e28], ecx
jne 0x18016131a
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1e50], 2
jne 0x18016131a
mov byte [rsp + 0xc9], 1
jmp 0x180161322
mov byte [rsp + 0xc9], 0
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180161361
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x180161361
mov byte [rsp + 0x9c], 1
jmp 0x180161369
mov byte [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0xa6], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801613c0
cmp qword [rsp + 0x58], 0
je 0x1801613c0
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1c6c], 0
jne 0x1801613c0
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.18015c9b0
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1ca8], eax
jne 0x1801613c0
mov byte [rsp + 0x9d], 1
jmp 0x1801613c8
mov byte [rsp + 0x9d], 0
movzx eax, byte [rsp + 0x9d]
mov byte [rsp + 0xf1], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180161411
cmp qword [rsp + 0x58], 0
je 0x180161411
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.18015c9b0
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1c6c], eax
jne 0x180161411
mov byte [rsp + 0x9e], 1
jmp 0x180161419
mov byte [rsp + 0x9e], 0
movzx eax, byte [rsp + 0x9e]
mov byte [rsp + 0xa8], al
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180161456
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x60]
vmovss dword [rsp + 0x1f4], xmm0
jmp 0x180161467
vmovss xmm0, dword [0x180278eb0]
vmovss dword [rsp + 0x1f4], xmm0
vmovss xmm0, dword [rsp + 0x1f4]
vmovss dword [rsp + 0x98], xmm0
cmp qword [rsp + 0x58], 0
je 0x1801614be
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180161497
mov dword [rsp + 0x21c], 1
jmp 0x1801614a2
mov dword [rsp + 0x21c], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x21c]
je 0x1801614be
mov byte [rsp + 0x9f], 1
jmp 0x1801614c6
mov byte [rsp + 0x9f], 0
movzx eax, byte [rsp + 0x9f]
mov byte [rsp + 0xa2], al
movzx eax, byte [rsp + 0xa6]
test eax, eax
jne 0x18016150f
movzx eax, byte [rsp + 0xf1]
test eax, eax
jne 0x18016150f
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x18016150f
movzx eax, byte [rsp + 0xa5]
test eax, eax
jne 0x18016150f
mov byte [rsp + 0xa0], 0
jmp 0x180161517
mov byte [rsp + 0xa0], 1
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
jne 0x180161548
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x180161548
mov byte [rsp + 0xa1], 0
jmp 0x180161550
mov byte [rsp + 0xa1], 1
movzx eax, byte [rsp + 0xa1]
mov byte [rsp + 0xa7], al
movzx eax, byte [rsp + 0xa7]
test eax, eax
je 0x18016157c
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x18016158c
movzx eax, byte [rsp + 0xa2]
test eax, eax
je 0x1801617f6
mov rax, qword [rsp + 0x68]
add rax, 0x2128
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.18017bf80
mov rcx, qword [rsp + 0x640]
call fcn.1801a75d0
mov dword [rsp + 0x224], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x4f8], rax
mov eax, dword [rsp + 0x224]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x4f8]
call fcn.180124f70
mov eax, dword [rsp + 0x224]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x640]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x38]
call fcn.1801ca540
mov qword [rsp + 0x3b0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x510], rax
mov eax, dword [rsp + 0x648]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x510]
call fcn.180124fc0
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x3f0], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f0]
call fcn.180124f70
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x640]
mov edx, dword [rsp + 0x648]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180103ec0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x3b0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
cmp dword [rax], ecx
jne 0x1801616db
movzx eax, byte [rsp + 0xa2]
test eax, eax
jne 0x1801616db
mov byte [rsp + 0xa3], 1
jmp 0x1801616e3
mov byte [rsp + 0xa3], 0
movzx eax, byte [rsp + 0xa3]
mov byte [rsp + 0xa4], al
movzx eax, byte [rsp + 0xa4]
test eax, eax
je 0x18016170a
mov rcx, qword [rsp + 0x58]
call fcn.18017bfa0
jmp 0x18016175c
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180161739
mov dword [rsp + 0x228], 1
jmp 0x180161744
mov dword [rsp + 0x228], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x228]
mov rcx, rax
call fcn.18016bf80
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1801617dd
mov eax, dword [rsp + 0x658]
and eax, 0x10
test eax, eax
je 0x18016177b
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1801617ad
movzx eax, byte [rsp + 0xa4]
test eax, eax
je 0x1801617a5
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1e38]
and eax, 4
test eax, eax
jne 0x1801617ad
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0xa5]
test eax, eax
jne 0x1801617d5
movzx eax, byte [rsp + 0xa6]
test eax, eax
je 0x1801617dd
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x1801617dd
mov byte [rsp + 0x80], 1
mov eax, dword [rsp + 0x658]
and eax, 0x2000
test eax, eax
je 0x1801617f6
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x18016191d
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18016191d
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.180109110
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.1801092c0
mov rcx, qword [rsp + 0x128]
call fcn.180106950
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c80]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c80], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18016187c
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x180161895
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c80]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c84]
or eax, 2
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c84], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 0x180
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801618f1
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 0x60
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
mov eax, dword [rsp + 0x658]
and eax, 0x440
test eax, eax
je 0x18016191d
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 1
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x18016193b
cmp qword [rsp + 0x58], 0
jne 0x18016193b
call fcn.1801093f0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180161983
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x180161983
movzx eax, byte [rsp + 0xa7]
test eax, eax
jne 0x180161983
movzx eax, byte [rsp + 0x88]
test eax, eax
jne 0x180161983
mov byte [rsp + 0x70], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x1801619b2
cmp qword [rsp + 0x58], 0
je 0x1801619a8
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x1801619b2
mov byte [rsp + 0xa9], 0
jmp 0x1801619ba
mov byte [rsp + 0xa9], 1
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0x62], al
cmp qword [rsp + 0x58], 0
je 0x180161a07
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
jne 0x1801619eb
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180161a07
xor eax, eax
test eax, eax
jne 0x1801619fa
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180161a07
mov dword [rsp + 0x22c], 1
jmp 0x180161a12
mov dword [rsp + 0x22c], 0
movzx eax, byte [rsp + 0x22c]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x8c], 0
mov byte [rsp + 0x87], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180161b18
cmp qword [rsp + 0x58], 0
je 0x180161b18
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180161a5d
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x180161b18
mov qword [rsp + 0x3b8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x3f8], rax
mov eax, dword [rsp + 0x648]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3f8]
call fcn.180124fc0
lea rax, [rsp + 0x3b8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x640]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180103ec0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x3b8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.18017bfa0
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x2e8], eax
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
mov ecx, dword [rsp + 0x2e8]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180161b3b
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x180161b3b
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180161b63
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180161b63
cmp qword [rsp + 0x58], 0
je 0x180161b63
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x180161b63
mov byte [rsp + 0xaa], 1
jmp 0x180161b6b
mov byte [rsp + 0xaa], 0
movzx eax, byte [rsp + 0xaa]
mov byte [rsp + 0xc2], al
cmp qword [rsp + 0x638], 0
je 0x180161bd7
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x180161ba4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3c0], rax
jmp 0x180161bb4
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x3c0], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x3c0]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180161bd7
mov byte [rsp + 0xab], 1
jmp 0x180161bdf
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [rsp + 0x63], al
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180161d17
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180161d17
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x400], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x400]
call fcn.180130e70
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x68]
add rax, 0x2fc0
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x14]
vmovss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x5c]
vmovss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x60]
vmovss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x64]
vmovss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x3c8]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x3c8]
vmovss xmm0, dword [rcx + 4]
vmovss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x140]
call fcn.1800f9b40
mov dword [rsp + 0x17c], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x1801624a1
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x17c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x648]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x658]
mov dword [rax + 0xe80], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x660]
mov qword [rax + 0xe88], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x668]
mov qword [rax + 0xe90], rcx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
jne 0x180161dc2
mov dword [rsp + 0x230], 1
jmp 0x180161dcd
mov dword [rsp + 0x230], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x230]
mov byte [rax + 0x1c79], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x33ac], 1
mov rax, qword [rsp + 0x78]
vmovss xmm0, dword [rax + 0x120]
vsubss xmm0, xmm0, dword [rsp + 0x158]
mov rax, qword [rsp + 0xe0]
vsubss xmm0, xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
vaddss xmm0, xmm0, dword [rax + 0x48]
vmovss dword [rsp + 0x184], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180161e56
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x124]
vsubss xmm0, xmm0, dword [rcx + 0xdc]
vmovss dword [rsp + 0x234], xmm0
jmp 0x180161e74
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmulss xmm0, xmm0, dword [0x180278ccc]
vmovss dword [rsp + 0x234], xmm0
vmovss xmm0, dword [rsp + 0x234]
vmovss dword [rsp + 0x168], xmm0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xc1]
mov byte [rsp + 0xfa], al
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180161ec0
mov rcx, qword [rsp + 0x58]
call fcn.18017c3d0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x1801621fe
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180162103
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x422]
cmp eax, 2
jl 0x180162103
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
jne 0x180162103
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801697f0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x422]
sub eax, 2
mov dword [rsp + 0x328], eax
mov eax, dword [rsp + 0x328]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x180162041
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x4c], 0
je 0x180161f95
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.180168cf0
movzx eax, ax
cmp eax, 0xa
je 0x180161f95
mov byte [rsp + 0xac], 0
jmp 0x180161f9d
mov byte [rsp + 0xac], 1
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0xf2], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x180161fca
movzx eax, byte [rsp + 0xf2]
test eax, eax
jne 0x180161fd9
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x180161ffc
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rcx, rax
call fcn.18016a5d0
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.180169180
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18016a2a0
jmp 0x1801620f4
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.180168cf0
movzx eax, ax
cmp eax, 0xa
jne 0x180162065
mov byte [rsp + 0xad], 1
jmp 0x18016206d
mov byte [rsp + 0xad], 0
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xf3], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
movzx eax, byte [rsp + 0xf3]
test eax, eax
jne 0x1801620e8
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801620e8
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, qword [rsp + 0x58]
add rcx, 0x50
mov rdx, rax
call fcn.18016c090
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
mov rcx, qword [rsp + 0x58]
call fcn.18017bf80
jmp 0x1801621fe
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x180162170
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x180162170
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18016216b
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801697f0
mov rcx, qword [rsp + 0x58]
call fcn.18017bf80
jmp 0x1801621fe
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
je 0x1801621fe
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x1801621fe
mov rax, qword [rsp + 0x78]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x3ac]
jne 0x1801621c0
mov rax, qword [rsp + 0x78]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x3b0]
je 0x1801621fe
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801698a0
mov rcx, qword [rsp + 0x58]
call fcn.18017bf80
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x180162234
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
jne 0x180162234
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162254
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
je 0x18016227a
movzx eax, byte [rsp + 0xfa]
test eax, eax
je 0x180162270
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
jne 0x18016227a
mov byte [rsp + 0xae], 0
jmp 0x180162282
mov byte [rsp + 0xae], 1
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0xaf], al
mov eax, dword [rsp + 0x658]
and eax, 0x400
test eax, eax
je 0x180162375
mov dl, 1
xor ecx, ecx
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162375
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x180162375
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
jne 0x180162375
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180162375
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x408], rax
mov eax, 9
mov word [rsp + 0x174], ax
lea rdx, [rsp + 0x174]
mov rcx, qword [rsp + 0x408]
call fcn.18017c460
movzx eax, al
test eax, eax
jne 0x180162375
mov dword [rsp + 0x238], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x238]
call fcn.180167030
movzx eax, al
test eax, eax
je 0x180162375
mov edx, dword [rsp + 0x238]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x1558], 0
jle 0x1801624a1
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x18016247f
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18016247f
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x18016247f
mov dword [rsp + 0x13c], 0
jmp 0x1801623d1
mov eax, dword [rsp + 0x13c]
inc eax
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x1558]
cmp dword [rsp + 0x13c], eax
jge 0x18016247f
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x410], rax
mov edx, dword [rsp + 0x13c]
mov rcx, qword [rsp + 0x410]
call fcn.180121840
movzx eax, word [rax]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 9
jne 0x180162436
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
je 0x180162436
jmp 0x1801623c1
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x180]
call fcn.180167030
movzx eax, al
test eax, eax
je 0x18016247a
mov edx, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x1801623c1
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x418], rax
xor edx, edx
mov rcx, qword [rsp + 0x418]
call fcn.180124fc0
mov byte [rsp + 0x85], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x1801634c7
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x1c78]
test eax, eax
jne 0x1801634c7
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1801634c7
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x114]
vsubss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x68]
vdivss xmm0, xmm0, dword [rax + 0x1990]
vcvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.180168b20
mov dword [rsp + 0x16c], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x16c]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
je 0x180162545
mov dword [rsp + 0x23c], 0x400000
jmp 0x180162550
mov dword [rsp + 0x23c], 0
mov eax, dword [rsp + 0x23c]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xc1]
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180162595
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 0xa
jne 0x180162595
mov byte [rsp + 0xb0], 1
jmp 0x18016259d
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0xf8], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x1801625cd
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
mov byte [rsp + 0xb1], al
jmp 0x1801625e0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
mov byte [rsp + 0xb1], al
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180162635
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
je 0x180162635
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
jne 0x180162635
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
jne 0x180162635
mov byte [rsp + 0xb2], 1
jmp 0x18016263d
mov byte [rsp + 0xb2], 0
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x83], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 1
jne 0x180162664
mov byte [rsp + 0xb3], 1
jmp 0x18016266c
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0xf9], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 2
jne 0x180162693
mov byte [rsp + 0xb4], 1
jmp 0x18016269b
mov byte [rsp + 0xb4], 0
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0xb7], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xc9]
test eax, eax
je 0x1801626f0
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 8
jne 0x1801626d5
mov dword [rsp + 0x240], 1
jmp 0x1801626e0
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x248], eax
jmp 0x180162724
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 1
jne 0x18016270b
mov dword [rsp + 0x244], 1
jmp 0x180162716
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
mov dword [rsp + 0x248], eax
movzx eax, byte [rsp + 0x248]
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18016274c
mov dl, 1
mov ecx, reloc.WS2_32.dll_send
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x18016276b
movzx eax, byte [rsp + 0xb7]
test eax, eax
je 0x1801627a4
mov dl, 1
mov ecx, 0xa
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x1801627a4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801627a4
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x1801627a4
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18016279a
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
je 0x1801627a4
mov byte [rsp + 0xb5], 1
jmp 0x1801627ac
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xc1], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1801627d7
mov dl, 1
mov ecx, send
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x1801627f6
movzx eax, byte [rsp + 0xf9]
test eax, eax
je 0x180162826
mov dl, 1
mov ecx, 9
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162826
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x180162826
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18016281c
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
je 0x180162826
mov byte [rsp + 0xb6], 1
jmp 0x18016282e
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xec], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180162859
mov dl, 1
mov ecx, reloc.WS2_32.dll_select
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x180162878
movzx eax, byte [rsp + 0xb7]
test eax, eax
je 0x18016288b
mov dl, 1
mov ecx, 9
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x18016288b
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18016288b
mov byte [rsp + 0xb8], 1
jmp 0x180162893
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0xed], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1801628dd
mov dl, 1
mov ecx, socket
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x1801628dd
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801628dd
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x1801628dd
mov byte [rsp + 0xb9], 1
jmp 0x1801628e5
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180162910
mov dl, 1
mov ecx, socket
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x18016292f
movzx eax, byte [rsp + 0xf8]
test eax, eax
je 0x18016294e
mov dl, 1
mov ecx, socket
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x18016294e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18016294e
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x18016294e
mov byte [rsp + 0xbb], 1
jmp 0x180162956
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xeb], al
mov dl, 1
mov ecx, recv
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x180162995
mov dl, 1
mov ecx, send
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x180162995
mov byte [rsp + 0xbc], 0
jmp 0x18016299d
mov byte [rsp + 0xbc], 1
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xe8], al
mov edx, 1
xor ecx, ecx
call fcn.180122e70
movzx eax, al
test eax, eax
je 0x1801629d2
mov dl, 1
mov ecx, recv
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x1801629f2
mov edx, 1
mov ecx, 2
call fcn.180122e70
movzx eax, al
test eax, eax
jne 0x1801629f2
mov byte [rsp + 0xbd], 0
jmp 0x1801629fa
mov byte [rsp + 0xbd], 1
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0xe9], al
mov dl, 1
mov ecx, recv
call fcn.180122dc0
movzx eax, al
test eax, eax
jne 0x180162a3c
mov edx, 1
mov ecx, 1
call fcn.180122e70
movzx eax, al
test eax, eax
jne 0x180162a3c
mov byte [rsp + 0xbe], 0
jmp 0x180162a44
mov byte [rsp + 0xbe], 1
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xea], al
mov dl, 1
mov ecx, 1
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162ad4
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180162a7f
mov dword [rsp + 0x250], 0x200004
jmp 0x180162ab1
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180162a98
mov dword [rsp + 0x24c], 0x20000c
jmp 0x180162aa3
mov dword [rsp + 0x24c], 0x200000
mov eax, dword [rsp + 0x24c]
mov dword [rsp + 0x250], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x250]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 2
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162b55
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180162b00
mov dword [rsp + 0x258], 0x200005
jmp 0x180162b32
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180162b19
mov dword [rsp + 0x254], 0x20000d
jmp 0x180162b24
mov dword [rsp + 0x254], 0x200001
mov eax, dword [rsp + 0x254]
mov dword [rsp + 0x258], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x258]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 3
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162c06
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180162c06
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162bbf
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x60]
vsubss xmm0, xmm0, dword [rcx + 0x1990]
vxorps xmm1, xmm1, xmm1
call fcn.180155dc0
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1801087f0
jmp 0x180162c01
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180162bd8
mov dword [rsp + 0x25c], 0x200006
jmp 0x180162be3
mov dword [rsp + 0x25c], 0x200002
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x25c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 4
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162cdc
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180162cdc
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162c95
call fcn.1800f9880
vmovss dword [rsp + 0x2ec], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x60]
vaddss xmm0, xmm0, dword [rcx + 0x1990]
vmovss dword [rsp + 0x2f0], xmm0
vmovss xmm1, dword [rsp + 0x2ec]
vmovss xmm0, dword [rsp + 0x2f0]
call fcn.180155d70
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1801087f0
jmp 0x180162cd7
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180162cae
mov dword [rsp + 0x260], 0x200007
jmp 0x180162cb9
mov dword [rsp + 0x260], 0x200003
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x260]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 5
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162d41
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180162d41
mov eax, dword [rsp + 0x90]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x16c]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x98]
vsubss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x98], xmm0
jmp 0x18016347f
mov dl, 1
mov ecx, 6
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162da6
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180162da6
mov eax, dword [rsp + 0x90]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x16c]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x98]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x98], xmm0
jmp 0x18016347f
mov dl, 1
mov ecx, 7
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162e07
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162dde
mov eax, dword [rsp + 0x90]
or eax, 0x200006
mov dword [rsp + 0x270], eax
jmp 0x180162df1
mov eax, dword [rsp + 0x90]
or eax, 0x200004
mov dword [rsp + 0x270], eax
mov edx, dword [rsp + 0x270]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 8
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162e68
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162e3f
mov eax, dword [rsp + 0x90]
or eax, 0x200007
mov dword [rsp + 0x1b8], eax
jmp 0x180162e52
mov eax, dword [rsp + 0x90]
or eax, 0x200005
mov dword [rsp + 0x1b8], eax
mov edx, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 0xa
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162ea1
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180162ea1
mov eax, dword [rsp + 0x90]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
mov dl, 1
mov ecx, 0xb
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180162f5b
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180162f5b
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
jne 0x180162f3e
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180162ef3
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x180162f3e
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180162f3e
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
je 0x180162f3e
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
jne 0x180162f3e
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
jne 0x180162f3e
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov eax, dword [rsp + 0x90]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x180163053
mov eax, dword [rsp + 0x658]
and eax, 0x800
test eax, eax
je 0x180162f88
mov dword [rsp + 0x1bc], 1
jmp 0x180162f93
mov dword [rsp + 0x1bc], 0
movzx eax, byte [rsp + 0x1bc]
mov byte [rsp + 0xbf], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180162fe3
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x180162fc7
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162fe3
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x180162ff6
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180162ff6
mov byte [rsp + 0x70], 1
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x87], al
jmp 0x18016304e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18016304e
mov dword [rsp + 0x1c0], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x1c0]
call fcn.180167030
movzx eax, al
test eax, eax
je 0x18016304e
mov edx, dword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
jmp 0x18016347f
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x180163075
mov byte [rsp + 0x70], 1
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x87], al
jmp 0x18016347f
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x18016309a
mov byte [rsp + 0x85], 1
movzx eax, byte [rsp + 0x85]
mov byte [rsp + 0x70], al
jmp 0x18016347f
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x1801630b2
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x1801630f6
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x1801630cb
mov dword [rsp + 0x1c4], 0x20000a
jmp 0x1801630d6
mov dword [rsp + 0x1c4], 0x20000b
mov edx, dword [rsp + 0x1c4]
mov rcx, qword [rsp + 0x58]
call fcn.1801560e0
mov rcx, qword [rsp + 0x58]
call fcn.18017bef0
jmp 0x18016347f
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18016312d
mov dl, 1
mov ecx, reloc.WS2_32.dll_recv
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x18016312d
mov rcx, qword [rsp + 0x58]
call fcn.18017c3d0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x18016347f
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x180163149
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x1801632ef
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x100], 0
je 0x1801632a1
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
je 0x18016318b
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.180156130
mov dword [rsp + 0x1c8], eax
jmp 0x180163196
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x1d4], eax
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
je 0x1801631d3
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.180168b20
mov dword [rsp + 0x1cc], eax
jmp 0x1801631e2
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1cc], eax
mov eax, dword [rsp + 0x1cc]
mov dword [rsp + 0x1d0], eax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.180104070
inc eax
mov dword [rsp + 0x1d8], eax
movsxd rax, dword [rsp + 0x1d8]
mov rcx, rax
call fcn.1800ffa90
mov qword [rsp + 0x338], rax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x338]
call fcn.180103950
mov rcx, qword [rsp + 0x338]
call fcn.1800ff1c0
mov rcx, qword [rsp + 0x338]
call fcn.1800ffaf0
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x1801632ea
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
jne 0x1801632c8
mov rcx, qword [rsp + 0x58]
call fcn.18017c3d0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18016a620
jmp 0x18016347f
movzx eax, byte [rsp + 0xed]
test eax, eax
je 0x18016347f
call fcn.1800ff150
mov qword [rsp + 0x340], rax
cmp qword [rsp + 0x340], 0
je 0x18016347f
mov rcx, qword [rsp + 0x340]
call fcn.1801a75d0
mov dword [rsp + 0x2f4], eax
mov eax, dword [rsp + 0x2f4]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.1800ffa90
mov qword [rsp + 0x2d8], rax
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
movsx eax, byte [rax]
test eax, eax
je 0x180163420
xor r8d, r8d
mov rdx, qword [rsp + 0x2d0]
lea rcx, [rsp + 0x178]
call fcn.180103a70
cdqe
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d0], rax
cmp dword [rsp + 0x178], 0
jne 0x1801633b7
jmp 0x180163420
mov dword [rsp + 0x20], 5
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x178]
call fcn.180167030
movzx eax, al
test eax, eax
jne 0x1801633ef
jmp 0x180163368
movsxd rax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x2d8]
movzx edx, word [rsp + 0x178]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
jmp 0x180163368
movsxd rax, dword [rsp + 0x108]
xor ecx, ecx
mov rdx, qword [rsp + 0x2d8]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x108], 0
jle 0x180163472
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x108]
mov r8, qword [rsp + 0x2d8]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18016bfb0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x2d8]
call fcn.1800ffaf0
mov rcx, qword [rsp + 0x58]
call fcn.18017c340
movzx eax, al
test eax, eax
je 0x1801634ac
xor eax, eax
test eax, eax
jne 0x18016349f
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1801634ac
mov dword [rsp + 0x1dc], 1
jmp 0x1801634b7
mov dword [rsp + 0x1dc], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1dc]
mov byte [rsp + 0x61], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180163d3a
mov qword [rsp + 0x148], 0
mov dword [rsp + 0xcc], 0
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180163638
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180163638
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x640]
call fcn.1801a7550
test eax, eax
je 0x180163638
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x380]
call fcn.18011f290
nop
cmp dword [rsp + 0xcc], 0
jle 0x1801635dd
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x148]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.180103fb0
inc eax
mov edx, eax
lea rcx, [rsp + 0x380]
call fcn.180124fc0
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x148]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x148]
mov edx, dword [rsp + 0x380]
mov rcx, qword [rsp + 0x388]
call fcn.180103ec0
cmp dword [rsp + 0xcc], 0
jle 0x1801635f9
mov eax, dword [rsp + 0x380]
dec eax
mov dword [rsp + 0x1e0], eax
jmp 0x180163604
mov dword [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x1e0]
mov r8, qword [rsp + 0x388]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18016bff0
nop
lea rcx, [rsp + 0x380]
call fcn.1801211b0
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x18016366b
movzx eax, byte [rsp + 0x87]
test eax, eax
je 0x18016365e
mov eax, dword [rsp + 0x658]
and eax, 0x20
test eax, eax
jne 0x18016366b
mov dword [rsp + 0x1e4], 0
jmp 0x180163676
mov dword [rsp + 0x1e4], 1
movzx eax, byte [rsp + 0x1e4]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0xee]
test eax, eax
je 0x180163be6
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801636f8
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x420]
call fcn.180124f70
xor r9d, r9d
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x20]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.180103950
mov eax, dword [rsp + 0x658]
and eax, 0x801c0
test eax, eax
je 0x180163ba3
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x138], socket
mov eax, dword [rsp + 0x658]
and eax, 0x40
test eax, eax
je 0x18016375b
mov dl, 1
xor ecx, ecx
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x18016375b
mov dword [rsp + 0xf4], 0x40
mov dword [rsp + 0x138], 0
jmp 0x18016381c
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x180163799
mov dl, 1
mov ecx, 3
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x180163799
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x138], 3
jmp 0x18016381c
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x1801637d4
mov dl, 1
mov ecx, 4
call fcn.180122dc0
movzx eax, al
test eax, eax
je 0x1801637d4
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x138], 4
jmp 0x18016381c
mov eax, dword [rsp + 0x658]
and eax, 0x80000
test eax, eax
je 0x180163801
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x180163801
mov dword [rsp + 0xf4], 0x80000
jmp 0x18016381c
mov eax, dword [rsp + 0x658]
and eax, 0x100
test eax, eax
je 0x18016381c
mov dword [rsp + 0xf4], 0x100
cmp dword [rsp + 0xf4], 0
je 0x180163ba3
lea rcx, [rsp + 0x278]
call fcn.180154b90
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x278]
call fcn.1801cabe0
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x27c], eax
mov rax, qword [rsp + 0x668]
mov qword [rsp + 0x280], rax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x28c], eax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x29c], eax
mov byte [rsp + 0x2a0], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.180104070
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x2f8], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.180104070
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x2fc], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.180104070
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x300], eax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x428], rax
lea rcx, [rsp + 0x278]
call qword [rsp + 0x428]
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x86], al
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0x2a4], eax
jne 0x1801639c6
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180163a00
movsxd rax, dword [rsp + 0x2a4]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.180103fb0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x2fc]
cmp dword [rsp + 0x2a8], eax
jne 0x180163a1c
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180163a79
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x2a8], eax
jne 0x180163a3d
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x1e8], eax
jmp 0x180163a6a
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.180103fb0
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1e8]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x300]
cmp dword [rsp + 0x2ac], eax
jne 0x180163a95
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180163af2
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jne 0x180163ab6
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x1ec], eax
jmp 0x180163ae3
movsxd rax, dword [rsp + 0x2ac]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.180103fb0
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1ec]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180163ba3
mov eax, dword [rsp + 0x17c]
cmp dword [rsp + 0x298], eax
jle 0x180163b58
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x180163b58
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x430], rax
mov eax, dword [rsp + 0x17c]
mov ecx, dword [rsp + 0x298]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x430]
call fcn.180124fc0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x290]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180103ec0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x298]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x58]
call fcn.18017bf80
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180163be6
mov rdx, qword [rsp + 0x640]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.1801a7550
test eax, eax
je 0x180163be6
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xcc], eax
cmp qword [rsp + 0x148], 0
je 0x180163d0b
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x180163cd2
lea rcx, [rsp + 0x518]
call fcn.180154b90
mov dword [rsp + 0x518], 0x40000
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x51c], eax
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x530], rax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x648]
call fcn.180168b20
mov dword [rsp + 0x53c], eax
mov rax, qword [rsp + 0x668]
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x438], rax
lea rcx, [rsp + 0x518]
call qword [rsp + 0x438]
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x640], rax
mov eax, dword [rsp + 0x53c]
mov dword [rsp + 0x648], eax
mov eax, dword [rsp + 0x648]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x538]
call fcn.180156130
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, dword [rsp + 0x648]
mov ecx, eax
call fcn.180156130
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x640]
call fcn.180103230
mov byte [rsp + 0x8c], 1
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe88], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe90], 0
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x180163d59
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180163d59
call fcn.1801093f0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180163dd7
mov r8d, 1
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x158]
call fcn.18010ea10
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x44]
vmovss dword [rsp + 0x304], xmm0
vmovss xmm1, dword [0x180278d3c]
mov ecx, 7
call fcn.1800fa500
mov dword [rsp + 0x308], eax
vmovss xmm0, dword [rsp + 0x304]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x308]
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
call fcn.18010e650
vmovss xmm0, dword [rsp + 0x15c]
vaddss xmm0, xmm0, dword [rsp + 0x114]
vmovss xmm1, dword [rsp + 0x158]
vaddss xmm1, xmm1, dword [rsp + 0x110]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm2, dword [rsp + 0x15c]
vmovss xmm1, dword [rsp + 0x158]
lea rcx, [rsp + 0x370]
call fcn.1800867c0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180163e56
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x440], rax
lea rax, [rsp + 0x440]
mov qword [rsp + 0x398], rax
jmp 0x180163e82
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5c8]
call fcn.180155690
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov rax, qword [rax]
mov qword [rsp + 0x150], rax
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x268]
call fcn.1800867a0
mov dword [rsp + 0x4d0], 0x200000
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x180163ee4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3a0], rax
jmp 0x180163ef4
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x3a0], rax
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], 0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x180163f4c
mov rax, qword [rsp + 0x638]
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x638]
call fcn.1801a75d0
mov rcx, qword [rsp + 0x638]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180163f62
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x180164e6a
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180163f8a
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x198], rax
lea rcx, [rsp + 0x118]
call fcn.180121040
lea rcx, [rsp + 0x348]
call fcn.180121040
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x2c8], 0
mov dword [rsp + 0x100], 0xfffffc18
mov dword [rsp + 0x104], 0xfffffc18
mov dword [rsp + 0x94], 0
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180164041
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x2c0], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1801640a2
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.180156130
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x2c0], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801640b8
mov dword [rsp + 0x1f0], 1
jmp 0x1801640c3
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x94]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x94], eax
mov dword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x1a8], rax
jmp 0x18016410d
mov rax, qword [rsp + 0x1a8]
add rax, 2
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
test eax, eax
je 0x18016420b
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x180164206
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x1801641a5
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x2c0]
cmp qword [rsp + 0x1a8], rax
jb 0x1801641a5
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x94]
dec eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
jg 0x1801641a5
jmp 0x18016420b
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x180164206
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2c0]
cmp qword [rsp + 0x1a8], rax
jb 0x180164206
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x94]
dec eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
jg 0x180164206
jmp 0x18016420b
jmp 0x1801640f9
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x180164245
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x18016426f
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x2c0]
mov qword [rsp + 0x450], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + rax + 0x2c0]
call fcn.1801034c0
mov qword [rsp + 0x458], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x450]
mov rdx, qword [rsp + 0x458]
lea rcx, [rsp + 0x5d0]
call fcn.180167410
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x118], xmm0
mov eax, 4
imul rax, rax, 0
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x11c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0
jl 0x1801643ca
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2c0]
mov qword [rsp + 0x460], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + rax + 0x2c0]
call fcn.1801034c0
mov qword [rsp + 0x468], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x460]
mov rdx, qword [rsp + 0x468]
lea rcx, [rsp + 0x5a0]
call fcn.180167410
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x348], xmm0
mov eax, 4
imul rax, rax, 1
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x34c], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18016440e
vcvtsi2ss xmm0, xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x5d8]
call fcn.1800867a0
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x18016467b
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x18016467b
mov eax, dword [rsp + 0x658]
and eax, 0x1000
test eax, eax
jne 0x180164511
vmovss xmm0, dword [rsp + 0x110]
vmulss xmm0, xmm0, dword [0x180278c60]
vmovss dword [rsp + 0x1f8], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x110]
vsubss xmm0, xmm0, dword [rax + 0x3c]
vmovss dword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rsp + 0x118]
vcomiss xmm0, dword [rax + 0x48]
jae 0x1801644c4
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x1f8]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.180155dc0
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x48], xmm0
jmp 0x18016450f
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x220]
mov rax, qword [rsp + 0x58]
vcomiss xmm0, dword [rax + 0x48]
jb 0x18016450f
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x220]
vaddss xmm0, xmm0, dword [rsp + 0x1f8]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x48], xmm0
jmp 0x18016451f
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18016466f
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vcomiss xmm0, dword [rsp + 0x98]
jae 0x18016457b
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.180155dc0
vmovss dword [rsp + 0x98], xmm0
jmp 0x1801645cc
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rsp + 0x114]
vcomiss xmm0, dword [rsp + 0x98]
jb 0x1801645cc
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rsp + 0x114]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
vmulss xmm1, xmm1, dword [0x180278dc8]
vaddss xmm0, xmm0, xmm1
vmovss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x180278dc8]
vmovss xmm1, dword [rsp + 0x26c]
vaddss xmm0, xmm1, xmm0
vsubss xmm0, xmm0, dword [rsp + 0x114]
vxorps xmm1, xmm1, xmm1
call fcn.180155dc0
vmovss dword [rsp + 0x30c], xmm0
vmovss xmm2, dword [rsp + 0x30c]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [rsp + 0x98]
call fcn.180167620
vmovss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x60]
vsubss xmm0, xmm0, dword [rsp + 0x98]
vmovss xmm1, dword [rsp + 0x154]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x154], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x98]
vmovss dword [rax + 0x60], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
vxorps xmm2, xmm2, xmm2
mov rax, qword [rsp + 0x58]
vmovss xmm1, dword [rax + 0x48]
lea rcx, [rsp + 0x2e0]
call fcn.1800867a0
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x180164aad
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.180156130
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.180168b20
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x350], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180164715
vmovss xmm0, dword [0x180278d3c]
vmovss dword [rsp + 0x1fc], xmm0
jmp 0x180164726
vmovss xmm0, dword [0x1801e03d8]
vmovss dword [rsp + 0x1fc], xmm0
vmovss xmm1, dword [rsp + 0x1fc]
mov ecx, 0x2f
call fcn.1800fa500
mov dword [rsp + 0x368], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180164758
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x200], xmm0
jmp 0x180164769
vmovss xmm0, dword [0x180278ecc]
vmovss dword [rsp + 0x200], xmm0
vmovss xmm0, dword [rsp + 0x200]
vmovss dword [rsp + 0x318], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180164793
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x204], xmm0
jmp 0x1801647a4
vmovss xmm0, dword [0x180278dc8]
vmovss dword [rsp + 0x204], xmm0
vmovss xmm0, dword [rsp + 0x204]
vmovss dword [rsp + 0x314], xmm0
lea r8, [rsp + 0x348]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x610]
call fcn.180155690
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.1801556f0
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x350]
cmp qword [rsp + 0x188], rax
jae 0x180164aad
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x37c]
vaddss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x194]
vcomiss xmm1, xmm0
jbe 0x18016483b
jmp 0x180164aad
vmovss xmm0, dword [rsp + 0x194]
vcomiss xmm0, dword [rsp + 0x374]
jae 0x18016489a
mov rax, qword [rsp + 0x350]
cmp qword [rsp + 0x188], rax
jae 0x180164895
mov rax, qword [rsp + 0x188]
movzx eax, word [rax]
mov dword [rsp + 0x310], eax
mov rax, qword [rsp + 0x188]
add rax, 2
mov qword [rsp + 0x188], rax
cmp dword [rsp + 0x310], 0xa
jne 0x180164893
jmp 0x180164895
jmp 0x18016484f
jmp 0x180164a6e
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x188]
mov r8, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x188]
lea rcx, [rsp + 0x358]
call fcn.180167410
vmovss xmm0, dword [rsp + 0x358]
vcomiss xmm0, dword [0x1801e03b4]
ja 0x18016491e
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x478], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x478]
call fcn.18017c150
vmulss xmm0, xmm0, dword [0x180278ccc]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x358], xmm0
vmovss xmm2, dword [rsp + 0x314]
vmovss xmm1, dword [rsp + 0x358]
lea rcx, [rsp + 0x550]
call fcn.1800867a0
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x558]
call fcn.180155690
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x318]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x560]
call fcn.1800867a0
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x568]
call fcn.180155690
mov qword [rsp + 0x488], rax
mov r8, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
lea rcx, [rsp + 0x3e0]
call fcn.180120eb0
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x5e0]
call fcn.180120ef0
lea rdx, [rsp + 0x5e0]
lea rcx, [rsp + 0x3e0]
call fcn.180122320
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x5f0]
call fcn.180120ef0
lea rdx, [rsp + 0x5f0]
lea rcx, [rsp + 0x3e0]
call fcn.180122fe0
movzx eax, al
test eax, eax
je 0x180164a6e
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x490], rax
mov dword [rsp + 0x28], 0
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x368]
lea r8, [rsp + 0x3e8]
lea rdx, [rsp + 0x3e0]
mov rcx, qword [rsp + 0x490]
call fcn.180129690
vmovss xmm0, dword [rsp + 0x150]
vsubss xmm0, xmm0, dword [rsp + 0x2e0]
vmovss dword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x194]
vaddss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x194], xmm0
jmp 0x1801647fb
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180164ad8
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x180164c13
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x180164aee
mov dword [rsp + 0x208], 1
jmp 0x180164af9
mov dword [rsp + 0x208], 0
vmovss xmm1, dword [0x180278d3c]
mov ecx, dword [rsp + 0x208]
call fcn.1800fa500
mov dword [rsp + 0x31c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4b0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180164b42
mov qword [rsp + 0x3a8], 0
jmp 0x180164b52
lea rax, [rsp + 0x370]
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x498], rax
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x570]
call fcn.1801556f0
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x320], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x31c]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4a0]
vmovss xmm2, dword [rsp + 0x320]
mov rdx, qword [rsp + 0x4a8]
mov rcx, qword [rsp + 0x4b0]
call fcn.180129f00
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180164e65
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
vmovss xmm0, dword [rax + 0xe78]
vaddss xmm0, xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xca]
test eax, eax
je 0x180164c98
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [rax + 0xe78]
jae 0x180164c98
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rax + 0xe78]
vmovss xmm1, dword [0x180278d60]
call fcn.1801aab50
vcomiss xmm0, dword [0x180278d08]
jbe 0x180164c98
mov dword [rsp + 0x20c], 0
jmp 0x180164ca3
mov dword [rsp + 0x20c], 1
movzx eax, byte [rsp + 0x20c]
mov byte [rsp + 0xef], al
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x578]
call fcn.180155690
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x580]
call fcn.1801556f0
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.180155c20
vmovss xmm0, dword [rsp + 0x1b4]
vsubss xmm0, xmm0, dword [0x180278d80]
vmovss xmm1, dword [rsp + 0x1b0]
vaddss xmm1, xmm1, dword [0x180278d3c]
mov rax, qword [rsp + 0x68]
vmovss xmm2, dword [rsp + 0x1b4]
vsubss xmm2, xmm2, dword [rax + 0x1990]
vaddss xmm2, xmm2, dword [0x180278ccc]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm1, dword [rsp + 0x1b0]
lea rcx, [rsp + 0x500]
call fcn.180120f60
movzx eax, byte [rsp + 0xef]
test eax, eax
je 0x180164e15
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x600]
call fcn.180120ef0
lea rdx, [rsp + 0x600]
lea rcx, [rsp + 0x500]
call fcn.180122fe0
movzx eax, al
test eax, eax
je 0x180164e15
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4c0], rax
vmovss xmm1, dword [0x180278d3c]
xor ecx, ecx
call fcn.1800fa500
mov dword [rsp + 0x324], eax
lea rdx, [rsp + 0x588]
lea rcx, [rsp + 0x500]
call fcn.180122740
mov qword [rsp + 0x4b8], rax
vmovss xmm0, dword [0x180278d3c]
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x324]
mov r8, qword [rsp + 0x4b8]
lea rdx, [rsp + 0x500]
mov rcx, qword [rsp + 0x4c0]
call fcn.180129420
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180164e65
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x1b4]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x1b0]
vsubss xmm1, xmm1, dword [0x180278d3c]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x590]
call fcn.1800867a0
mov rax, qword [rax]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x30c8], rax
jmp 0x180165036
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180164ec0
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
call fcn.180167350
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x598]
call fcn.1800867a0
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
jmp 0x180164f27
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180164efb
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180164efb
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
jmp 0x180164f27
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180164f27
mov rcx, qword [rsp + 0x120]
call fcn.1801a75d0
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180164f52
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x180165036
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x180164f68
mov dword [rsp + 0x210], 1
jmp 0x180164f73
mov dword [rsp + 0x210], 0
vmovss xmm1, dword [0x180278d3c]
mov ecx, dword [rsp + 0x210]
call fcn.1800fa500
mov dword [rsp + 0x364], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4c8], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180164fbc
mov qword [rsp + 0x390], 0
jmp 0x180164fcc
lea rax, [rsp + 0x370]
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x364]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x150]
mov rax, qword [rsp + 0x68]
vmovss xmm2, dword [rax + 0x1990]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x4c8]
call fcn.180129f00
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180165050
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180165050
call fcn.1800f9bd0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18016509b
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x26c]
vaddss xmm0, xmm0, dword [rax + 0x40]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x268]
lea rcx, [rsp + 0x618]
call fcn.1800867a0
mov rcx, rax
call fcn.180146bb0
call fcn.1800f8940
call fcn.1800fab70
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3134]
test eax, eax
je 0x1801650f0
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x1801650c0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x1801650f0
lea rdx, [0x1801e7388]
lea rcx, [0x1801e738c]
call fcn.18010a800
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x150]
call fcn.18010a4e0
vmovss xmm0, dword [rsp + 0x2b0]
vcomiss xmm0, dword [0x1801e03b4]
jbe 0x180165156
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x15c]
vaddss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rsp + 0x160]
vaddss xmm1, xmm1, dword [rax + 0x54]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x5a8]
call fcn.1800867a0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
mov rcx, qword [rax]
call fcn.18010d890
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x18016517b
mov eax, dword [rsp + 0x658]
and eax, 0x8000000
test eax, eax
jne 0x18016517b
mov ecx, dword [rsp + 0x74]
call fcn.180109540
mov eax, dword [rsp + 0x658]
and eax, 0x20
test eax, eax
je 0x180165195
movzx eax, byte [rsp + 0x87]
jmp 0x18016519d
movzx eax, byte [rsp + 0x8c]
add rsp, 0x628
ret