Function at 0x140179530
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 rsi, rcx
mov rax, qword [rdx]
mov r8, qword [rcx + 8]
movaps xmmword [rsp + 0x2d0], xmm6
movss xmm6, dword [0x140347558]
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 + 0x40], 0
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x80], rax
nop word [rax + rax]
mov rdi, qword [rsi + 0xd8]
mov eax, dword [rsi + 0xe4]
movzx ebp, r8b
movzx edx, r8b
xor r8d, r8d
shl edx, 3
lea r13, [rdi + 0x4c]
mov ecx, edx
mov qword [rsp + 0x68], rbp
mov edx, dword [rdi + rbp*4 + 0x2c]
mov ebx, r8d
shr eax, cl
mov r9d, r8d
movzx r15d, al
mov r11d, r8d
mov eax, dword [rdi + 0x14]
mov r12d, r15d
mov edi, dword [rdi + rbp*4 + 0x3c]
mov r14d, r8d
shr rax, cl
mov ecx, r8d
movzx eax, al
shl rax, 5
add r13, rax
mov dword [rsp + 0x3c], r15d
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x4c], ecx
test r15d, r15d
je 0x140179781
nop word [rax + rax]
mov r8d, r14d
shl r8, 5
add r8, r13
mov edx, dword [r8 + 8]
test edx, 0x1c00
je 0x140179677
mov eax, edx
mov ecx, edx
shr ecx, 0xd
and ecx, 3
shr eax, 0xc
test al, 1
mov eax, 0
cmovne ecx, eax
bt r11d, ecx
jb 0x14017a773
bts r11d, ecx
mov qword [rsp + rcx*8 + 0x98], r8
mov ecx, dword [rsp + 0x4c]
test edx, 0x40008
je 0x140179692
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 0x1401796ab
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 0x1401796c4
bts edx, 8
mov dword [r8 + 8], edx
dec r12d
jmp 0x14017976a
mov eax, edx
shr eax, 0xa
test al, 1
jne 0x14017976a
mov rax, qword [rsi + 0x50]
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
movzx eax, byte [r8 + 0xe]
cmp al, 0xff
je 0x140179704
mov ecx, eax
mov r10d, 1
shl r10d, cl
cmp r9d, eax
je 0x14017972e
mov rax, qword [rsi + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, r10d
or ebx, ecx
jmp 0x140179765
cmp r9d, 0xff
je 0x140179765
mov eax, dword [rsp + 0x34]
mov ecx, r9d
mov r10d, 1
not eax
shl r10d, cl
mov ecx, dword [r8 + 0x10]
and ecx, eax
test r10d, ecx
je 0x140179762
mov byte [r8 + 0xe], r9b
bts edx, 8
mov dword [r8 + 8], edx
shr edx, 1
test dl, 1
je 0x14017974d
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
mov edx, dword [rsp + 0x34]
dec r12d
mov r9d, dword [rsp + 0x48]
or edx, r10d
mov dword [rsp + 0x34], edx
jmp 0x14017976e
or ebx, r10d
mov r9d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x4c]
inc r14d
cmp r14d, r15d
jb 0x140179630
xor r8d, r8d
mov dword [rsp + 0x58], r8d
test r11d, r11d
je 0x14017998a
lea eax, [r11 + 1]
test r11d, eax
jne 0x14017a773
not r11d
bsf ecx, r11d
mov r11, qword [rsp + 0x98]
mov dword [rsp + 0x58], ecx
mov eax, dword [r11 + 8]
shr eax, 0xa
test al, 1
je 0x14017998a
mov r13d, ebx
mov dword [rsp + 0x38], r8d
or r13d, dword [rsi + rbp*4 + 0x18]
mov eax, edx
not eax
mov r15d, 0xffffffff
and r13d, eax
test ecx, ecx
je 0x140179813
mov r10, qword [rsi + 0x50]
lea rdx, [rsp + 0xb8]
lea r8, [rsp + 0x98]
mov r9d, ecx
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 0x1401797f3
mov r8d, dword [rsp + 0x38]
mov r9d, dword [r11 + 0x10]
mov eax, r9d
mov dword [rsp + 0x54], r9d
test r9d, r9d
je 0x14017a77a
mov ebp, dword [rsp + 0x58]
nop dword [rax]
bsf edx, eax
lea ecx, [rax - 1]
and eax, ecx
mov dword [rsp + 0x44], edx
bt r9d, edx
jae 0x1401798e1
mov r14d, reloc.WS2_32.dll_ntohs
test ebp, ebp
je 0x1401798c5
mov r11d, edx
mov r10d, edx
neg r11d
nop dword [rax]
bt r13d, r10d
jae 0x1401798d7
lea ecx, [r10 + r11]
mov r9d, ecx
mov rcx, qword [rsp + rcx*8 + 0x98]
mov r8d, dword [rcx]
mov rcx, qword [rsi]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
movzx edx, byte [rcx + 0x4a]
xor ecx, ecx
cmp edx, r10d
mov r8d, ecx
mov edx, 2
sete r8b
cmp dword [rsp + r9*4 + 0xb8], r10d
cmove ecx, edx
inc r10d
add r14d, ecx
add r14d, r8d
lea ecx, [r10 + r11]
cmp ecx, ebp
jb 0x140179860
mov edx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x54]
cmp r14d, r8d
jbe 0x1401798e1
mov r8d, r14d
mov dword [rsp + 0x38], r14d
mov r15d, edx
jmp 0x1401798e1
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x54]
test eax, eax
jne 0x140179830
mov rbp, qword [rsp + 0x68]
cmp r15d, 0xffffffff
je 0x14017a77a
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x14017997d
mov edi, dword [rsp + 0x34]
lea r10, [rsp + 0x98]
mov r11d, ecx
nop
mov r8, qword [r10]
mov ecx, r15d
mov rax, qword [rsi + 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 0x140179959
mov eax, dword [r8 + 8]
bts eax, 8
mov dword [r8 + 8], eax
shr eax, 1
test al, 1
je 0x140179954
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
jmp 0x140179964
mov rax, qword [rsi + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, edx
or ebx, ecx
or edx, edi
inc r15d
add r10, 8
mov edi, edx
sub r11, 1
jne 0x140179910
mov edi, dword [rsp + 0x50]
mov dword [rsp + 0x34], edx
mov r13, qword [rsp + 0x60]
xor r8d, r8d
mov r15d, dword [rsp + 0x3c]
test r12d, r12d
je 0x140179caa
mov rax, qword [rsi + 0x58]
mov ecx, ebx
not ecx
mov r10d, dword [rax + rbp*4]
mov eax, r8d
and r10d, ecx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x38], r10d
test r15d, r15d
je 0x140179caa
nop word [rax + rax]
mov r14d, eax
shl r14, 5
add r14, r13
mov ecx, dword [r14 + 8]
mov eax, ecx
shr eax, 8
test al, 1
jne 0x140179c92
cmp byte [rsp + 0x40], 0
mov r8d, dword [r14]
mov rax, qword [rsi + 0x50]
movzx r9d, byte [rax + r8]
jne 0x140179b0c
shr ecx, 4
test cl, 1
je 0x140179b0c
cmp r9d, 0xff
jne 0x140179b0c
mov ecx, dword [r14 + 0x18]
test ecx, ecx
je 0x140179b0c
lea eax, [rcx - 1]
test ecx, eax
jne 0x140179b0c
mov rdx, qword [rsi]
bsf r15d, ecx
mov rax, qword [rdx + 0x140]
movzx ecx, byte [r14 + 0xd]
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x50], ecx
mov r13, qword [rax + r8*8]
mov rax, qword [r13 + 8]
mov r11d, dword [rax + 8]
cmp ecx, r11d
ja 0x140179b07
shr r15, 2
add r15, 4
shl r15, 4
add r15, qword [rsp + 0x78]
cmp qword [r13 + 0x18], 0
jne 0x140179aa4
movzx r9d, byte [rax + 0xc]
lea rcx, [rdx + 0x1f8]
mov edx, dword [rdx + 0x1dc]
mov r8d, r11d
mov dword [rsp + 0x20], 1
call fcn.1401810e0
or dword [r13 + 0x24], 0x10
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x38]
mov qword [r13 + 0x18], rax
mov eax, dword [rdx + 0x1d8]
xor r8d, r8d
shr eax, 3
and eax, 0x1f
shl ecx, 0x18
shl eax, 3
or eax, 0x2002
mov qword [rsp + 0x90], r8
mov dword [rsp + 0x88], eax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x8c], eax
movups xmm0, xmmword [rsp + 0x88]
mov byte [rsp + 0x40], 1
movups xmmword [r15], xmm0
and dword [r15], 0xffffff
or dword [r15], ecx
or dword [r14 + 8], 0x100
dec r12d
mov dword [r14 + 0x18], r8d
jmp 0x140179c8d
mov r15d, dword [rsp + 0x3c]
cmp byte [r14 + 0xe], 0xff
jne 0x140179c92
mov rax, qword [rsi]
mov edx, ebx
or edx, dword [rsp + 0x34]
not edx
and edx, dword [r14 + 0x10]
mov rcx, qword [rax + 0x140]
mov r11, qword [rcx + r8*8]
movzx eax, byte [r11 + 0x4a]
cmp al, 0xff
je 0x140179b42
bt edx, eax
mov r15d, eax
jb 0x140179b4f
mov eax, edx
and eax, dword [r11 + 0x38]
cmovne edx, eax
bsf r15d, edx
mov ecx, r15d
mov byte [r14 + 0xe], r15b
mov r13d, 1
shl r13d, cl
or dword [rsp + 0x34], r13d
mov eax, r13d
and eax, r10d
or ebx, eax
cmp r9d, 0xff
je 0x140179c24
mov ecx, r9d
mov edx, 1
shl edx, cl
mov eax, edx
or ebx, edx
not eax
and r10d, eax
mov dword [rsp + 0x38], r10d
test r10d, r13d
jne 0x140179c85
cmp r15d, r9d
je 0x140179c00
mov rax, qword [rsi + 0x50]
mov r10d, edx
bts r10d, r15d
mov r11d, r8d
mov byte [r8 + rax], r15b
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r9*4], 0xffffffff
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], r8d
mov r8d, r15d
mov rax, qword [rsi + 0x58]
xor dword [rax + rbp*4], r10d
test dword [rax + rbp*4 + 0x10], edx
mov eax, 0
mov rcx, qword [rsi + 0x58]
mov edx, r11d
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x14017a750
mov r10d, dword [rsp + 0x38]
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x140179c82
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r15d
mov dword [rcx + rbp*4 + 0x10], eax
jmp 0x140179c82
test eax, eax
jne 0x140179c85
mov rax, qword [rsi + 0x50]
mov r11d, r8d
mov edx, r11d
mov byte [r8 + rax], r15b
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], r8d
mov r8d, r15d
mov rax, qword [rsi + 0x58]
or dword [rax + rbp*4], r13d
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x14017a750
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x140179c7d
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r15d
mov dword [rcx + rbp*4 + 0x10], eax
mov r10d, dword [rsp + 0x38]
dec r12d
or r10d, r13d
mov dword [rsp + 0x38], r10d
mov r15d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x44]
mov r13, qword [rsp + 0x60]
inc eax
mov dword [rsp + 0x44], eax
cmp eax, r15d
jb 0x1401799c0
mov ecx, dword [rsp + 0x34]
mov eax, edi
or eax, ecx
mov dword [rsp + 0x38], eax
test ebx, ebx
je 0x140179e13
mov rax, qword [rsi + 0x58]
mov r15d, ebx
or r15d, dword [rax + rbp*4]
or r15d, edi
or r15d, ecx
not r15d
and r15d, dword [rsi + rbp*4 + 0x18]
nop word [rax + rax]
mov r8, qword [rsi + 0x58]
lea eax, [rbx - 1]
bsf r14d, ebx
and ebx, eax
mov eax, dword [r8 + rbp*4]
bt eax, r14d
jae 0x140179e0b
mov rax, qword [rsi + rbp*8 + 0x60]
mov edx, dword [rax + r14*4]
mov dword [rsp + 0x50], edx
test r15d, r15d
je 0x140179dad
mov rax, qword [rsi]
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
movzx ecx, byte [rax + 0x4a]
cmp cl, 0xff
je 0x140179dad
mov r13d, ecx
bt r15d, r13d
jae 0x140179dad
cmp r13d, 0xff
je 0x140179dad
cmp r13d, r14d
je 0x140179da7
mov rax, qword [rsi + 0x50]
mov r11d, 1
mov r9d, r14d
mov r8d, r13d
mov byte [rdx + rax], cl
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r14*4], 0xffffffff
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + rcx*4], edx
mov ecx, r14d
mov rax, qword [rsi + 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 [rsi + 0x58]
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x14017a750
btc r15d, r13d
jmp 0x140179e0b
mov eax, dword [r8 + rbp*4 + 0x10]
bt eax, r14d
jae 0x140179dd9
btr eax, r14d
mov dword [r8 + rbp*4 + 0x10], eax
mov r8d, r14d
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14017a750
mov edx, dword [rsp + 0x50]
mov rax, qword [rsi + 0x50]
mov ecx, edx
mov edx, 1
mov byte [rcx + rax], 0xff
mov ecx, r14d
mov rax, qword [rsi + rbp*8 + 0x60]
shl edx, cl
not edx
mov dword [rax + r14*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4], edx
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4 + 0x10], edx
test ebx, ebx
jne 0x140179ce0
test r12d, r12d
je 0x14017a14d
movzx ebp, byte [rsp + 0x30]
xor bl, bl
mov ecx, dword [rsp + 0x3c]
mov byte [rsp + 0x41], bl
nop dword [rax + rax]
xor eax, eax
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], eax
test ecx, ecx
je 0x14017a138
nop dword [rax]
nop word [rax + rax]
mov r14d, eax
shl r14, 5
add r14, qword [rsp + 0x60]
mov eax, dword [r14 + 8]
shr eax, 8
test al, 1
jne 0x14017a11b
mov edx, dword [r14]
mov rax, qword [rsi + 0x50]
movzx r15d, byte [r14 + 0xe]
mov dword [rsp + 0x44], edx
mov r10d, r15d
movzx r13d, byte [rdx + rax]
mov rax, qword [rsi + rbp*8 + 0x60]
mov r9d, dword [rax + r15*4]
cmp r9d, 0xffffffff
je 0x14017a049
mov rax, qword [rsi]
mov qword [rsp + 0x70], r9
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + r9*8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x10]
test byte [rax + rbp + 0x10], 1
je 0x140179fd8
cmp r13d, 0xff
je 0x140179fd8
mov rax, qword [rsi + 0x50]
mov ecx, r13d
mov r11d, 1
mov dword [rsp + 0x20], r15d
mov ebx, 1
shl ebx, cl
mov ecx, r15d
mov byte [rdx + rax], r15b
mov rax, qword [rsi + 0x50]
shl r11d, cl
mov byte [r9 + rax], r13b
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r13*4], r9d
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], edx
mov eax, 0
mov r10, qword [rsi + 0x58]
mov ecx, eax
mov r8d, dword [r10 + rbp*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 + rbp*4 + 0x10], ecx
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jne 0x14017a750
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x140179f6b
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r15d
mov dword [rcx + rbp*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 0x14017a11b
mov rcx, qword [rsp + 0x60]
nop word [rax + rax]
cmp dword [rcx], r8d
je 0x140179fa6
inc rax
add rcx, 0x20
cmp rax, rdx
jb 0x140179f90
jmp 0x14017a11b
movzx eax, byte [rcx + 0xe]
cmp eax, r13d
jne 0x14017a11b
mov eax, dword [rcx + 8]
bts eax, 8
mov dword [rcx + 8], eax
shr eax, 1
test al, 1
je 0x14017a118
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r13d
jmp 0x14017a114
test bl, bl
je 0x14017a11b
mov r8, qword [rsi + 0x58]
mov ecx, r15d
mov ebx, 1
shl ebx, cl
mov eax, dword [r8 + rbp*4 + 0x10]
test eax, ebx
je 0x14017a01e
btr eax, r15d
mov edx, r9d
mov dword [r8 + rbp*4 + 0x10], eax
mov r8d, r15d
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14017a750
mov edx, dword [rsp + 0x44]
mov r10, r15
mov rax, qword [rsi + 0x50]
not ebx
mov rcx, qword [rsp + 0x70]
mov byte [rcx + rax], 0xff
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r10*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4], ebx
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4 + 0x10], ebx
cmp r13d, 0xff
je 0x14017a0c1
cmp r15d, r13d
je 0x14017a0f6
mov rax, qword [rsi + 0x50]
mov r10d, 1
mov ecx, edx
mov r9d, r13d
mov byte [rcx + rax], r15b
mov ecx, r13d
mov rax, qword [rsi + rbp*8 + 0x60]
shl r10d, cl
mov r8d, r10d
bts r8d, r15d
mov dword [rax + r13*4], 0xffffffff
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], edx
mov rax, qword [rsi + 0x58]
mov edx, dword [rsp + 0x44]
xor dword [rax + rbp*4], r8d
test dword [rax + rbp*4 + 0x10], r10d
mov eax, 0
mov rcx, qword [rsi + 0x58]
cmovne eax, r8d
mov r8d, r15d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x40]
jmp 0x14017a0ee
mov rax, qword [rsi + 0x50]
mov r8d, r15d
mov ecx, edx
mov byte [rcx + rax], r15b
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], edx
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4]
bts eax, r15d
mov dword [rcx + rbp*4], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x14017a750
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x14017a118
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r15d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
mov eax, dword [rsp + 0x54]
movzx ebx, byte [rsp + 0x41]
inc eax
mov dword [rsp + 0x54], eax
cmp eax, dword [rsp + 0x3c]
jb 0x140179e50
mov ecx, dword [rsp + 0x3c]
cmp dword [rsp + 0x50], r12d
sete bl
mov byte [rsp + 0x41], bl
test r12d, r12d
jne 0x140179e30
mov eax, dword [rsp + 0x48]
mov r13d, eax
cmp eax, 1
jb 0x14017a1d3
movzx ebp, byte [rsp + 0x30]
lea r10, [rsp + 0xd0]
mov ebx, eax
nop dword [rax + rax]
mov r11, qword [r10]
mov rax, qword [rsi + 0x50]
mov ecx, dword [r11]
movzx r8d, byte [rcx + rax]
cmp r8d, 0xff
je 0x14017a1b8
mov byte [rcx + rax], 0xff
mov edx, 1
mov rax, qword [rsi + rbp*8 + 0x60]
mov ecx, r8d
shl edx, cl
not edx
mov dword [rax + r8*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4], edx
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*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 0x14017a170
jmp 0x14017a1d8
movzx ebp, byte [rsp + 0x30]
test edi, edi
je 0x14017a268
movzx r12d, bpl
movzx ebp, bpl
nop dword [rax + rax]
bsf r8d, edi
lea eax, [rdi - 1]
and edi, eax
mov r15d, r8d
mov rax, qword [rsi + r12*8 + 0x60]
mov r14d, dword [rax + r8*4]
cmp r14d, 0xffffffff
je 0x14017a264
mov rdx, qword [rsi + 0x58]
mov ecx, r8d
mov ebx, 1
shl ebx, cl
mov eax, dword [rdx + rbp*4 + 0x10]
test eax, ebx
je 0x14017a23d
btr eax, r8d
mov dword [rdx + rbp*4 + 0x10], eax
mov edx, r14d
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14017a750
mov rax, qword [rsi + 0x50]
not ebx
mov byte [r14 + rax], 0xff
mov rax, qword [rsi + rbp*8 + 0x60]
mov dword [rax + r15*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4], ebx
mov rax, qword [rsi + 0x58]
and dword [rax + rbp*4 + 0x10], ebx
test edi, edi
jne 0x14017a1f0
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x14017a2ba
lea r14, [rsp + 0x1d0]
mov r15d, eax
nop dword [rax + rax]
mov rbx, qword [r14]
mov ebp, dword [rbx]
movzx edi, byte [rbx + 0xe]
mov ebx, dword [rbx + 0x10]
test ebx, ebx
je 0x14017a2b0
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
cmp r8d, edi
je 0x14017a2ac
mov rcx, qword [rsi]
mov r9d, edi
mov edx, ebp
mov rax, qword [rcx]
call qword [rax + 0x40]
test ebx, ebx
jne 0x14017a290
add r14, 8
sub r15, 1
jne 0x14017a280
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + 0x10], 0x12
jne 0x14017a38a
movzx r9d, byte [rsp + 0x30]
cmp r9b, 1
jne 0x14017a390
mov rbx, qword [rsi + 0x58]
mov ebx, dword [rbx + r9*4]
and ebx, dword [rcx + r9*4 + 0xa4]
je 0x14017a390
movzx r15d, byte [r9 + rcx + 0x8c]
nop dword [rax + rax]
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
mov ebp, r8d
mov rax, qword [rsi + 0x68]
mov edx, dword [rax + r8*4]
mov rax, qword [rsi]
mov r14d, edx
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
mov rcx, qword [rax + 8]
cmp dword [rcx + 8], r15d
jbe 0x14017a382
mov r9, qword [rsi + 0x58]
mov ecx, r8d
mov edi, 1
shl edi, cl
mov eax, dword [r9 + 0x14]
test edi, eax
je 0x14017a35e
btr eax, r8d
mov dword [r9 + 0x14], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14017a750
mov rax, qword [rsi + 0x50]
not edi
mov byte [r14 + rax], 0xff
mov rax, qword [rsi + 0x68]
mov dword [rax + rbp*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + 4], edi
mov rax, qword [rsi + 0x58]
and dword [rax + 0x14], edi
test ebx, ebx
jne 0x14017a300
movzx r9d, byte [rsp + 0x30]
test r13d, r13d
je 0x14017a71b
mov edx, dword [rsp + 0x38]
xor r11d, r11d
mov rax, qword [rsi + 0x58]
not edx
mov r8d, dword [rsp + 0x34]
and edx, r8d
mov r13d, dword [rsp + 0x58]
movzx ecx, r9b
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x3c], edx
mov r12d, dword [rax + rcx*4]
mov dword [rsp + 0x44], r12d
test r13d, r13d
je 0x14017a4c8
mov r10, qword [rsp + 0x98]
mov eax, dword [r10 + 8]
shr eax, 0xb
test al, 1
je 0x14017a4c8
mov r15d, dword [r10 + 0x14]
xor r8d, r8d
movzx eax, r9b
mov ecx, edx
not ecx
mov r14d, r8d
mov ebp, 0xffffffff
mov edi, dword [rsi + rax*4 + 0x18]
mov eax, r15d
and edi, ecx
test r15d, r15d
je 0x14017a77a
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
bt r15d, ebx
jae 0x14017a47b
mov r11d, reloc.WS2_32.dll_ntohs
mov r9d, r8d
test r13d, r13d
je 0x14017a471
nop
lea r10d, [rbx + r9]
bt edi, r10d
jae 0x14017a47b
mov ecx, r9d
mov rdx, qword [rsp + rcx*8 + 0x98]
mov rcx, qword [rsi]
mov r8d, dword [rdx]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
xor r8d, r8d
movzx edx, byte [rcx + 0x4a]
mov ecx, r8d
cmp edx, r10d
sete cl
inc r9d
add r11d, ecx
cmp r9d, r13d
jb 0x14017a430
cmp r11d, r14d
jbe 0x14017a47b
mov r14d, r11d
mov ebp, ebx
test eax, eax
jne 0x14017a412
cmp ebp, 0xffffffff
je 0x14017a77a
mov edx, r8d
test r13d, r13d
je 0x14017a4b4
lea r8, [rsp + 0x98]
nop dword [rax + rax]
mov rax, qword [r8]
lea ecx, [rdx + rbp]
inc edx
lea r8, [r8 + 8]
mov byte [rax + 0xf], cl
cmp edx, r13d
jb 0x14017a4a0
movzx r9d, byte [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x4c]
mov ebp, dword [rsp + 0x48]
xor r13d, r13d
test ebp, ebp
je 0x14017a716
movzx edi, r9b
nop dword [rax + rax]
mov r14, qword [rsp + r13*8 + 0xd0]
mov ecx, dword [r14 + 8]
mov eax, ecx
shr eax, 3
test al, 1
je 0x14017a701
mov r10d, dword [r14]
mov eax, edx
shr ecx, 0xf
test cl, 1
mov dword [rsp + 0x50], r10d
mov rcx, qword [rsi + 0x50]
cmovne eax, r8d
movzx ecx, byte [rcx + r10]
cmp ecx, 0xff
je 0x14017a550
mov rdx, qword [rsi + 0x50]
mov r8d, 1
shl r8d, cl
not r8d
mov byte [r10 + rdx], 0xff
mov rdx, qword [rsi + rdi*8 + 0x60]
mov dword [rdx + rcx*4], 0xffffffff
mov rdx, qword [rsi + 0x58]
and dword [rdx + rdi*4], r8d
mov rcx, qword [rsi + 0x58]
and dword [rcx + rdi*4 + 0x10], r8d
movzx ebx, byte [r14 + 0xf]
cmp ebx, 0xff
jne 0x14017a6a3
or eax, r11d
mov edx, r12d
not eax
not edx
and eax, dword [r14 + 0x14]
and edx, eax
jne 0x14017a679
and eax, r12d
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
mov r8d, ebx
mov rcx, qword [rsi + rdi*8 + 0x60]
mov r15d, dword [rcx + rbx*4]
je 0x14017a611
mov rcx, qword [rsi]
mov r11, qword [rcx + 0x140]
mov rcx, qword [rsi + 0x58]
mov rdx, qword [r11 + r15*8]
mov ebp, dword [rcx + rdi*4 + 0x10]
bt ebp, r8d
movss xmm0, dword [rdx + 0x64]
mulss xmm0, xmm6
cvttss2si r10d, xmm0
jae 0x14017a5c5
add r10d, 0x40000
mov r12, qword [rsi + rdi*8 + 0x60]
nop word [rax + rax]
bsf r8d, eax
lea ecx, [rax - 1]
and eax, ecx
bt ebp, 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 0x14017a5fa
add ecx, 0x40000
cmp ecx, r10d
jae 0x14017a608
mov r10d, ecx
mov ebx, r8d
mov r15d, r9d
test eax, eax
jne 0x14017a5d0
mov r12d, dword [rsp + 0x44]
mov rdx, qword [rsi + 0x58]
mov ecx, ebx
mov ebp, 1
shl ebp, cl
mov eax, dword [rdx + rdi*4 + 0x10]
test eax, ebp
je 0x14017a644
btr eax, ebx
mov r8d, ebx
mov dword [rdx + rdi*4 + 0x10], eax
mov edx, r15d
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14017a750
mov rax, qword [rsi + 0x50]
not ebp
mov r10d, dword [rsp + 0x50]
mov ecx, r15d
mov byte [rcx + rax], 0xff
mov rax, qword [rsi + rdi*8 + 0x60]
mov ecx, ebx
mov dword [rax + rcx*4], 0xffffffff
mov rax, qword [rsi + 0x58]
and dword [rax + rdi*4], ebp
mov rax, qword [rsi + 0x58]
and dword [rax + rdi*4 + 0x10], ebp
mov ebp, dword [rsp + 0x48]
jmp 0x14017a6a3
mov rax, qword [rsi]
mov rcx, qword [rax + 0x140]
mov r8, qword [rcx + r10*8]
movzx eax, byte [r8 + 0x4a]
cmp al, 0xff
je 0x14017a697
bt edx, eax
mov ebx, eax
jb 0x14017a6a3
mov eax, edx
and eax, dword [r8 + 0x38]
cmovne edx, eax
bsf ebx, edx
mov eax, dword [r14 + 8]
shr eax, 0x12
test al, 1
jne 0x14017a6db
mov rax, qword [rsi + 0x50]
mov edx, 1
mov ecx, r10d
mov byte [rcx + rax], bl
mov rax, qword [rsi + rdi*8 + 0x60]
mov ecx, ebx
mov dword [rax + rcx*4], r10d
mov ecx, ebx
mov rax, qword [rsi + 0x58]
shl edx, cl
or dword [rax + rdi*4], edx
mov rax, qword [rsi + 0x58]
or dword [rax + rdi*4 + 0x10], edx
mov r11d, dword [rsp + 0x4c]
movzx eax, bl
or dword [r14 + 8], 0x100
bts r11d, ebx
btr r12d, ebx
mov byte [r14 + 0xf], bl
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x4c], r11d
mov edx, dword [rsp + 0x3c]
inc r13d
mov r8d, dword [rsp + 0x34]
cmp r13d, ebp
jb 0x14017a4e0
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 [rsi + rax*4 + 0x28], ecx
mov byte [rsp + 0x30], r10b
cmp r10b, 4
jne 0x1401795b0
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 0x14017a750
mov eax, 0x3d
jmp 0x14017a750