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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov r9, qword [rdx + 0x20]
mov r14, rcx
mov rax, qword [rdx]
mov r8, qword [rcx + 8]
movaps xmmword [rsp + 0x2d0], xmm6
movss xmm6, dword [0x1406ab460]
mov qword [rsp + 0x78], rdx
mov qword [r8 + 0x180], rax
mov qword [rcx + 0xd0], rdx
mov qword [rcx + 0xd8], r9
mov eax, dword [r9 + 0x10]
mov dword [rcx + 0xe0], eax
mov eax, dword [r9 + 0x18]
mov dword [rcx + 0xe4], eax
xor eax, eax
xor r8b, r8b
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x80], rax
mov rdi, qword [r14 + 0xd8]
xor r10d, r10d
mov eax, dword [r14 + 0xe4]
mov ebx, r10d
movzx ebp, r8b
mov r9d, r10d
movzx edx, r8b
mov r11d, r10d
shl edx, 3
mov esi, r10d
mov ecx, edx
mov qword [rsp + 0x58], rbp
mov r15d, dword [rdi + rbp*4 + 0x2c]
shr eax, cl
movzx r13d, al
mov eax, dword [rdi + 0x14]
mov r12d, r13d
shr rax, cl
mov ecx, r10d
movzx eax, al
shl rax, 5
add rax, 0x4c
mov dword [rsp + 0x3c], r13d
add rax, rdi
mov dword [rsp + 0x34], r15d
mov edi, dword [rdi + rbp*4 + 0x3c]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x4c], ecx
test r13d, r13d
je 0x140180236
nop dword [rax]
nop word [rax + rax]
mov r8d, esi
shl r8, 5
add r8, rax
mov edx, dword [r8 + 8]
test edx, 0x1c00
je 0x140180133
mov ecx, edx
mov eax, edx
shr ecx, 0xd
and ecx, 3
shr eax, 0xc
test al, 1
cmovne ecx, r10d
bt r11d, ecx
jb 0x1401811d2
bts r11d, ecx
mov qword [rsp + rcx*8 + 0x98], r8
mov ecx, dword [rsp + 0x4c]
test edx, 0x40008
je 0x14018014e
mov eax, r9d
inc r9d
mov dword [rsp + 0x48], r9d
mov qword [rsp + rax*8 + 0xd0], r8
mov eax, edx
shr eax, 0x10
test al, 1
je 0x140180167
mov eax, ecx
inc ecx
mov dword [rsp + 0x4c], ecx
mov qword [rsp + rax*8 + 0x1d0], r8
mov eax, edx
shr eax, 2
test al, 1
jne 0x140180180
bts edx, 8
mov dword [r8 + 8], edx
dec r12d
jmp 0x140180222
mov eax, edx
shr eax, 0xa
test al, 1
jne 0x140180222
mov rax, qword [r14 + 0x50]
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
movzx eax, byte [r8 + 0xe]
cmp al, 0xff
je 0x1401801ec
mov ecx, eax
mov r10d, 1
shl r10d, cl
cmp r9d, eax
jne 0x1401801de
bts edx, 8
mov dword [r8 + 8], edx
shr edx, 1
test dl, 1
je 0x1401801d1
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
or r15d, r10d
mov dword [rsp + 0x34], r15d
jmp 0x14018021a
mov rax, qword [r14 + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, r10d
or ebx, ecx
jmp 0x14018021a
cmp r9d, 0xff
je 0x14018021d
mov ecx, r9d
mov r10d, 1
shl r10d, cl
mov eax, r15d
mov ecx, dword [r8 + 0x10]
not eax
and ecx, eax
test r10d, ecx
je 0x140180217
mov byte [r8 + 0xe], r9b
jmp 0x1401801b2
or ebx, r10d
xor r10d, r10d
mov r9d, dword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
inc esi
mov ecx, dword [rsp + 0x4c]
cmp esi, r13d
jb 0x1401800f0
mov dword [rsp + 0x54], r10d
test r11d, r11d
je 0x140180443
lea eax, [r11 + 1]
test r11d, eax
jne 0x1401811d2
not r11d
bsf ecx, r11d
mov r11, qword [rsp + 0x98]
mov dword [rsp + 0x54], ecx
mov eax, dword [r11 + 8]
shr eax, 0xa
test al, 1
je 0x140180443
mov edx, dword [rsp + 0x34]
mov r13d, ebx
or r13d, dword [r14 + rbp*4 + 0x18]
not edx
and r13d, edx
mov dword [rsp + 0x38], r10d
mov r8d, r10d
mov r15d, 0xffffffff
test ecx, ecx
je 0x1401802d0
mov r10, qword [r14 + 0x50]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0x98]
mov r9d, ecx
nop dword [rax]
mov rax, qword [r8]
lea rdx, [rdx + 4]
lea r8, [r8 + 8]
mov ecx, dword [rax]
movzx eax, byte [rcx + r10]
mov dword [rdx - 4], eax
sub r9, 1
jne 0x1401802b0
mov r8d, dword [rsp + 0x38]
mov r9d, dword [r11 + 0x10]
mov eax, r9d
mov dword [rsp + 0x50], r9d
test r9d, r9d
je 0x1401811d9
mov ebp, dword [rsp + 0x54]
nop dword [rax]
bsf edx, eax
lea ecx, [rax - 1]
and eax, ecx
mov dword [rsp + 0x40], edx
bt r9d, edx
jae 0x140180397
mov esi, reloc.WS2_32.dll_ntohs
test ebp, ebp
je 0x14018037c
mov r11d, edx
mov r10d, edx
neg r11d
bt r13d, r10d
jae 0x14018038d
lea ecx, [r11 + r10]
mov r9d, ecx
mov rcx, qword [rsp + rcx*8 + 0x98]
mov r8d, dword [rcx]
mov rcx, qword [r14]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
xor r8d, r8d
movzx edx, byte [rcx + 0x4a]
cmp edx, r10d
mov edx, 2
sete r8b
xor ecx, ecx
cmp dword [rsp + r9*4 + 0xb8], r10d
cmove ecx, edx
inc r10d
add esi, ecx
add esi, r8d
lea ecx, [r11 + r10]
cmp ecx, ebp
jb 0x140180318
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x50]
cmp esi, r8d
jbe 0x140180397
mov r8d, esi
mov dword [rsp + 0x38], esi
mov r15d, edx
jmp 0x140180397
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x50]
test eax, eax
jne 0x1401802f0
mov rbp, qword [rsp + 0x58]
cmp r15d, 0xffffffff
je 0x1401811d9
mov ecx, dword [rsp + 0x54]
mov esi, dword [rsp + 0x34]
test ecx, ecx
je 0x140180439
lea r10, [rsp + 0x98]
mov r11d, ecx
nop word [rax + rax]
mov r8, qword [r10]
mov ecx, r15d
mov rax, qword [r14 + 0x50]
mov edx, 1
shl edx, cl
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
mov byte [r8 + 0xe], r15b
cmp r9d, r15d
jne 0x140180419
mov eax, dword [r8 + 8]
bts eax, 8
mov dword [r8 + 8], eax
shr eax, 1
test al, 1
je 0x140180414
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
jmp 0x140180424
mov rax, qword [r14 + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, edx
or ebx, ecx
or edx, esi
inc r15d
add r10, 8
mov esi, edx
sub r11, 1
jne 0x1401803d0
mov dword [rsp + 0x34], edx
mov r13d, dword [rsp + 0x3c]
xor r10d, r10d
jmp 0x140180447
mov esi, dword [rsp + 0x34]
test r12d, r12d
je 0x14018073c
mov rax, qword [r14 + 0x58]
mov ecx, ebx
not ecx
mov r8d, dword [rax + rbp*4]
mov eax, r10d
and r8d, ecx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r8d
test r13d, r13d
je 0x14018073c
jmp 0x140180484
mov esi, dword [rsp + 0x34]
mov r15d, eax
shl r15, 5
add r15, qword [rsp + 0x60]
mov ecx, dword [r15 + 8]
mov eax, ecx
shr eax, 8
test al, 1
jne 0x140180729
cmp byte [rsp + 0x44], 0
mov r10d, dword [r15]
mov rax, qword [r14 + 0x50]
movzx r9d, byte [rax + r10]
jne 0x1401805ad
shr ecx, 4
test cl, 1
je 0x1401805ad
cmp r9d, 0xff
jne 0x1401805ad
mov ecx, dword [r15 + 0x18]
test ecx, ecx
je 0x1401805ad
lea eax, [rcx - 1]
test ecx, eax
jne 0x1401805ad
mov r8, qword [r14]
movzx r13d, byte [r15 + 0xd]
bsf r11d, ecx
mov rax, qword [r8 + 0x140]
mov qword [rsp + 0x58], r8
mov rdx, qword [rax + r10*8]
mov qword [rsp + 0x68], rdx
mov rax, qword [rdx + 8]
cmp r13d, dword [rax + 8]
ja 0x1401805a3
mov esi, r11d
mov rcx, r8
shr rsi, 2
add rsi, 4
shl rsi, 4
add rsi, qword [rsp + 0x78]
call fcn.14016ba20
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
mov r8d, dword [rsp + 0x38]
shl r13d, 0x18
mov qword [rsp + 0x90], r10
mov eax, dword [rcx + 0x1d8]
shr eax, 3
and eax, 0x1f
mov byte [rsp + 0x44], 1
shl eax, 3
or eax, 0x2002
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 4]
mov dword [rsp + 0x8c], eax
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rsi], xmm0
and dword [rsi], 0xffffff
or dword [rsi], r13d
or dword [r15 + 8], 0x100
dec r12d
mov dword [r15 + 0x18], r10d
jmp 0x140180724
mov r8d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x3c]
cmp byte [r15 + 0xe], 0xff
jne 0x140180729
mov rax, qword [r14]
mov edx, ebx
or edx, esi
not edx
and edx, dword [r15 + 0x10]
mov rcx, qword [rax + 0x140]
mov r11, qword [rcx + r10*8]
movzx eax, byte [r11 + 0x4a]
cmp al, 0xff
je 0x1401805e0
bt edx, eax
mov esi, eax
jb 0x1401805ec
mov eax, edx
and eax, dword [r11 + 0x38]
cmovne edx, eax
bsf esi, edx
mov ecx, esi
mov byte [r15 + 0xe], sil
mov r13d, 1
shl r13d, cl
or dword [rsp + 0x34], r13d
mov eax, r13d
and eax, r8d
or ebx, eax
cmp r9d, 0xff
je 0x1401806bf
mov ecx, r9d
mov edx, 1
shl edx, cl
mov eax, edx
or ebx, edx
not eax
and r8d, eax
mov dword [rsp + 0x38], r8d
test r8d, r13d
jne 0x14018071c
cmp esi, r9d
je 0x14018069c
mov rax, qword [r14 + 0x50]
mov r11d, r10d
mov r8d, esi
mov byte [r10 + rax], sil
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + r9*4], 0xffffffff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], r10d
mov r10d, edx
mov rax, qword [r14 + 0x58]
bts r10d, esi
xor dword [rax + rbp*4], r10d
test dword [rax + rbp*4 + 0x10], edx
mov eax, 0
mov rcx, qword [r14 + 0x58]
mov edx, r11d
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x1401811af
mov r8d, dword [rsp + 0x38]
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x140180719
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, esi
mov dword [rcx + rbp*4 + 0x10], eax
jmp 0x140180719
test eax, eax
jne 0x14018071c
mov rax, qword [r14 + 0x50]
mov r8d, esi
mov edx, r10d
mov byte [r10 + rax], sil
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], r10d
mov rax, qword [r14 + 0x58]
or dword [rax + rbp*4], r13d
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x1401811af
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x140180714
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, esi
mov dword [rcx + rbp*4 + 0x10], eax
mov r8d, dword [rsp + 0x38]
dec r12d
or r8d, r13d
mov dword [rsp + 0x38], r8d
mov r13d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, r13d
jb 0x140180480
mov edx, dword [rsp + 0x34]
mov eax, edi
or eax, edx
mov dword [rsp + 0x38], eax
test ebx, ebx
je 0x140180896
mov rax, qword [r14 + 0x58]
mov r15d, ebx
or r15d, dword [rax + rbp*4]
or r15d, edi
or r15d, edx
not r15d
and r15d, dword [r14 + rbp*4 + 0x18]
nop dword [rax]
mov r8, qword [r14 + 0x58]
lea eax, [rbx - 1]
bsf esi, ebx
and ebx, eax
mov eax, dword [r8 + rbp*4]
bt eax, esi
jae 0x14018088e
mov rax, qword [r14 + rbp*8 + 0x60]
mov edx, dword [rax + rsi*4]
mov dword [rsp + 0x40], edx
test r15d, r15d
je 0x140180834
mov rax, qword [r14]
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
movzx ecx, byte [rax + 0x4a]
cmp cl, 0xff
je 0x140180834
mov r13d, ecx
bt r15d, r13d
jae 0x140180834
cmp r13d, 0xff
je 0x140180834
cmp r13d, esi
je 0x14018082e
mov rax, qword [r14 + 0x50]
mov r11d, 1
mov r9d, esi
mov r8d, r13d
mov byte [rdx + rax], cl
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], 0xffffffff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rcx*4], edx
mov ecx, esi
mov rax, qword [r14 + 0x58]
shl r11d, cl
mov r10d, r11d
bts r10d, r13d
xor dword [rax + rbp*4], r10d
test dword [rax + rbp*4 + 0x10], r11d
mov eax, 0
mov rcx, qword [r14 + 0x58]
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x1401811af
btc r15d, r13d
jmp 0x14018088e
mov eax, dword [r8 + rbp*4 + 0x10]
bt eax, esi
jae 0x14018085e
btr eax, esi
mov dword [r8 + rbp*4 + 0x10], eax
mov r8d, esi
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x1401811af
mov edx, dword [rsp + 0x40]
mov rax, qword [r14 + 0x50]
mov ecx, edx
mov edx, 1
mov byte [rcx + rax], 0xff
mov ecx, esi
mov rax, qword [r14 + rbp*8 + 0x60]
shl edx, cl
not edx
mov dword [rax + rsi*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4], edx
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], edx
test ebx, ebx
jne 0x140180770
test r12d, r12d
je 0x140180bc7
movzx esi, byte [rsp + 0x30]
xor bl, bl
mov ecx, dword [rsp + 0x3c]
mov byte [rsp + 0x45], bl
nop
xor eax, eax
mov dword [rsp + 0x58], r12d
mov dword [rsp + 0x50], eax
test ecx, ecx
je 0x140180bb2
nop dword [rax]
nop word [rax + rax]
mov r15d, eax
shl r15, 5
add r15, qword [rsp + 0x60]
mov eax, dword [r15 + 8]
shr eax, 8
test al, 1
jne 0x140180b95
mov edx, dword [r15]
mov rax, qword [r14 + 0x50]
movzx ebp, byte [r15 + 0xe]
mov dword [rsp + 0x40], edx
mov r10d, ebp
movzx r13d, byte [rdx + rax]
mov rax, qword [r14 + rsi*8 + 0x60]
mov r9d, dword [rax + rbp*4]
cmp r9d, 0xffffffff
je 0x140180ac7
mov rax, qword [r14]
mov qword [rsp + 0x70], r9
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + r9*8]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x10]
test byte [rax + rsi + 0x10], 1
je 0x140180a58
cmp r13d, 0xff
je 0x140180a58
mov rax, qword [r14 + 0x50]
mov ecx, r13d
mov r11d, 1
mov dword [rsp + 0x20], ebp
mov ebx, 1
shl ebx, cl
mov ecx, ebp
mov byte [rdx + rax], bpl
mov rax, qword [r14 + 0x50]
shl r11d, cl
mov ecx, 0
mov byte [r9 + rax], r13b
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + r13*4], r9d
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + rbp*4], edx
mov eax, 0
mov r10, qword [r14 + 0x58]
mov r8d, dword [r10 + rsi*4 + 0x10]
test r11d, r8d
setne cl
test ebx, r8d
setne al
or r11d, ebx
xor ecx, eax
neg ecx
and ecx, r11d
xor ecx, r8d
mov r8d, r13d
mov dword [r10 + rsi*4 + 0x10], ecx
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jne 0x1401811af
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x1401809ea
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rsi*4 + 0x10]
bts eax, ebp
mov dword [rcx + rsi*4 + 0x10], eax
mov r8, qword [rsp + 0x68]
dec r12d
mov edx, dword [rsp + 0x3c]
xor eax, eax
mov r8d, dword [r8]
test rdx, rdx
je 0x140180b95
mov rcx, qword [rsp + 0x60]
nop dword [rax]
cmp dword [rcx], r8d
je 0x140180a26
inc rax
add rcx, 0x20
cmp rax, rdx
jb 0x140180a10
jmp 0x140180b95
movzx eax, byte [rcx + 0xe]
cmp eax, r13d
jne 0x140180b95
mov eax, dword [rcx + 8]
bts eax, 8
mov dword [rcx + 8], eax
shr eax, 1
test al, 1
je 0x140180b92
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rsi*4 + 0x10]
bts eax, r13d
jmp 0x140180b8e
test bl, bl
je 0x140180b95
mov r8, qword [r14 + 0x58]
mov ecx, ebp
mov ebx, 1
shl ebx, cl
mov eax, dword [r8 + rsi*4 + 0x10]
test eax, ebx
je 0x140180a9c
btr eax, ebp
mov edx, r9d
mov dword [r8 + rsi*4 + 0x10], eax
mov r8d, ebp
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x1401811af
mov edx, dword [rsp + 0x40]
mov r10, rbp
mov rax, qword [r14 + 0x50]
not ebx
mov rcx, qword [rsp + 0x70]
mov byte [rcx + rax], 0xff
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + r10*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4], ebx
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4 + 0x10], ebx
cmp r13d, 0xff
je 0x140180b3e
cmp ebp, r13d
je 0x140180b71
mov rax, qword [r14 + 0x50]
mov r10d, 1
mov ecx, edx
mov r9d, r13d
mov byte [rcx + rax], bpl
mov ecx, r13d
mov rax, qword [r14 + rsi*8 + 0x60]
shl r10d, cl
mov r8d, r10d
bts r8d, ebp
mov dword [rax + r13*4], 0xffffffff
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + rbp*4], edx
mov rax, qword [r14 + 0x58]
mov edx, dword [rsp + 0x40]
xor dword [rax + rsi*4], r8d
test dword [rax + rsi*4 + 0x10], r10d
mov eax, 0
mov rcx, qword [r14 + 0x58]
cmovne eax, r8d
mov r8d, ebp
xor dword [rcx + rsi*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
jmp 0x140180b69
mov rax, qword [r14 + 0x50]
mov r8d, ebp
mov ecx, edx
mov byte [rcx + rax], bpl
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + rbp*4], edx
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rsi*4]
bts eax, ebp
mov dword [rcx + rsi*4], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x1401811af
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x140180b92
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rsi*4 + 0x10]
bts eax, ebp
mov dword [rcx + rsi*4 + 0x10], eax
dec r12d
mov eax, dword [rsp + 0x50]
movzx ebx, byte [rsp + 0x45]
inc eax
mov dword [rsp + 0x50], eax
cmp eax, dword [rsp + 0x3c]
jb 0x1401808d0
mov ecx, dword [rsp + 0x3c]
cmp dword [rsp + 0x58], r12d
sete bl
mov byte [rsp + 0x45], bl
test r12d, r12d
jne 0x1401808b0
mov eax, dword [rsp + 0x48]
mov r13d, eax
cmp eax, 1
jb 0x140180c53
movzx esi, byte [rsp + 0x30]
lea r10, [rsp + 0xd0]
mov ebx, eax
nop word [rax + rax]
mov r11, qword [r10]
mov rax, qword [r14 + 0x50]
mov ecx, dword [r11]
movzx r8d, byte [rcx + rax]
cmp r8d, 0xff
je 0x140180c38
mov byte [rcx + rax], 0xff
mov edx, 1
mov rax, qword [r14 + rsi*8 + 0x60]
mov ecx, r8d
shl edx, cl
not edx
mov dword [rax + r8*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4], edx
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4 + 0x10], edx
btr edi, r8d
mov eax, dword [r11 + 8]
add r10, 8
shr eax, 3
not al
and eax, 1
sub r13d, eax
sub rbx, 1
jne 0x140180bf0
jmp 0x140180c58
movzx esi, byte [rsp + 0x30]
test edi, edi
je 0x140180cda
movzx r12d, sil
movzx esi, sil
bsf r8d, edi
lea eax, [rdi - 1]
and edi, eax
mov r15d, r8d
mov rax, qword [r14 + r12*8 + 0x60]
mov ebp, dword [rax + r8*4]
cmp ebp, 0xffffffff
je 0x140180cd6
mov rdx, qword [r14 + 0x58]
mov ecx, r8d
mov ebx, 1
shl ebx, cl
mov eax, dword [rdx + rsi*4 + 0x10]
test eax, ebx
je 0x140180caf
btr eax, r8d
mov dword [rdx + rsi*4 + 0x10], eax
mov edx, ebp
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x1401811af
mov rax, qword [r14 + 0x50]
not ebx
mov byte [rbp + rax], 0xff
mov rax, qword [r14 + rsi*8 + 0x60]
mov dword [rax + r15*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4], ebx
mov rax, qword [r14 + 0x58]
and dword [rax + rsi*4 + 0x10], ebx
test edi, edi
jne 0x140180c64
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x140180d2a
lea r15, [rsp + 0x1d0]
mov ebp, eax
nop dword [rax]
mov rbx, qword [r15]
mov esi, dword [rbx]
movzx edi, byte [rbx + 0xe]
mov ebx, dword [rbx + 0x10]
test ebx, ebx
je 0x140180d20
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
cmp r8d, edi
je 0x140180d1c
mov rcx, qword [r14]
mov r9d, edi
mov edx, esi
mov rax, qword [rcx]
call qword [rax + 0x40]
test ebx, ebx
jne 0x140180d00
add r15, 8
sub rbp, 1
jne 0x140180cf0
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + 0x10], 0x12
jne 0x140180df9
movzx r9d, byte [rsp + 0x30]
cmp r9b, 1
jne 0x140180dff
mov rbx, qword [r14 + 0x58]
mov ebx, dword [rbx + r9*4]
and ebx, dword [rcx + r9*4 + 0xa4]
je 0x140180dff
movzx ebp, byte [r9 + rcx + 0x8c]
nop dword [rax + rax]
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
mov esi, r8d
mov rax, qword [r14 + 0x68]
mov edx, dword [rax + r8*4]
mov rax, qword [r14]
mov r15d, edx
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
mov rcx, qword [rax + 8]
cmp dword [rcx + 8], ebp
jbe 0x140180df1
mov r9, qword [r14 + 0x58]
mov ecx, r8d
mov edi, 1
shl edi, cl
mov eax, dword [r9 + 0x14]
test edi, eax
je 0x140180dcd
btr eax, r8d
mov dword [r9 + 0x14], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x1401811af
mov rax, qword [r14 + 0x50]
not edi
mov byte [r15 + rax], 0xff
mov rax, qword [r14 + 0x68]
mov dword [rax + rsi*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + 4], edi
mov rax, qword [r14 + 0x58]
and dword [rax + 0x14], edi
test ebx, ebx
jne 0x140180d70
movzx r9d, byte [rsp + 0x30]
test r13d, r13d
je 0x140181179
mov edx, dword [rsp + 0x38]
xor r11d, r11d
mov rax, qword [r14 + 0x58]
not edx
mov r8d, dword [rsp + 0x34]
and edx, r8d
mov r13d, dword [rsp + 0x54]
movzx ecx, r9b
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x3c], edx
mov r12d, dword [rax + rcx*4]
mov dword [rsp + 0x40], r12d
test r13d, r13d
je 0x140180f2d
mov r10, qword [rsp + 0x98]
mov eax, dword [r10 + 8]
shr eax, 0xb
test al, 1
je 0x140180f2d
mov r15d, dword [r10 + 0x14]
mov ecx, edx
movzx eax, r9b
not ecx
xor ebp, ebp
mov esi, 0xffffffff
mov edi, dword [r14 + rax*4 + 0x18]
mov eax, r15d
and edi, ecx
test r15d, r15d
je 0x1401811d9
nop
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
bt r15d, ebx
jae 0x140180ee4
xor r9d, r9d
mov r11d, reloc.WS2_32.dll_ntohs
test r13d, r13d
je 0x140180eda
nop dword [rax]
lea r10d, [rbx + r9]
bt edi, r10d
jae 0x140180ee4
mov rdx, qword [rsp + r9*8 + 0x98]
mov rcx, qword [r14]
mov r8d, dword [rdx]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
movzx edx, byte [rcx + 0x4a]
xor ecx, ecx
cmp edx, r10d
sete cl
inc r9d
add r11d, ecx
cmp r9d, r13d
jb 0x140180ea0
cmp r11d, ebp
jbe 0x140180ee4
mov ebp, r11d
mov esi, ebx
test eax, eax
jne 0x140180e80
cmp esi, 0xffffffff
je 0x1401811d9
xor edx, edx
test r13d, r13d
je 0x140180f1b
lea r8, [rsp + 0x98]
mov rax, qword [r8]
lea ecx, [rsi + rdx]
inc edx
lea r8, [r8 + 8]
mov byte [rax + 0xf], cl
cmp edx, r13d
jb 0x140180f00
mov r11d, dword [rsp + 0x4c]
jmp 0x140180f1e
mov r11d, edx
movzx r9d, byte [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x48]
xor r13d, r13d
test esi, esi
je 0x140181174
movzx edi, r9b
mov r15, qword [rsp + r13*8 + 0xd0]
mov ecx, dword [r15 + 8]
mov eax, ecx
shr eax, 3
test al, 1
je 0x14018115f
mov r10d, dword [r15]
mov eax, edx
shr ecx, 0xf
test cl, 1
mov dword [rsp + 0x58], r10d
mov rcx, qword [r14 + 0x50]
cmovne eax, r8d
movzx ecx, byte [rcx + r10]
cmp ecx, 0xff
je 0x140180fb0
mov rdx, qword [r14 + 0x50]
mov r8d, 1
shl r8d, cl
not r8d
mov byte [r10 + rdx], 0xff
mov rdx, qword [r14 + rdi*8 + 0x60]
mov dword [rdx + rcx*4], 0xffffffff
mov rdx, qword [r14 + 0x58]
and dword [rdx + rdi*4], r8d
mov rcx, qword [r14 + 0x58]
and dword [rcx + rdi*4 + 0x10], r8d
movzx ebx, byte [r15 + 0xf]
cmp ebx, 0xff
jne 0x140181101
or eax, r11d
mov edx, r12d
not eax
not edx
and eax, dword [r15 + 0x14]
and edx, eax
jne 0x1401810d7
and eax, r12d
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
mov r8d, ebx
mov rcx, qword [r14 + rdi*8 + 0x60]
mov ebp, dword [rcx + rbx*4]
je 0x140181071
mov rcx, qword [r14]
mov r11, qword [rcx + 0x140]
mov rcx, qword [r14 + 0x58]
mov rdx, qword [r11 + rbp*8]
mov esi, dword [rcx + rdi*4 + 0x10]
bt esi, r8d
movss xmm0, dword [rdx + 0x64]
mulss xmm0, xmm6
cvttss2si r10d, xmm0
jae 0x140181024
add r10d, 0x40000
mov r12, qword [r14 + rdi*8 + 0x60]
nop dword [rax]
bsf r8d, eax
lea ecx, [rax - 1]
and eax, ecx
bt esi, r8d
mov r9d, dword [r12 + r8*4]
mov rdx, qword [r11 + r9*8]
movss xmm0, dword [rdx + 0x64]
mulss xmm0, xmm6
cvttss2si ecx, xmm0
jae 0x14018105a
add ecx, 0x40000
cmp ecx, r10d
jae 0x140181068
mov r10d, ecx
mov ebx, r8d
mov ebp, r9d
test eax, eax
jne 0x140181030
mov r12d, dword [rsp + 0x40]
mov rdx, qword [r14 + 0x58]
mov ecx, ebx
mov esi, 1
shl esi, cl
mov eax, dword [rdx + rdi*4 + 0x10]
test eax, esi
je 0x1401810a3
btr eax, ebx
mov r8d, ebx
mov dword [rdx + rdi*4 + 0x10], eax
mov edx, ebp
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x1401811af
mov rax, qword [r14 + 0x50]
not esi
mov r10d, dword [rsp + 0x58]
mov ecx, ebp
mov byte [rcx + rax], 0xff
mov rax, qword [r14 + rdi*8 + 0x60]
mov ecx, ebx
mov dword [rax + rcx*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rdi*4], esi
mov rax, qword [r14 + 0x58]
and dword [rax + rdi*4 + 0x10], esi
mov esi, dword [rsp + 0x48]
jmp 0x140181101
mov rax, qword [r14]
mov rcx, qword [rax + 0x140]
mov r8, qword [rcx + r10*8]
movzx eax, byte [r8 + 0x4a]
cmp al, 0xff
je 0x1401810f5
bt edx, eax
mov ebx, eax
jb 0x140181101
mov eax, edx
and eax, dword [r8 + 0x38]
cmovne edx, eax
bsf ebx, edx
mov eax, dword [r15 + 8]
shr eax, 0x12
test al, 1
jne 0x140181139
mov rax, qword [r14 + 0x50]
mov edx, 1
mov ecx, r10d
mov byte [rcx + rax], bl
mov rax, qword [r14 + rdi*8 + 0x60]
mov ecx, ebx
mov dword [rax + rcx*4], r10d
mov ecx, ebx
mov rax, qword [r14 + 0x58]
shl edx, cl
or dword [rax + rdi*4], edx
mov rax, qword [r14 + 0x58]
or dword [rax + rdi*4 + 0x10], edx
mov r11d, dword [rsp + 0x4c]
movzx eax, bl
or dword [r15 + 8], 0x100
bts r11d, ebx
btr r12d, ebx
mov byte [r15 + 0xf], bl
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x4c], r11d
mov edx, dword [rsp + 0x3c]
inc r13d
mov r8d, dword [rsp + 0x34]
cmp r13d, esi
jb 0x140180f40
or dword [rsp + 0x38], r11d
movzx eax, byte [rsp + 0x30]
mov r10, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x38]
inc r10b
mov qword [rsp + 0x80], r10
movzx r8d, r10b
or dword [r14 + rax*4 + 0x28], ecx
mov byte [rsp + 0x30], r10b
cmp r10b, 4
jne 0x14018006a
xor eax, eax
mov rbx, qword [rsp + 0x330]
movaps xmm6, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 3
jmp 0x1401811af
mov eax, 0x3d
jmp 0x1401811af