Function at 0x14002c750
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 [0x140242dc8]
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 0x14002c9a1
nop word [rax + rax]
mov r8d, r14d
shl r8, 5
add r8, r13
mov edx, dword [r8 + 8]
test edx, 0x1c00
je 0x14002c897
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 0x14002d993
bts r11d, ecx
mov qword [rsp + rcx*8 + 0x98], r8
mov ecx, dword [rsp + 0x4c]
test edx, 0x40008
je 0x14002c8b2
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 0x14002c8cb
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 0x14002c8e4
bts edx, 8
mov dword [r8 + 8], edx
dec r12d
jmp 0x14002c98a
mov eax, edx
shr eax, 0xa
test al, 1
jne 0x14002c98a
mov rax, qword [rsi + 0x50]
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
movzx eax, byte [r8 + 0xe]
cmp al, 0xff
je 0x14002c924
mov ecx, eax
mov r10d, 1
shl r10d, cl
cmp r9d, eax
je 0x14002c94e
mov rax, qword [rsi + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, r10d
or ebx, ecx
jmp 0x14002c985
cmp r9d, 0xff
je 0x14002c985
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 0x14002c982
mov byte [r8 + 0xe], r9b
bts edx, 8
mov dword [r8 + 8], edx
shr edx, 1
test dl, 1
je 0x14002c96d
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 0x14002c98e
or ebx, r10d
mov r9d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x4c]
inc r14d
cmp r14d, r15d
jb 0x14002c850
xor r8d, r8d
mov dword [rsp + 0x58], r8d
test r11d, r11d
je 0x14002cbaa
lea eax, [r11 + 1]
test r11d, eax
jne 0x14002d993
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 0x14002cbaa
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 0x14002ca33
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 0x14002ca13
mov r8d, dword [rsp + 0x38]
mov r9d, dword [r11 + 0x10]
mov eax, r9d
mov dword [rsp + 0x54], r9d
test r9d, r9d
je 0x14002d99a
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 0x14002cb01
mov r14d, reloc.WS2_32.dll_ntohs
test ebp, ebp
je 0x14002cae5
mov r11d, edx
mov r10d, edx
neg r11d
nop dword [rax]
bt r13d, r10d
jae 0x14002caf7
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 0x14002ca80
mov edx, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x54]
cmp r14d, r8d
jbe 0x14002cb01
mov r8d, r14d
mov dword [rsp + 0x38], r14d
mov r15d, edx
jmp 0x14002cb01
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x54]
test eax, eax
jne 0x14002ca50
mov rbp, qword [rsp + 0x68]
cmp r15d, 0xffffffff
je 0x14002d99a
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x14002cb9d
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 0x14002cb79
mov eax, dword [r8 + 8]
bts eax, 8
mov dword [r8 + 8], eax
shr eax, 1
test al, 1
je 0x14002cb74
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 0x14002cb84
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 0x14002cb30
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 0x14002ceca
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 0x14002ceca
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 0x14002ceb2
cmp byte [rsp + 0x40], 0
mov r8d, dword [r14]
mov rax, qword [rsi + 0x50]
movzx r9d, byte [rax + r8]
jne 0x14002cd2c
shr ecx, 4
test cl, 1
je 0x14002cd2c
cmp r9d, 0xff
jne 0x14002cd2c
mov ecx, dword [r14 + 0x18]
test ecx, ecx
je 0x14002cd2c
lea eax, [rcx - 1]
test ecx, eax
jne 0x14002cd2c
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 0x14002cd27
shr r15, 2
add r15, 4
shl r15, 4
add r15, qword [rsp + 0x78]
cmp qword [r13 + 0x18], 0
jne 0x14002ccc4
movzx r9d, byte [rax + 0xc]
lea rcx, [rdx + 0x1f8]
mov edx, dword [rdx + 0x1dc]
mov r8d, r11d
mov dword [rsp + 0x20], 1
call fcn.140034300
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 0x14002cead
mov r15d, dword [rsp + 0x3c]
cmp byte [r14 + 0xe], 0xff
jne 0x14002ceb2
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 0x14002cd62
bt edx, eax
mov r15d, eax
jb 0x14002cd6f
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 0x14002ce44
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 0x14002cea5
cmp r15d, r9d
je 0x14002ce20
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 0x14002d970
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 0x14002cea2
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r15d
mov dword [rcx + rbp*4 + 0x10], eax
jmp 0x14002cea2
test eax, eax
jne 0x14002cea5
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 0x14002d970
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x14002ce9d
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 0x14002cbe0
mov ecx, dword [rsp + 0x34]
mov eax, edi
or eax, ecx
mov dword [rsp + 0x38], eax
test ebx, ebx
je 0x14002d033
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 0x14002d02b
mov rax, qword [rsi + rbp*8 + 0x60]
mov edx, dword [rax + r14*4]
mov dword [rsp + 0x50], edx
test r15d, r15d
je 0x14002cfcd
mov rax, qword [rsi]
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
movzx ecx, byte [rax + 0x4a]
cmp cl, 0xff
je 0x14002cfcd
mov r13d, ecx
bt r15d, r13d
jae 0x14002cfcd
cmp r13d, 0xff
je 0x14002cfcd
cmp r13d, r14d
je 0x14002cfc7
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 0x14002d970
btc r15d, r13d
jmp 0x14002d02b
mov eax, dword [r8 + rbp*4 + 0x10]
bt eax, r14d
jae 0x14002cff9
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 0x14002d970
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 0x14002cf00
test r12d, r12d
je 0x14002d36d
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 0x14002d358
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 0x14002d33b
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 0x14002d269
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 0x14002d1f8
cmp r13d, 0xff
je 0x14002d1f8
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 0x14002d970
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x14002d18b
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 0x14002d33b
mov rcx, qword [rsp + 0x60]
nop word [rax + rax]
cmp dword [rcx], r8d
je 0x14002d1c6
inc rax
add rcx, 0x20
cmp rax, rdx
jb 0x14002d1b0
jmp 0x14002d33b
movzx eax, byte [rcx + 0xe]
cmp eax, r13d
jne 0x14002d33b
mov eax, dword [rcx + 8]
bts eax, 8
mov dword [rcx + 8], eax
shr eax, 1
test al, 1
je 0x14002d338
mov rcx, qword [rsi + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r13d
jmp 0x14002d334
test bl, bl
je 0x14002d33b
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 0x14002d23e
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 0x14002d970
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 0x14002d2e1
cmp r15d, r13d
je 0x14002d316
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 0x14002d30e
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 0x14002d970
mov eax, dword [r14 + 8]
bts eax, 8
mov dword [r14 + 8], eax
shr eax, 1
test al, 1
je 0x14002d338
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 0x14002d070
mov ecx, dword [rsp + 0x3c]
cmp dword [rsp + 0x50], r12d
sete bl
mov byte [rsp + 0x41], bl
test r12d, r12d
jne 0x14002d050
mov eax, dword [rsp + 0x48]
mov r13d, eax
cmp eax, 1
jb 0x14002d3f3
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 0x14002d3d8
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 0x14002d390
jmp 0x14002d3f8
movzx ebp, byte [rsp + 0x30]
test edi, edi
je 0x14002d488
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 0x14002d484
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 0x14002d45d
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 0x14002d970
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 0x14002d410
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x14002d4da
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 0x14002d4d0
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
cmp r8d, edi
je 0x14002d4cc
mov rcx, qword [rsi]
mov r9d, edi
mov edx, ebp
mov rax, qword [rcx]
call qword [rax + 0x40]
test ebx, ebx
jne 0x14002d4b0
add r14, 8
sub r15, 1
jne 0x14002d4a0
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + 0x10], 0x12
jne 0x14002d5aa
movzx r9d, byte [rsp + 0x30]
cmp r9b, 1
jne 0x14002d5b0
mov rbx, qword [rsi + 0x58]
mov ebx, dword [rbx + r9*4]
and ebx, dword [rcx + r9*4 + 0xa4]
je 0x14002d5b0
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 0x14002d5a2
mov r9, qword [rsi + 0x58]
mov ecx, r8d
mov edi, 1
shl edi, cl
mov eax, dword [r9 + 0x14]
test edi, eax
je 0x14002d57e
btr eax, r8d
mov dword [r9 + 0x14], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x14002d970
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 0x14002d520
movzx r9d, byte [rsp + 0x30]
test r13d, r13d
je 0x14002d93b
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 0x14002d6e8
mov r10, qword [rsp + 0x98]
mov eax, dword [r10 + 8]
shr eax, 0xb
test al, 1
je 0x14002d6e8
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 0x14002d99a
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
bt r15d, ebx
jae 0x14002d69b
mov r11d, reloc.WS2_32.dll_ntohs
mov r9d, r8d
test r13d, r13d
je 0x14002d691
nop
lea r10d, [rbx + r9]
bt edi, r10d
jae 0x14002d69b
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 0x14002d650
cmp r11d, r14d
jbe 0x14002d69b
mov r14d, r11d
mov ebp, ebx
test eax, eax
jne 0x14002d632
cmp ebp, 0xffffffff
je 0x14002d99a
mov edx, r8d
test r13d, r13d
je 0x14002d6d4
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 0x14002d6c0
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 0x14002d936
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 0x14002d921
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 0x14002d770
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 0x14002d8c3
or eax, r11d
mov edx, r12d
not eax
not edx
and eax, dword [r14 + 0x14]
and edx, eax
jne 0x14002d899
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 0x14002d831
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 0x14002d7e5
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 0x14002d81a
add ecx, 0x40000
cmp ecx, r10d
jae 0x14002d828
mov r10d, ecx
mov ebx, r8d
mov r15d, r9d
test eax, eax
jne 0x14002d7f0
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 0x14002d864
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 0x14002d970
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 0x14002d8c3
mov rax, qword [rsi]
mov rcx, qword [rax + 0x140]
mov r8, qword [rcx + r10*8]
movzx eax, byte [r8 + 0x4a]
cmp al, 0xff
je 0x14002d8b7
bt edx, eax
mov ebx, eax
jb 0x14002d8c3
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 0x14002d8fb
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 0x14002d700
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 0x14002c7d0
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 0x14002d970
mov eax, 0x3d
jmp 0x14002d970