Function at 0x1400b1870
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x140212c80]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov eax, dword [rbp + 0x6f]
mov rbx, qword [rbp + 0x67]
mov dword [rbp - 0x61], eax
xor eax, eax
mov qword [rbx + 0x30], rax
cmp dword [rbx + 0x4c], eax
jne 0x1400b18c4
lea rdx, [rbp - 0x6d]
mov rcx, rbx
call fcn.1400b54c0
mov r12d, dword [rbp - 0x6d]
mov r13d, eax
jmp 0x1400b18cc
mov r13d, dword [rbx + 0x38]
mov r12d, dword [rbx + 0x3c]
mov edi, dword [rbx + 0x40]
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xc0], r15
mov dword [rbp - 0x59], r12d
mov dword [rbp - 0x55], r13d
cmp edi, 2
jb 0x1400b2eb8
mov rcx, qword [rbx]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
mov rax, qword [rbx + 0x18]
call qword [case.0x1400cc851.0]
movzx r15d, byte [rax - 1]
xor edx, edx
mov r10d, edx
mov r11d, edx
lea r8, [rax - 1]
mov eax, r11d
mov r9, r8
mov ecx, dword [rbx + rax*4 + 0x50]
lea rsi, [rax*4]
sub r9, rcx
mov dword [rbp + rsi - 1], ecx
cmp r15b, byte [r9]
jne 0x1400b198b
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400b198b
mov edx, 2
cmp edi, edx
jbe 0x1400b1972
lea rcx, [r8 + 2]
sub r9, r8
nop dword [rax]
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x1400b1972
inc edx
inc rcx
cmp edx, edi
jb 0x1400b1960
mov eax, r10d
mov ecx, r11d
mov dword [rbp + rsi + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe ecx, r10d
xor edx, edx
mov r10d, ecx
jmp 0x1400b198f
mov dword [rbp + rsi + 0xf], edx
lea esi, [r11 + 1]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x50]
lea r14, [rsi*4]
sub r9, rcx
mov dword [rbp + r14 - 1], ecx
cmp r15b, byte [r9]
jne 0x1400b19f9
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400b19f9
mov edx, 2
cmp edi, edx
jbe 0x1400b19e2
lea rcx, [r8 + 2]
sub r9, r8
nop word [rax + rax]
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x1400b19e2
inc edx
inc rcx
cmp edx, edi
jb 0x1400b19d0
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
xor edx, edx
mov r10d, esi
jmp 0x1400b19fe
mov dword [rbp + r14 + 0xf], edx
lea esi, [r11 + 2]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x50]
lea r14, [rsi*4]
sub r9, rcx
mov dword [rbp + r14 - 1], ecx
cmp r15b, byte [r9]
jne 0x1400b1a69
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400b1a69
mov edx, 2
cmp edi, edx
jbe 0x1400b1a52
lea rcx, [r8 + 2]
sub r9, r8
nop dword [rax]
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x1400b1a52
inc edx
inc rcx
cmp edx, edi
jb 0x1400b1a40
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
xor edx, edx
mov r10d, esi
jmp 0x1400b1a6e
mov dword [rbp + r14 + 0xf], edx
lea esi, [r11 + 3]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x50]
lea r14, [rsi*4]
sub r9, rcx
mov dword [rbp + r14 - 1], ecx
cmp r15b, byte [r9]
jne 0x1400b1ad9
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400b1ad9
mov edx, 2
cmp edi, edx
jbe 0x1400b1ac2
lea rcx, [r8 + 2]
sub r9, r8
nop dword [rax]
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x1400b1ac2
inc edx
inc rcx
cmp edx, edi
jb 0x1400b1ab0
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
xor edx, edx
mov r10d, esi
jmp 0x1400b1ade
mov dword [rbp + r14 + 0xf], edx
add r11d, 4
cmp r11d, 4
jb 0x1400b1920
mov eax, r10d
mov edi, dword [rbp + rax*4 + 0xf]
mov eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x1400b1b1e
mov rax, qword [rbx + 0x28]
lea ecx, [rdi - 1]
add dword [rbx + 0x4c], ecx
lea edx, [rdi - 1]
mov rcx, qword [rbx]
mov dword [rbx + 0xb8], r10d
call qword [case.0x1400cc851.0]
mov eax, edi
jmp 0x1400b2ec7
cmp r13d, eax
jb 0x1400b1b56
mov eax, r12d
lea edx, [r13 - 1]
mov ecx, dword [rbx + rax*4 + 0xa0c]
lea eax, [r13 - 1]
add dword [rbx + 0x4c], eax
add ecx, 4
mov rax, qword [rbx + 0x28]
mov dword [rbx + 0xb8], ecx
mov rcx, qword [rbx]
call qword [case.0x1400cc851.0]
mov eax, r13d
jmp 0x1400b2ec7
mov eax, dword [rbp - 1]
mov rcx, r8
movzx r15d, byte [r8]
sub rcx, rax
cmp edi, r13d
mov dword [rbp - 0x5d], eax
mov eax, r13d
cmova eax, edi
movzx r14d, byte [rcx]
mov dword [rbp - 0x79], eax
cmp eax, 2
jae 0x1400b1b84
cmp r15b, r14b
jne 0x1400b2eb8
movzx eax, word [rbx + 0x44]
mov word [rbx + 0xd570], ax
mov eax, dword [rbp - 0x61]
mov edi, eax
mov ecx, dword [rbx + 0xbc]
movzx edx, byte [r8 - 1]
and edi, dword [rbx + 0x64]
mov esi, dword [rbx + 0x44]
shl eax, 8
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
mov edx, r15d
lea rcx, [rax + rcx*2]
cmp esi, 7
jb 0x1400b1bd3
mov r8d, r14d
lea r9, [rbx + 0x810]
call fcn.1400b3750
jmp 0x1400b1bdf
lea r8, [rbx + 0x810]
call fcn.1400b36e0
mov r13d, dword [rbp + 0xf]
mov r9d, eax
mov rdx, rsi
mov r8, rsi
add r8, r8
mov esi, edi
lea rax, [rdi + r8*8]
movzx ecx, word [rbx + rax*2 + 0x1f64]
mov rax, rdx
shr rcx, 4
shl rax, 4
add rax, rsi
mov r10d, dword [rbx + rcx*4 + 0x810]
mov dword [rbx + 0xd598], 0xffffffff
add r10d, r9d
mov dword [rbx + 0xd58c], r10d
xor r9d, r9d
mov word [rbx + 0xd592], r9w
movzx ecx, word [rbx + rax*2 + 0x1f64]
movzx eax, word [rbx + rdx*2 + 0x1f04]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0x810]
mov r12d, dword [rbx + rax*4 + 0x810]
add r12d, ecx
mov dword [rbp - 0x6d], ecx
cmp r14b, r15b
jne 0x1400b1cce
test r13d, r13d
jne 0x1400b1cce
lea rax, [rdi + r8*8]
movzx ecx, word [rbx + rax*2 + 0x20e4]
movzx eax, word [rbx + rdx*2 + 0x1f1c]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x810]
add edx, dword [rbx + rax*4 + 0x810]
mov eax, 0xffffffff
add edx, r12d
cmp edx, r10d
jae 0x1400b1cbd
mov dword [rbx + 0xd58c], edx
mov eax, r9d
mov dword [rbx + 0xd598], r9d
cmp dword [rbp - 0x79], 2
jae 0x1400b1cce
mov dword [rbx + 0xb8], eax
jmp 0x1400b2ec2
mov eax, dword [rbp - 0x5d]
lea rdi, [rbp + 0xf]
mov r14d, 1
xor r15d, r15d
mov dword [rbx + 0xd594], r14d
mov dword [rbx + 0xd57c], eax
mov eax, dword [rbp + 3]
mov dword [rbx + 0xd580], eax
mov dword [rbp - 0x41], eax
mov eax, dword [rbp + 7]
mov dword [rbx + 0xd584], eax
mov dword [rbp - 0x51], eax
mov eax, dword [rbp + 0xb]
mov dword [rbx + 0xd588], eax
nop dword [rax]
mov r8d, dword [rdi]
cmp r8d, 2
jb 0x1400b1e17
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1f1c]
test r9d, r9d
jne 0x1400b1d5a
shl rax, 4
add rax, rsi
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x20e4]
xor rax, 0x7f0
shr rax, 4
mov edx, dword [rbx + rax*4 + 0x810]
add edx, dword [rbx + rcx*4 + 0x810]
jmp 0x1400b1dc2
movzx r10d, word [rbx + rax*2 + 0x1f34]
xor rcx, 0x7f0
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x810]
cmp r9d, r14d
jne 0x1400b1d88
shr r10, 4
add edx, dword [rbx + r10*4 + 0x810]
jmp 0x1400b1dc2
movzx ecx, word [rbx + rax*2 + 0x1f4c]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, r9d
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x810]
add eax, dword [rbx + r10*4 + 0x810]
add edx, eax
lea r10d, [rdx + r12]
imul r11, rsi, 0x110
nop dword [rax]
mov edx, r8d
lea rax, [rdx + r11]
shl rdx, 5
mov eax, dword [rbx + rax*4 + 0x9164]
add eax, r10d
cmp eax, dword [rdx + rbx + 0xd56c]
jae 0x1400b1e0e
mov dword [rdx + rbx + 0xd56c], eax
mov dword [rdx + rbx + 0xd574], r8d
mov dword [rdx + rbx + 0xd578], r9d
mov word [rdx + rbx + 0xd572], r15w
dec r8d
cmp r8d, 2
jae 0x1400b1dd0
inc r9d
add rdi, 4
cmp r9d, 4
jb 0x1400b1d10
lea edx, [r13 + 1]
cmp edx, dword [rbp - 0x55]
ja 0x1400b1f8e
mov eax, dword [rbx + 0x44]
mov r9d, r15d
mov r12d, dword [rbp - 0x6d]
movzx ecx, word [rbx + rax*2 + 0x1f04]
shr rcx, 4
add r12d, dword [rbx + rcx*4 + 0x810]
cmp edx, 2
jae 0x1400b1e5f
mov edx, 2
jmp 0x1400b1e7e
cmp edx, dword [rbx + 0xa10]
jbe 0x1400b1e7e
nop word [rax + rax]
add r9d, 2
cmp edx, dword [rbx + r9*4 + 0xa10]
ja 0x1400b1e70
mov r13d, dword [rbp - 0x59]
imul r15, rsi, 0x110
mov qword [rbp - 0x19], 0x4c5
nop dword [rax]
nop word [rax + rax]
mov eax, r9d
mov edi, edx
lea rsi, [rbx + rax*4]
mov r11d, dword [rsi + 0xa14]
lea rax, [rdi + r15]
mov r14d, dword [rbx + rax*4 + 0x4d60]
lea eax, [rdx - 2]
add r14d, r12d
cmp edx, 5
jb 0x1400b1ecc
mov eax, 3
mov r8d, eax
mov r10, r11
cmp r11d, 0x80
jae 0x1400b1ef0
shl r8, 7
and r10d, 0x7f
add r8, r10
mov eax, dword [rbx + r8*4 + 0x16e4]
jmp 0x1400b1f3c
cmp r11d, 0x80000
mov eax, 6
mov ecx, reloc.WS2_32.dll_select
cmovb ecx, eax
mov rax, r10
shr rax, cl
cmp r11d, 0x80000
movzx ecx, byte [rax + rbx + 0x2d64]
mov eax, 0x4dd
cmovb rax, qword [rbp - 0x19]
and r10d, 0xf
add rcx, rax
shl r8, 6
add rcx, r8
mov eax, dword [rbx + rcx*4]
add eax, dword [rbx + r10*4 + 0x12a4]
shl rdi, 5
lea ecx, [r14 + rax]
cmp ecx, dword [rdi + rbx + 0xd56c]
jae 0x1400b1f70
lea eax, [r11 + 4]
mov dword [rdi + rbx + 0xd56c], ecx
mov dword [rdi + rbx + 0xd578], eax
xor eax, eax
mov word [rdi + rbx + 0xd572], ax
mov dword [rdi + rbx + 0xd574], edx
cmp edx, dword [rsi + 0xa10]
jne 0x1400b1f81
add r9d, 2
cmp r9d, r13d
je 0x1400b1f88
inc edx
jmp 0x1400b1ea0
mov r14d, 1
mov esi, dword [rbp - 0x79]
mov r15d, r14d
mov dword [rbp - 0x75], r14d
cmp esi, 1
je 0x1400b2de7
mov dword [rbp - 0x79], esi
lea r13, [0x1401918b0]
lea r14, [0x140000000]
cmp r15d, 0x7c0
jae 0x1400b2d7c
lea rdx, [rbp - 0x55]
mov rcx, rbx
call fcn.1400b54c0
mov ecx, eax
mov dword [rbp - 0x31], eax
cmp eax, dword [rbx + 0x48]
jae 0x1400b2d71
mov r12d, dword [rbp - 0x61]
mov r8d, r15d
inc r12d
mov edi, r15d
shl rdi, 5
add rdi, rbx
mov dword [rbp - 0x61], r12d
mov ecx, dword [rdi + 0xd574]
sub r8d, ecx
cmp ecx, 1
jne 0x1400b2038
mov r14d, dword [rbp - 0x5d]
mov r9d, dword [rbp - 0x41]
mov eax, r8d
mov r8d, dword [rbp - 0x51]
shl rax, 5
cmp dword [rdi + 0xd578], 0
movzx ecx, word [rax + rbx + 0xd570]
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v
cmovne rax, r13
movzx esi, byte [rcx + rax]
mov eax, dword [rbp + 0xb]
jmp 0x1400b2131
movzx ecx, word [rdi + 0xd572]
mov edx, dword [rdi + 0xd578]
test cx, cx
je 0x1400b2067
sub r8d, ecx
mov esi, 8
cmp ecx, 1
jne 0x1400b208f
xor eax, eax
cmp edx, 4
mov esi, eax
setb sil
add esi, 7
jmp 0x1400b208f
mov eax, r8d
shl rax, 5
movzx ecx, word [rax + rbx + 0xd570]
cmp edx, 4
jae 0x1400b2086
movzx esi, byte [rcx + r14 + 0x1918d0]
jmp 0x1400b208f
movzx esi, byte [rcx + r14 + 0x1918c0]
mov eax, r8d
lea rcx, [rbx + 0xd56c]
shl rax, 5
add rcx, rax
mov r9d, dword [rcx + 0x10]
mov r8d, dword [rcx + 0x14]
mov dword [rbp - 0x41], r9d
mov dword [rbp - 0x51], r8d
cmp edx, 4
jae 0x1400b2113
test edx, edx
jne 0x1400b20dc
mov eax, dword [rcx + 0x1c]
mov r14d, r9d
mov dword [rbp - 0x5d], r9d
mov dword [rbp - 1], r9d
mov r9d, r8d
mov dword [rbp - 0x41], r8d
mov dword [rbp + 3], r8d
mov r8d, dword [rcx + 0x18]
mov dword [rbp - 0x51], r8d
jmp 0x1400b212a
mov dword [rbp + 3], r9d
mov r14d, r8d
mov dword [rbp - 0x5d], r8d
cmp edx, 1
jne 0x1400b20fd
mov eax, dword [rcx + 0x1c]
mov dword [rbp - 1], r8d
mov r8d, dword [rcx + 0x18]
mov dword [rbp - 0x51], r8d
jmp 0x1400b212a
mov r14d, dword [rcx + rdx*4 + 0x10]
mov rax, rdx
xor rax, 1
mov dword [rbp - 0x51], r8d
mov eax, dword [rcx + rax*4 + 0x10]
jmp 0x1400b2122
mov eax, dword [rcx + 0x18]
lea r14d, [rdx - 3]
mov dword [rbp - 0x41], r9d
mov dword [rbp + 3], r9d
mov dword [rbp - 1], r14d
mov dword [rbp - 0x5d], r14d
mov dword [rbp + 0xb], eax
mov dword [rbp + 7], r8d
mov word [rdi + 0xd570], si
mov dword [rdi + 0xd57c], r14d
mov dword [rdi + 0xd580], r9d
mov dword [rdi + 0xd584], r8d
mov dword [rdi + 0xd588], eax
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x18]
call qword [case.0x1400cc851.0]
mov edx, dword [rdi + 0xd56c]
mov ecx, r12d
and ecx, dword [rbx + 0x64]
movzx r8d, byte [rax - 1]
lea r11, [rax - 1]
mov qword [rbp - 0x11], rcx
mov eax, r14d
mov r15, r11
mov r14d, dword [rdi + 0xd58c]
sub r15, rax
mov r9d, esi
mov r10d, esi
shl r10, 4
movzx r13d, byte [r15]
add r10, rcx
mov qword [rbp - 0x21], r9
mov qword [rbp - 0x49], r11
mov byte [rbp - 0x71], r8b
movzx ecx, word [rbx + r10*2 + 0x1f64]
mov eax, ecx
mov qword [rbp - 0x29], r10
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov r12d, dword [rbx + rcx*4 + 0x810]
mov eax, dword [rbx + rax*4 + 0x810]
add r12d, edx
add eax, edx
mov dword [rbp - 0x6d], eax
xor eax, eax
mov dword [rbp - 0x69], eax
mov r9d, eax
cmp r14d, 0x40000000
jae 0x1400b21f0
cmp r13b, r8b
je 0x1400b21f5
cmp r12d, r14d
jbe 0x1400b21fd
mov r12d, eax
jmp 0x1400b22b8
mov ecx, dword [rbx + 0xbc]
mov r10d, r8d
mov eax, dword [rbp - 0x61]
movzx edx, byte [r11 - 1]
shl eax, 8
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r11, [rax + rcx*2]
cmp esi, 7
jb 0x1400b2246
lea r9, [rbx + 0x810]
mov r8d, r13d
mov edx, r10d
mov rcx, r11
call fcn.1400b3750
mov r9d, dword [rbp - 0x69]
mov r8d, eax
jmp 0x1400b227c
xor eax, eax
mov r8d, eax
bts r10d, 8
mov eax, r10d
shr r10d, 1
and eax, 1
neg eax
shr rax, 4
movzx edx, word [r11 + r10*2]
and eax, 0x7f
shr rdx, 4
xor rdx, rax
add r8d, dword [rbx + rdx*4 + 0x810]
cmp r10d, 2
jae 0x1400b2250
mov r10, qword [rbp - 0x29]
add r12d, r8d
movzx r8d, byte [rbp - 0x71]
cmp r12d, r14d
jae 0x1400b22b8
mov eax, 1
mov dword [rdi + 0xd58c], r12d
xor ecx, ecx
mov dword [rdi + 0xd594], eax
mov word [rdi + 0xd592], cx
mov r9d, eax
mov dword [rdi + 0xd598], 0xffffffff
mov r14d, r12d
mov r11d, dword [rbp - 0x6d]
mov ecx, 0x7ff
sub ecx, dword [rbp - 0x75]
mov edx, esi
movzx eax, word [rbx + rdx*2 + 0x1f04]
xor rax, 0x7f0
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x810]
add r11d, eax
cmp dword [rbx + 0x40], ecx
mov dword [rbp - 0x39], r11d
cmovbe ecx, dword [rbx + 0x40]
mov dword [rbp - 0x3d], ecx
cmp esi, 7
jae 0x1400b2360
cmp r13b, r8b
jne 0x1400b2360
cmp r11d, r14d
jae 0x1400b2360
cmp dword [rdi + 0xd594], 2
jb 0x1400b2311
cmp dword [rdi + 0xd598], 0
je 0x1400b2360
movzx eax, word [rbx + rdx*2 + 0x1f1c]
movzx ecx, word [rbx + r10*2 + 0x20e4]
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x810]
add edx, dword [rbx + rax*4 + 0x810]
mov ecx, dword [rbp - 0x3d]
add edx, r11d
cmp edx, r14d
jae 0x1400b2360
xor eax, eax
mov dword [rdi + 0xd58c], edx
mov word [rdi + 0xd592], ax
mov r9d, eax
mov qword [rdi + 0xd594], 1
cmp ecx, 2
jb 0x1400b2d4a
mov edx, dword [rbx + 0x48]
cmp ecx, edx
mov esi, edx
cmovbe esi, ecx
mov dword [rbp - 0x4d], esi
test r9d, r9d
jne 0x1400b24de
test r12d, r12d
je 0x1400b24de
cmp r13b, r8b
je 0x1400b24de
mov r13, qword [rbp - 0x49]
cmp ecx, 2
jbe 0x1400b24e2
movzx eax, byte [r15 + 1]
cmp byte [r13 + 1], al
jne 0x1400b24e2
movzx eax, byte [r15 + 2]
cmp byte [r13 + 2], al
jne 0x1400b24e2
inc edx
mov r11d, 3
cmp edx, ecx
cmova edx, ecx
cmp edx, r11d
jbe 0x1400b23e9
lea rcx, [r13 + 3]
sub r15, r13
movzx eax, byte [r15 + rcx]
cmp byte [rcx], al
jne 0x1400b23e9
inc r11d
inc rcx
cmp r11d, edx
jb 0x1400b23d5
mov rax, qword [rbp - 0x21]
lea rcx, [0x1401918b0]
mov r9d, dword [rbp - 0x61]
mov r15d, dword [rbp - 0x75]
inc r9d
movzx r8d, byte [rax + rcx]
mov eax, dword [rbx + 0x64]
mov ecx, r8d
and r9, rax
lea r10d, [r11 + r15]
cmp dword [rbp - 0x79], r10d
mov r14d, r10d
cmovae r14d, dword [rbp - 0x79]
dec r11d
shl rcx, 4
add rcx, r9
mov dword [rbp - 0x79], r14d
movzx edx, word [rbx + rcx*2 + 0x20e4]
movzx eax, word [rbx + rcx*2 + 0x1f64]
xor rdx, 0x7f0
xor rax, 0x7f0
shr rdx, 4
shr rax, 4
imul rcx, r9, 0x110
mov edx, dword [rbx + rdx*4 + 0x810]
add edx, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + r8*2 + 0x1f04]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + r8*2 + 0x1f1c]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x810]
mov eax, r11d
add rcx, rax
mov eax, r10d
shl rax, 5
add edx, dword [rbx + rcx*4 + 0x9164]
add edx, r12d
cmp edx, dword [rax + rbx + 0xd56c]
jae 0x1400b24ea
xor ecx, ecx
mov dword [rax + rbx + 0xd56c], edx
mov dword [rax + rbx + 0xd578], ecx
mov ecx, 1
mov word [rax + rbx + 0xd572], cx
mov dword [rax + rbx + 0xd574], r11d
mov dword [rbp - 0x79], r14d
jmp 0x1400b24ea
mov r13, qword [rbp - 0x49]
mov r15d, dword [rbp - 0x75]
mov r14d, dword [rbp - 0x79]
xor eax, eax
mov dword [rbp - 0x65], 2
mov edi, eax
mov dword [rbp - 0x59], eax
lea rax, [rbp - 1]
mov qword [rbp - 0x19], rax
mov eax, dword [rax]
mov r11, r13
sub r11, rax
mov qword [rbp - 9], r11
movzx eax, byte [r11]
cmp byte [r13], al
jne 0x1400b28e9
movzx eax, byte [r11 + 1]
cmp byte [r13 + 1], al
jne 0x1400b28e9
mov r9d, 2
mov dword [rbp - 0x69], r9d
cmp esi, r9d
jbe 0x1400b255a
nop dword [rax + rax]
mov ecx, r9d
movzx eax, byte [r11 + rcx]
cmp byte [rcx + r13], al
jne 0x1400b2556
inc r9d
cmp r9d, esi
jb 0x1400b2540
mov dword [rbp - 0x69], r9d
mov r12, qword [rbp - 0x21]
lea eax, [r9 + r15]
cmp r14d, eax
mov edx, r9d
cmovae eax, r14d
movzx r8d, word [rbx + r12*2 + 0x1f1c]
mov esi, eax
mov dword [rbp - 0x79], eax
mov dword [rbp - 0x29], eax
test edi, edi
jne 0x1400b25b5
mov rax, r12
shr r8, 4
shl rax, 4
add rax, qword [rbp - 0x11]
movzx ecx, word [rbx + rax*2 + 0x20e4]
xor rcx, 0x7f0
shr rcx, 4
mov r10d, dword [rbx + rcx*4 + 0x810]
add r10d, dword [rbx + r8*4 + 0x810]
jmp 0x1400b261f
xor r8, 0x7f0
shr r8, 4
mov r10d, dword [rbx + r8*4 + 0x810]
movzx r8d, word [rbx + r12*2 + 0x1f34]
cmp edi, 1
jne 0x1400b25e4
shr r8, 4
add r10d, dword [rbx + r8*4 + 0x810]
jmp 0x1400b261f
movzx ecx, word [rbx + r12*2 + 0x1f4c]
mov eax, 2
sub eax, edi
shr rcx, 4
shr rax, 4
xor r8, 0x7f0
and eax, 0x7f
shr r8, 4
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x810]
add eax, dword [rbx + r8*4 + 0x810]
add r10d, eax
imul r11, qword [rbp - 0x11], 0x110
mov r9d, dword [rbp - 0x39]
add r9d, r10d
mov qword [rbp + 0xf], r11
mov dword [rbp - 0x35], r9d
xor r13d, r13d
nop dword [rax]
mov eax, edx
lea ecx, [rdx + r15]
add rax, r11
shl rcx, 5
mov r8d, dword [rbx + rax*4 + 0x9164]
add r8d, r9d
cmp r8d, dword [rcx + rbx + 0xd56c]
jae 0x1400b2681
mov dword [rcx + rbx + 0xd56c], r8d
mov dword [rcx + rbx + 0xd574], edx
mov dword [rcx + rbx + 0xd578], edi
mov word [rcx + rbx + 0xd572], r13w
dec edx
cmp edx, 2
jae 0x1400b2640
mov r9d, dword [rbp - 0x69]
test edi, edi
jne 0x1400b269d
lea r10d, [r9 + 1]
mov dword [rbp - 0x65], r10d
mov r8d, r10d
jmp 0x1400b26a5
mov r10d, dword [rbp - 0x65]
lea r8d, [r9 + 1]
mov r14d, dword [rbx + 0x48]
mov r11, qword [rbp - 9]
add r14d, r8d
cmp r14d, dword [rbp - 0x3d]
mov r13, qword [rbp - 0x49]
cmova r14d, dword [rbp - 0x3d]
add r8d, 2
cmp r8d, r14d
ja 0x1400b28e1
lea eax, [r8 - 2]
mov dword [rbp - 0x79], esi
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r13], al
jne 0x1400b28e1
lea eax, [r8 - 1]
mov dword [rbp - 0x79], esi
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r13], al
jne 0x1400b28e1
mov ecx, dword [rbp - 0x61]
xor r10d, r10d
mov eax, dword [rbx + 0x64]
add ecx, r9d
movzx edi, byte [r11 + r9]
and eax, ecx
mov r12, qword [rbx + 0x68]
mov r15d, r10d
movzx r10d, byte [r9 + r13]
mov esi, 0x100
mov dword [rbp - 0x69], eax
or r10d, esi
movzx eax, byte [r9 + r13 - 1]
shl ecx, 8
add eax, ecx
mov ecx, dword [rbx + 0xbc]
and eax, dword [rbx + 0x60]
shl eax, cl
lea r13d, [rax + rax*2]
nop
add edi, edi
mov eax, esi
and eax, edi
mov ecx, r10d
shr ecx, 8
add eax, esi
add eax, ecx
mov ecx, r10d
shr ecx, 7
add rax, r13
and ecx, 1
add r10d, r10d
neg ecx
shr rcx, 4
movzx edx, word [r12 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, edi
not eax
and esi, eax
add r15d, dword [rbx + rdx*4 + 0x810]
cmp r10d, 0x10000
jb 0x1400b2740
mov r10d, dword [rbp - 0x69]
lea rax, [0x140000000]
mov r12, qword [rbp - 0x21]
mov edi, dword [rbp - 0x35]
mov r13, qword [rbp - 0x49]
movzx ecx, byte [r12 + rax + 0x1918d0]
mov rax, r9
add rax, qword [rbp + 0xf]
shl rcx, 4
add rcx, r10
inc r10d
movzx ecx, word [rbx + rcx*2 + 0x1f64]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x810]
add edx, dword [rbx + rax*4 + 0x9164]
mov eax, dword [rbx + 0x64]
add edx, r15d
and r10, rax
add edi, edx
movzx ecx, word [rbx + r10*2 + 0x2184]
movzx eax, word [rbx + r10*2 + 0x2004]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x810]
add edx, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + 0x1f0e]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + 0x1f26]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x810]
add edi, edx
cmp r8d, r14d
jae 0x1400b2866
mov ecx, r8d
add rcx, r13
sub r11, r13
movzx eax, byte [r11 + rcx]
cmp byte [rcx], al
jne 0x1400b2866
inc r8d
inc rcx
cmp r8d, r14d
jb 0x1400b2852
mov r15d, dword [rbp - 0x75]
mov eax, 0xffffffff
mov esi, dword [rbp - 0x4d]
lea r14d, [r8 + r15]
cmp dword [rbp - 0x29], r14d
mov edx, r14d
cmovae r14d, dword [rbp - 0x29]
sub eax, r9d
add r8d, eax
mov dword [rbp - 0x79], r14d
imul rcx, r10, 0x110
mov r10d, dword [rbp - 0x65]
mov eax, r8d
add rcx, rax
mov eax, edx
shl rax, 5
mov ecx, dword [rbx + rcx*4 + 0x9164]
add ecx, edi
mov edi, dword [rbp - 0x59]
cmp ecx, dword [rax + rbx + 0xd56c]
jae 0x1400b28f1
inc r9w
mov dword [rax + rbx + 0xd56c], ecx
mov word [rax + rbx + 0xd572], r9w
mov dword [rax + rbx + 0xd574], r8d
mov dword [rax + rbx + 0xd578], edi
mov dword [rbp - 0x79], r14d
jmp 0x1400b28f1
mov r14d, esi
mov esi, dword [rbp - 0x4d]
jmp 0x1400b28f1
mov r12, qword [rbp - 0x21]
mov r10d, dword [rbp - 0x65]
mov rax, qword [rbp - 0x19]
inc edi
add rax, 4
mov dword [rbp - 0x59], edi
mov qword [rbp - 0x19], rax
cmp edi, 4
jb 0x1400b2500
mov r8d, dword [rbp - 0x31]
xor r11d, r11d
cmp r8d, esi
jbe 0x1400b294d
mov r8d, esi
mov ecx, r11d
mov edx, r11d
cmp esi, dword [rbx + 0xa10]
jbe 0x1400b293e
nop dword [rax + rax]
add ecx, 2
mov edx, ecx
cmp esi, dword [rbx + rcx*4 + 0xa10]
ja 0x1400b2930
mov eax, edx
mov dword [rbx + rax*4 + 0xa10], esi
lea eax, [rdx + 2]
mov dword [rbp - 0x55], eax
cmp r8d, r10d
jb 0x1400b2d4e
movzx eax, word [rbx + r12*2 + 0x1f04]
mov r12d, r11d
mov edx, dword [rbp - 0x6d]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x810]
add edx, eax
lea eax, [r8 + r15]
mov dword [rbp - 0x69], edx
cmp r14d, eax
cmovae eax, r14d
mov dword [rbp - 0x79], eax
cmp r10d, dword [rbx + 0xa10]
jbe 0x1400b299e
nop dword [rax]
add r12d, 2
cmp r10d, dword [rbx + r12*4 + 0xa10]
ja 0x1400b2990
mov edi, dword [rbp - 0x65]
lea r14d, [r15 - 3]
mov eax, r12d
mov ecx, reloc.WS2_32.dll_select
add rax, 0x284
mov dword [rbp - 0x39], r14d
mov esi, dword [rbx + rax*4 + 4]
lea r10, [rbx + rax*4]
cmp esi, 0x80000
mov dword [rbp - 0x6d], esi
mov eax, 6
mov r8d, esi
cmovb ecx, eax
mov eax, esi
shr rax, cl
mov ecx, ntohs
cmp esi, 0x80000
movzx r9d, byte [rax + rbx + 0x2d64]
mov eax, 0x24
cmovb eax, ecx
add r9d, eax
imul rax, qword [rbp - 0x11], 0x110
add edi, 3
mov qword [rbp + 0xf], rax
lea r13d, [rdi - 3]
mov r15d, r13d
add rax, r15
mov r11d, dword [rbx + rax*4 + 0x4d60]
lea eax, [r13 - 2]
add r11d, edx
mov edx, 3
cmp eax, edx
cmovb edx, eax
cmp esi, 0x80
jae 0x1400b2a47
mov rax, r8
shl rdx, 7
and eax, 0x7f
add rdx, rax
mov ecx, dword [rbx + rdx*4 + 0x16e4]
jmp 0x1400b2a65
shl rdx, 6
mov eax, r9d
add rdx, rax
mov rax, r8
and eax, 0xf
mov ecx, dword [rbx + rdx*4 + 0x12e4]
add ecx, dword [rbx + rax*4 + 0x12a4]
add r11d, ecx
lea ecx, [r14 + rdi]
shl rcx, 5
cmp r11d, dword [rcx + rbx + 0xd56c]
jae 0x1400b2a9e
lea eax, [rsi + 4]
mov dword [rcx + rbx + 0xd56c], r11d
mov dword [rcx + rbx + 0xd578], eax
xor eax, eax
mov word [rcx + rbx + 0xd572], ax
mov dword [rcx + rbx + 0xd574], r13d
cmp r13d, dword [r10]
jne 0x1400b2d3c
mov r14, qword [rbp - 0x49]
mov r10d, edi
mov edx, dword [rbx + 0x48]
mov r9, r14
add edx, 0xfffffffe
sub r9, r8
add edx, edi
cmp edx, dword [rbp - 0x3d]
cmova edx, dword [rbp - 0x3d]
cmp edi, edx
ja 0x1400b2cdc
lea eax, [rdi - 2]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + r14], al
jne 0x1400b2cdc
lea eax, [rdi - 1]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + r14], al
jne 0x1400b2cdc
cmp edi, edx
jae 0x1400b2b19
mov ecx, edi
lea r8, [r9 - 1]
add rcx, r14
sub r8, r14
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400b2b19
inc r10d
inc rcx
cmp r10d, edx
jb 0x1400b2b05
mov edx, dword [rbp - 0x61]
lea r8, [0x140000000]
mov rcx, qword [rbp - 0x21]
add edx, 0xfffffffd
movzx r9d, byte [r9 + r13 - 1]
add edx, edi
mov eax, edx
mov dword [rbp - 0x29], r10d
and eax, dword [rbx + 0x64]
sub r10d, r13d
movzx ecx, byte [rcx + r8 + 0x1918c0]
movzx r8d, byte [r13 + r14]
mov r14, qword [rbx + 0x68]
mov dword [rbp - 0x31], eax
shl rcx, 4
add rcx, rax
shl edx, 8
movzx eax, word [rbx + rcx*2 + 0x1f64]
mov ecx, dword [rbx + 0xbc]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x810]
add eax, r11d
mov r11d, 0x100
mov dword [rbp - 0x35], eax
or r8d, r11d
xor eax, eax
mov esi, eax
mov rax, qword [rbp - 0x49]
movzx eax, byte [r13 + rax - 1]
add eax, edx
and eax, dword [rbx + 0x60]
shl eax, cl
lea r15d, [rax + rax*2]
nop
add r9d, r9d
mov eax, r11d
and eax, r9d
mov ecx, r8d
shr ecx, 8
add eax, r11d
add eax, ecx
mov ecx, r8d
shr ecx, 7
add rax, r15
and ecx, 1
add r8d, r8d
neg ecx
shr rcx, 4
movzx edx, word [r14 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r8d
xor rdx, rcx
xor eax, r9d
not eax
and r11d, eax
add esi, dword [rbx + rdx*4 + 0x810]
cmp r8d, 0x10000
jb 0x1400b2ba0
mov r8d, dword [rbp - 0x31]
mov eax, dword [rbx + 0x64]
inc r8d
mov r9d, dword [rbp - 0x29]
and r8, rax
mov r15d, dword [rbp - 0x75]
add r9d, r15d
cmp dword [rbp - 0x79], r9d
mov r14d, r9d
cmovae r14d, dword [rbp - 0x79]
dec r10d
movzx ecx, word [rbx + r8*2 + 0x2164]
movzx eax, word [rbx + r8*2 + 0x1fe4]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, r10d
mov dword [rbp - 0x79], r14d
mov r11d, dword [rbx + rcx*4 + 0x810]
add r11d, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + 0x1f0c]
xor rax, 0x7f0
mov ecx, r9d
shr rax, 4
shl rcx, 5
add rcx, rbx
add r11d, dword [rbx + rax*4 + 0x810]
movzx eax, word [rbx + 0x1f24]
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x810]
imul rax, r8, 0x110
add rax, rdx
add r11d, dword [rbx + rax*4 + 0x9164]
add r11d, esi
add r11d, dword [rbp - 0x35]
cmp r11d, dword [rcx + 0xd56c]
jae 0x1400b2ce0
mov eax, dword [rbp - 0x6d]
inc r13w
add eax, 4
mov dword [rcx + 0xd56c], r11d
mov dword [rcx + 0xd578], eax
mov dword [rcx + 0xd574], r10d
mov word [rcx + 0xd572], r13w
mov dword [rbp - 0x79], r14d
jmp 0x1400b2ce0
mov r15d, dword [rbp - 0x75]
add r12d, 2
cmp r12d, dword [rbp - 0x55]
je 0x1400b2d4e
mov r14d, dword [rbp - 0x39]
mov ecx, reloc.WS2_32.dll_select
mov eax, r12d
add rax, 0x284
mov esi, dword [rbx + rax*4 + 4]
lea r10, [rbx + rax*4]
cmp esi, 0x80000
mov dword [rbp - 0x6d], esi
mov eax, 6
mov r8d, esi
cmovb ecx, eax
mov eax, esi
shr rax, cl
mov ecx, ntohs
cmp esi, 0x80000
movzx r9d, byte [rax + rbx + 0x2d64]
mov eax, 0x24
cmovb eax, ecx
add r9d, eax
mov rax, qword [rbp + 0xf]
inc edi
mov edx, dword [rbp - 0x69]
jmp 0x1400b2a06
mov r15d, dword [rbp - 0x75]
mov esi, dword [rbp - 0x79]
lea r14, [0x140000000]
inc r15d
lea r13, [0x1401918b0]
mov dword [rbp - 0x75], r15d
cmp r15d, esi
jne 0x1400b1fb2
jmp 0x1400b2de1
mov eax, dword [rbp - 0x55]
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], ecx
jmp 0x1400b2de1
mov eax, r15d
lea edx, [r15 + 1]
shl rax, 5
mov edi, r15d
mov r8d, dword [rax + rbx + 0xd56c]
cmp edx, esi
ja 0x1400b2dc7
nop word [rax + rax]
mov eax, edx
shl rax, 5
mov ecx, dword [rax + rbx + 0xd56c]
cmp r8d, ecx
mov eax, edx
cmovb eax, edi
inc edx
cmp r8d, ecx
mov edi, eax
cmovb ecx, r8d
mov r8d, ecx
cmp edx, esi
jbe 0x1400b2da0
mov edx, edi
sub edx, r15d
je 0x1400b2dde
add dword [rbx + 0x4c], edx
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x28]
call qword [case.0x1400cc851.0]
mov r15d, edi
mov r14d, 1
mov eax, esi
shl rax, 5
mov dword [rax + rbx + 0xd56c], 0x40000000
add esi, 0xffffffff
jne 0x1400b2de7
lea ecx, [r15 + 1]
xor r10d, r10d
mov dword [rbx + 0x34], ecx
nop word [rax + rax]
mov eax, r15d
shl rax, 5
mov edx, dword [rax + rbx + 0xd574]
sub r15d, edx
movzx r8d, word [rax + rbx + 0xd572]
mov r9d, dword [rax + rbx + 0xd578]
test r8d, r8d
je 0x1400b2e89
dec ecx
sub r15d, r8d
mov eax, ecx
shl rax, 5
mov dword [rbx + rax + 0xd574], edx
mov edx, r8d
cmp r8d, 1
jne 0x1400b2e62
mov dword [rax + rbx + 0xd578], r9d
mov r9d, 0xffffffff
jmp 0x1400b2e89
mov dword [rax + rbx + 0xd578], r10d
lea edx, [r8 - 1]
dec ecx
mov eax, ecx
shl rax, 5
mov dword [rax + rbx + 0xd578], 0xffffffff
mov dword [rax + rbx + 0xd574], r14d
test r15d, r15d
je 0x1400b2eaa
dec ecx
mov eax, ecx
shl rax, 5
mov dword [rax + rbx + 0xd578], r9d
mov dword [rax + rbx + 0xd574], edx
jmp 0x1400b2e10
mov dword [rbx + 0xb8], r9d
mov eax, edx
mov dword [rbx + 0x30], ecx
jmp 0x1400b2ec7
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x110]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140133600
add rsp, 0xd0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret