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

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov qword [rax - 0xf8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov ebp, r8d
mov rdi, rdx
mov r12, rcx
lea r13, [rcx + 0xb0]
cmp qword [r13], 0
je 0x14018f1a8
xorps xmm6, xmm6
comiss xmm6, dword [rcx + 0x34]
jae 0x14018f1a8
comiss xmm6, dword [rcx + 0x38]
jae 0x14018f1a8
cmp byte [rcx + 0x42], 0
je 0x14018f1a8
cmp byte [rcx + 0x2f8], 0
jne 0x14018e14d
test bpl, 4
je 0x14018f1a8
lea rbx, [rcx + 0xe0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
ucomiss xmm0, xmm6
jp 0x14018e164
je 0x14018e174
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
ucomiss xmm0, xmm6
jp 0x14018e179
jne 0x14018e179
xor sil, sil
jmp 0x14018e17c
mov sil, 1
mov byte [rsp + 0x30], sil
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x34], xmm7
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax + 0x18]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0x38], xmm6
test sil, sil
je 0x14018e1da
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
minss xmm0, xmm7
movss dword [rsp + 0x34], xmm0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
minss xmm0, xmm6
movss dword [rsp + 0x38], xmm0
movss xmm13, dword [rdi + 0xc]
movaps xmm4, xmm13
movss xmm11, dword [0x140410440]
mulss xmm4, xmm11
movss xmm2, dword [rdi + 8]
movaps xmm12, xmm2
mulss xmm12, xmm11
movss xmm15, dword [rdi + 0x10]
movaps xmm6, xmm12
addss xmm6, xmm4
addss xmm6, xmm15
movss xmm10, dword [rdi + 0x18]
movaps xmm1, xmm10
mulss xmm1, xmm11
movss xmm0, dword [rdi + 0x14]
movaps xmm8, xmm0
mulss xmm8, xmm11
movss xmm14, dword [rdi + 0x1c]
movaps xmm3, xmm8
addss xmm3, xmm1
addss xmm3, xmm14
movss xmm5, dword [rsp + 0x34]
subss xmm5, xmm11
movaps xmm9, xmm5
mulss xmm9, xmm2
movaps xmm7, xmm9
addss xmm7, xmm4
addss xmm7, xmm15
mulss xmm5, xmm0
movss dword [rsp + 0x34], xmm5
addss xmm5, xmm1
addss xmm5, xmm14
movaps xmm1, xmm7
minss xmm1, xmm6
movaps xmm2, xmm5
minss xmm2, xmm3
maxss xmm7, xmm6
maxss xmm5, xmm3
movss xmm0, dword [rsp + 0x38]
subss xmm0, xmm11
movaps xmm11, xmm0
movaps xmm6, xmm0
mulss xmm6, xmm13
movaps xmm4, xmm6
addss xmm4, xmm12
addss xmm4, xmm15
mulss xmm11, xmm10
movaps xmm3, xmm11
addss xmm3, xmm8
addss xmm3, xmm14
movaps xmm0, xmm4
minss xmm0, xmm1
movaps xmm1, xmm3
minss xmm1, xmm2
maxss xmm4, xmm7
maxss xmm3, xmm5
addss xmm6, xmm9
addss xmm6, xmm15
addss xmm11, dword [rsp + 0x34]
addss xmm11, xmm14
movaps xmm7, xmm6
minss xmm7, xmm0
movaps xmm10, xmm11
minss xmm10, xmm1
maxss xmm6, xmm4
maxss xmm11, xmm3
lea r15, [r12 + 0x2c8]
mov rax, qword [r15]
cvttss2si edx, xmm7
mov rcx, r15
call qword [rax + 0x48]
mov rax, qword [r15]
cvttss2si edx, xmm10
mov rcx, r15
call qword [rax + 0x58]
mov rax, qword [r15]
cvttss2si edx, xmm6
mov rcx, r15
call qword [rax + 0x68]
mov rax, qword [r15]
cvttss2si edx, xmm11
mov rcx, r15
call qword [rax + 0x78]
mov byte [r12 + 0x2f8], 0
cmp byte [r12 + 0x2f9], 0
jne 0x14018e370
test bpl, 4
jne 0x14018e370
cmp qword [r12 + 0x2e8], 0
jne 0x14018f1a8
mov byte [r12 + 0x2f9], 0
movss xmm0, dword [rdi + 8]
movss xmm1, dword [0x140410478]
ucomiss xmm0, xmm1
xorps xmm6, xmm6
jp 0x14018e3e1
jne 0x14018e3e1
movss xmm0, dword [rdi + 0xc]
ucomiss xmm0, xmm6
jp 0x14018e3e1
jne 0x14018e3e1
movss xmm0, dword [rdi + 0x14]
ucomiss xmm0, xmm6
jp 0x14018e3e1
jne 0x14018e3e1
movss xmm0, dword [rdi + 0x18]
ucomiss xmm0, xmm1
jp 0x14018e3e1
jne 0x14018e3e1
test sil, sil
jne 0x14018e3d9
cmp qword [r12 + 0xc0], 0
jne 0x14018e3d9
lea rcx, [r12 + 0x2e8]
mov rdx, r13
call fcn.14000aaf0
jmp 0x14018f1a8
mov byte [rsp + 0x1e8], 0
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
test eax, eax
jns 0x14018e3fc
mov byte [r12 + 0x2f9], 1
jmp 0x14018f1a8
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
test eax, eax
js 0x14018e3ee
xor r14d, r14d
mov qword [rsp + 0x80], r14
mov esi, r14d
mov ebx, r14d
mov rcx, qword [r12 + 0x98]
mov rax, qword [rcx]
call qword [rax + gethostname]
mov rdi, rax
test rax, rax
je 0x14018e462
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.WS2_32.dll_recv]
lea esi, [rax - 1]
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x18]
lea ebx, [rax - 1]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
cmp eax, esi
jg 0x14018e3ee
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_recv]
cmp eax, ebx
jg 0x14018e3ee
xorps xmm8, xmm8
maxss xmm8, xmm7
xorps xmm9, xmm9
maxss xmm9, xmm10
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jns 0x14018e495
mov rax, qword [r15]
xor edx, edx
mov rcx, r15
call qword [rax + 0x48]
mov byte [r12 + 0x2f9], 1
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_recv]
test eax, eax
jns 0x14018e4b6
mov rax, qword [r15]
xor edx, edx
mov rcx, r15
call qword [rax + 0x58]
mov byte [r12 + 0x2f9], 1
test rdi, rdi
je 0x14018e4fd
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
cmp eax, esi
jle 0x14018e4dc
mov rax, qword [r15]
mov edx, esi
mov rcx, r15
call qword [rax + 0x68]
mov byte [r12 + 0x2f9], 1
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
cmp eax, ebx
jle 0x14018e4fd
mov rax, qword [r15]
mov edx, ebx
mov rcx, r15
call qword [rax + 0x78]
mov byte [r12 + 0x2f9], 1
lea rcx, [rsp + 0xd8]
call fcn.140164840
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax + 8], r14
mov qword [rax], r14
mov qword [r12 + 0x2e8], rcx
mov rbx, qword [r12 + 0x2f0]
mov qword [r12 + 0x2f0], rdx
mov edi, 0xffffffff
test rbx, rbx
je 0x14018e565
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14018e565
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14018e565
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
je 0x14018e59d
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14018e59d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14018e59d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [r13]
mov rsi, qword [r12 + 0x2e8]
mov rbp, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov edi, eax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x20]
mov ebx, eax
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x18]
mov edx, eax
mov dword [rsp + 0x20], r14d
mov r9d, edi
mov r8d, ebx
mov rcx, rsi
call qword [rbp + reloc.WS2_32.dll_htonl]
xor ebp, ebp
mov ebx, ebp
mov dword [rsp + 0x4c], ebx
mov esi, ebp
mov dword [rsp + 0x34], ebp
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
lea r14d, [rax - 1]
mov dword [rsp + 0x38], r14d
mov rcx, qword [r13]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
lea edi, [rax - 1]
mov dword [rsp + 0x50], edi
cmp byte [rsp + 0x30], bl
je 0x14018e6ac
lea r15, [r12 + 0xe0]
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + reloc.WS2_32.dll_htonl]
comiss xmm0, xmm6
jbe 0x14018e63e
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + reloc.WS2_32.dll_htonl]
cvttss2si ebx, xmm0
mov dword [rsp + 0x4c], ebx
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_recv]
comiss xmm0, xmm6
jbe 0x14018e65d
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_recv]
cvttss2si esi, xmm0
mov dword [rsp + 0x34], esi
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x14018e686
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x28]
cvttss2si r14d, xmm0
mov dword [rsp + 0x38], r14d
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x14018e6ac
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
cvttss2si edi, xmm0
mov dword [rsp + 0x50], edi
mov rcx, qword [r12 + 0x2e8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov dword [rsp + 0x68], eax
mov rcx, qword [r12 + 0x2e8]
mov rdx, qword [rcx]
call qword [rdx + 0x18]
mov dword [rsp + 0x48], eax
mov rcx, qword [r13]
mov rdx, qword [rcx]
call qword [rdx + 0x40]
movsxd r15, eax
mov dword [rsp + 0x44], r15d
mov rcx, qword [r13]
mov rdx, qword [rcx]
call qword [rdx + 0x48]
mov dword [rsp + 0x90], eax
movss xmm5, dword [r12 + 0x2b4]
movss xmm4, dword [r12 + 0x2b0]
movaps xmm2, xmm4
mulss xmm2, xmm8
movaps xmm0, xmm5
mulss xmm0, xmm9
addss xmm2, xmm0
addss xmm2, dword [r12 + 0x2b8]
movss xmm7, dword [r12 + 0x2c0]
movss xmm6, dword [r12 + 0x2bc]
movaps xmm3, xmm6
mulss xmm3, xmm8
movaps xmm0, xmm7
mulss xmm0, xmm9
addss xmm3, xmm0
addss xmm3, dword [r12 + 0x2c4]
cmp byte [rsp + 0x30], bpl
je 0x14018e774
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movd xmm1, esi
cvtdq2ps xmm1, xmm1
addss xmm3, xmm1
movss xmm0, dword [0x1404106f4]
mulss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [rsp + 0x3c], eax
mulss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [rsp + 0x40], eax
mulss xmm4, xmm0
cvttss2si eax, xmm4
mov dword [rsp + 0x6c], eax
mulss xmm5, xmm0
cvttss2si eax, xmm5
mov dword [rsp + 0x74], eax
mulss xmm6, xmm0
cvttss2si eax, xmm6
mov dword [rsp + 0x70], eax
mulss xmm7, xmm0
cvttss2si eax, xmm7
mov dword [rsp + 0x78], eax
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rcx, qword [r12 + 0x2e8]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rcx, qword [r12 + 0xc0]
mov qword [rsp + 0x58], rcx
cmp byte [rsp + 0x1e8], bpl
jne 0x14018eb21
test rcx, rcx
jne 0x14018e918
cmp dword [rsp + 0x48], ebp
jle 0x14018f1a8
mov r12d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x1d0]
nop word [rax + rax]
mov rcx, qword [rbx + 0x2e8]
mov rax, qword [rcx]
mov edx, ebp
call qword [rax + 0x60]
mov rbp, rax
mov eax, dword [rsp + 0x3c]
mov r15d, eax
mov r13d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jle 0x14018e8e7
movsxd rax, dword [rsp + 0x44]
mov qword [rsp + 0x58], rcx
nop dword [rax]
nop dword [rax + rax]
mov edx, r13d
sar edx, 0x10
mov ebx, r15d
sar ebx, 0x10
cmp ebx, r12d
jl 0x14018e8b1
cmp ebx, r14d
jg 0x14018e8b1
cmp edx, esi
jl 0x14018e8b1
cmp edx, edi
jg 0x14018e8b1
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
call qword [rax + 0x60]
movsxd rdx, dword [rsp + 0x44]
imul ebx, edx
movsxd rcx, ebx
add rax, rcx
mov r8, rdx
mov rdx, rax
mov rcx, rbp
call fcn.14025df20
jmp 0x14018e8be
mov r8, rax
xor edx, edx
mov rcx, rbp
call fcn.14025e440
movsxd rcx, dword [rsp + 0x44]
mov rax, rcx
add rbp, rcx
add r15d, dword [rsp + 0x6c]
add r13d, dword [rsp + 0x70]
sub qword [rsp + 0x58], 1
jne 0x14018e860
mov rbx, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0x3c]
mov rbp, qword [rsp + 0x80]
inc ebp
mov qword [rsp + 0x80], rbp
add eax, dword [rsp + 0x74]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x78]
add dword [rsp + 0x40], eax
cmp ebp, dword [rsp + 0x48]
jl 0x14018e820
jmp 0x14018f1a8
movsxd rax, dword [r12 + 0x160]
test eax, eax
js 0x14018e931
mov rcx, qword [r12 + 0xd0]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xb0], rcx
sar rax, 0x3f
and rax, 0xfffffffffffffff0
mov rbx, qword [rax + r12 + 0xd8]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xb8], rbx
test rbx, rbx
je 0x14018e978
mov eax, 1
lock xadd dword [rbx + 8], eax
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0x98], rbx
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp dword [rsp + 0x48], 0
jle 0x14018eadc
mov r15d, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x4c]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0x2e8]
mov rax, qword [rcx]
mov edx, ebp
call qword [rax + 0x60]
mov rbp, rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0x34], ecx
mov r8d, dword [rsp + 0x68]
test r8d, r8d
jle 0x14018eaa4
movsxd rdx, dword [rsp + 0x44]
mov qword [rsp + 0x88], r8
nop word [rax + rax]
mov ebx, ecx
sar ebx, 0x10
mov esi, eax
sar esi, 0x10
cmp esi, r12d
jl 0x14018ea61
cmp esi, r14d
jg 0x14018ea61
cmp ebx, r15d
jl 0x14018ea61
cmp ebx, edi
jg 0x14018ea61
mov rcx, qword [r13]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x60]
mov ecx, esi
imul ecx, dword [rsp + 0x44]
movsxd rdi, ecx
add rdi, rax
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov edx, ebx
mov rcx, rax
call qword [r8 + 0x60]
movsxd rbx, esi
add rbx, rax
movsxd r8, dword [rsp + 0x44]
mov rdx, rdi
mov rcx, rbp
call fcn.14025df20
movzx ecx, byte [rbx]
inc ecx
movzx eax, byte [rdi + 3]
imul ecx, eax
shr ecx, 8
mov byte [rbp + 3], cl
jmp 0x14018ea6e
mov r8, rdx
xor edx, edx
mov rcx, rbp
call fcn.14025e440
movsxd rax, dword [rsp + 0x44]
mov rdx, rax
add rbp, rax
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x6c]
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp + 0x34]
add ecx, dword [rsp + 0x70]
mov dword [rsp + 0x34], ecx
sub qword [rsp + 0x88], 1
mov edi, dword [rsp + 0x50]
jne 0x14018e9f0
mov rbp, qword [rsp + 0x80]
inc ebp
mov qword [rsp + 0x80], rbp
mov eax, dword [rsp + 0x74]
add dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x78]
add dword [rsp + 0x40], eax
cmp ebp, dword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
jl 0x14018e9a0
mov rbx, qword [rsp + 0x98]
test rbx, rbx
je 0x14018eb1c
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14018eb1c
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14018eb1c
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x14018f1a8
test rcx, rcx
jne 0x14018ed77
cmp dword [rsp + 0x48], ebp
jle 0x14018f1a8
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r12 + 0x2e8]
mov rax, qword [rcx]
mov edx, ebp
call qword [rax + 0x60]
mov r12, rax
mov eax, dword [rsp + 0x3c]
mov r8d, eax
mov dword [rsp + 0x60], eax
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x64], r9d
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jle 0x14018ecfc
mov qword [rsp + 0x58], rcx
nop dword [rax]
mov edx, r9d
sar edx, 0x10
mov ecx, r8d
sar ecx, 0x10
cmp ecx, ebx
jl 0x14018ed65
cmp ecx, r14d
jg 0x14018ed65
cmp edx, esi
jl 0x14018ed65
cmp edx, edi
jg 0x14018ed65
mov r13d, ecx
imul r13d, r15d
lea eax, [rcx + 1]
cmp eax, ebx
jl 0x14018ed3a
cmp ecx, r14d
jge 0x14018ed3a
lea eax, [rdx + 1]
cmp eax, esi
jl 0x14018ed3a
cmp edx, edi
jge 0x14018ed3a
mov eax, r8d
sar eax, 8
movzx r8d, al
mov ecx, 0xff
sub ecx, r8d
mov eax, r9d
sar eax, 8
movzx ebx, al
mov edi, 0x100
sub edi, ebx
inc ebx
mov esi, edi
imul esi, ecx
sar esi, 8
inc esi
imul edi, r8d
sar edi, 8
inc edi
mov ebp, ebx
imul ebp, ecx
sar ebp, 8
inc ebp
imul ebx, r8d
shr ebx, 8
inc ebx
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
call qword [rax + 0x60]
movsxd rcx, r13d
add rax, rcx
movsxd r9, dword [rsp + 0x90]
add r9, rax
test r15, r15
jle 0x14018ecb2
lea r8, [r15 + rax]
mov r14, r9
sub r14, rax
sub r9, r15
sub r9, rax
mov r10, r12
sub r10, r15
sub r10, rax
mov r11, r15
nop dword [rax]
movzx edx, byte [r14 + r8]
imul edx, ebx
shr edx, 8
movzx eax, byte [r8 + r9]
imul eax, ebp
sar eax, 8
add dl, al
mov rax, r8
sub rax, r15
movzx ecx, byte [rax]
imul ecx, esi
sar ecx, 8
add dl, cl
movzx eax, byte [r8]
imul eax, edi
sar eax, 8
add dl, al
mov byte [r8 + r10], dl
inc r8
sub r11, 1
jne 0x14018ec70
mov ebx, dword [rsp + 0x4c]
add r12, r15
mov r8d, dword [rsp + 0x60]
add r8d, dword [rsp + 0x6c]
mov dword [rsp + 0x60], r8d
mov r9d, dword [rsp + 0x64]
add r9d, dword [rsp + 0x70]
mov dword [rsp + 0x64], r9d
sub qword [rsp + 0x58], 1
mov edi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
jne 0x14018eb80
mov rbp, qword [rsp + 0x80]
mov eax, dword [rsp + 0x3c]
inc ebp
mov qword [rsp + 0x80], rbp
add eax, dword [rsp + 0x74]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x78]
add dword [rsp + 0x40], eax
cmp ebp, dword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
mov r12, qword [rsp + 0x1d0]
jl 0x14018eb40
jmp 0x14018f1a8
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
call qword [rax + 0x60]
movsxd rdx, r13d
add rdx, rax
mov r8, r15
mov rcx, r12
call fcn.14025df20
jmp 0x14018ecb6
mov r8, r15
xor edx, edx
mov rcx, r12
call fcn.14025e440
jmp 0x14018ecb6
movsxd rax, dword [r12 + 0x160]
test eax, eax
js 0x14018ed90
mov rcx, qword [r12 + 0xd0]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc0], rcx
sar rax, 0x3f
and rax, 0xfffffffffffffff0
mov r13, qword [rax + r12 + 0xd8]
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xc8], r13
test r13, r13
je 0x14018edd8
mov eax, 1
lock xadd dword [r13 + 8], eax
mov r13, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], r13
mov rax, qword [rcx]
call qword [rax + 0x58]
cmp dword [rsp + 0x48], 0
jle 0x14018f167
nop dword [rax]
mov rcx, qword [r12 + 0x2e8]
mov rax, qword [rcx]
mov edx, ebp
call qword [rax + 0x60]
mov r10, rax
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x3c]
mov ecx, eax
mov dword [rsp + 0x64], eax
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x60], r8d
mov edx, dword [rsp + 0x68]
test edx, edx
jle 0x14018f12e
mov qword [rsp + 0xa0], rdx
nop dword [rax]
nop word [rax + rax]
mov r12d, r8d
sar r12d, 0x10
mov r13d, ecx
sar r13d, 0x10
cmp r13d, ebx
jl 0x14018f0c3
cmp r13d, r14d
jg 0x14018f0c3
cmp r12d, esi
jl 0x14018f0c3
cmp r12d, edi
jg 0x14018f0c3
lea edx, [r12 + 1]
lea eax, [r13 + 1]
mov ebp, r13d
imul ebp, dword [rsp + 0x44]
mov dword [rsp + 0x98], ebp
cmp eax, ebx
jl 0x14018f059
cmp r13d, r14d
jge 0x14018f059
cmp edx, esi
jl 0x14018f059
cmp r12d, edi
jge 0x14018f059
mov eax, ecx
sar eax, 8
movzx edx, al
mov ecx, 0xff
sub ecx, edx
mov eax, r8d
sar eax, 8
movzx esi, al
mov ebp, 0x100
sub ebp, esi
inc esi
mov r14d, ebp
imul r14d, ecx
sar r14d, 8
inc r14d
imul ebp, edx
sar ebp, 8
inc ebp
mov edi, esi
imul edi, ecx
sar edi, 8
inc edi
imul esi, edx
shr esi, 8
inc esi
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x60]
movsxd rbx, dword [rsp + 0x98]
add rbx, rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x60]
movsxd r9, r13d
add r9, rax
movsxd r11, dword [rsp + 0x90]
lea r8, [r11 + rbx]
movzx edx, byte [r15 + r8]
imul edx, esi
shr edx, 8
movzx ecx, byte [r15 + rbx]
imul ecx, ebp
sar ecx, 8
add dl, cl
movzx eax, byte [rbx]
imul eax, r14d
sar eax, 8
add dl, al
movzx eax, byte [r8]
imul eax, edi
sar eax, 8
add dl, al
mov r10, qword [rsp + 0x88]
mov byte [r10], dl
movzx ecx, byte [r15 + r8 + 1]
imul ecx, esi
shr ecx, 8
movzx eax, byte [rbx + 1]
imul eax, r14d
sar eax, 8
add cl, al
movzx eax, byte [r15 + rbx + 1]
imul eax, ebp
sar eax, 8
add cl, al
movzx eax, byte [r8 + 1]
imul eax, edi
sar eax, 8
add cl, al
mov byte [r10 + 1], cl
movzx ecx, byte [r15 + r8 + 2]
imul ecx, esi
shr ecx, 8
movzx eax, byte [rbx + 2]
imul eax, r14d
sar eax, 8
add cl, al
movzx eax, byte [r15 + rbx + 2]
imul eax, ebp
sar eax, 8
add cl, al
movzx eax, byte [r8 + 2]
imul eax, edi
sar eax, 8
add cl, al
mov byte [r10 + 2], cl
movzx edx, byte [r8 + 7]
imul edx, esi
shr edx, 8
movzx eax, byte [r8 + 3]
imul eax, edi
sar eax, 8
add edx, eax
movzx eax, byte [rbx + 7]
imul eax, ebp
sar eax, 8
add edx, eax
movzx eax, byte [rbx + 3]
imul eax, r14d
sar eax, 8
add edx, eax
movzx ecx, byte [r11 + r9 + 1]
imul ecx, esi
shr ecx, 8
movzx eax, byte [r9 + 1]
imul eax, ebp
sar eax, 8
add ecx, eax
movzx eax, byte [r9]
imul eax, r14d
sar eax, 8
add ecx, eax
movzx eax, byte [r11 + r9]
imul eax, edi
sar eax, 8
inc ecx
add eax, ecx
imul edx, eax
sar edx, 8
mov byte [r10 + 3], dl
mov ebx, dword [rsp + 0x4c]
jmp 0x14018f0d8
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x60]
movsxd rdi, ebp
add rdi, rax
mov rax, qword [rsp + 0x58]
mov r8, qword [rax]
mov edx, r12d
mov rcx, rax
call qword [r8 + 0x60]
movsxd rbx, r13d
add rbx, rax
mov r8, r15
mov rdx, rdi
mov rcx, qword [rsp + 0x88]
call fcn.14025df20
movzx ecx, byte [rbx]
inc ecx
movzx eax, byte [rdi + 3]
imul ecx, eax
shr ecx, 8
mov r10, qword [rsp + 0x88]
mov byte [r10 + 3], cl
mov ebx, dword [rsp + 0x4c]
jmp 0x14018f0d8
mov r8, r15
xor edx, edx
mov rcx, r10
call fcn.14025e440
mov r10, qword [rsp + 0x88]
add r10, r15
mov qword [rsp + 0x88], r10
mov ecx, dword [rsp + 0x64]
add ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x64], ecx
mov r8d, dword [rsp + 0x60]
add r8d, dword [rsp + 0x70]
mov dword [rsp + 0x60], r8d
sub qword [rsp + 0xa0], 1
mov edi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
jne 0x14018ee40
mov rbp, qword [rsp + 0x80]
mov r12, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0x3c]
inc ebp
mov qword [rsp + 0x80], rbp
add eax, dword [rsp + 0x74]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x78]
add dword [rsp + 0x40], eax
cmp ebp, dword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x34]
jl 0x14018edf0
mov r13, qword [rsp + 0xa8]
test r13, r13
je 0x14018f1a8
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [r13 + 8], eax
cmp eax, 1
jne 0x14018f1a8
mov rbx, qword [rsp + 0xc8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14018f1a8
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret