Function at 0x140042140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 0x30], r8
mov rbx, rdx
mov qword [rbp - 0x20], rcx
imul eax, dword [0x140292f04], 0xa819501d
imul ecx, dword [0x140292f08], 0x28e6d872
add eax, ecx
add eax, 0xa0dcfae2
mov rcx, rax
shl rcx, 6
sub rcx, rax
add rcx, 0xf
movabs rax, 0x7ffffffff0
and rax, rcx
call fcn.1401e2600
sub rsp, rax
mov r15, rsp
imul eax, dword [0x140292f0c], 0x8aed676d
imul ecx, dword [0x140292f10], 0xaa3a8cfb
add eax, ecx
add eax, 0x90d07c52
shl rax, 5
call fcn.1401e2600
sub rsp, rax
mov r14, rsp
mov eax, dword [0x140292f14]
mov ecx, dword [0x140292f18]
shrd ecx, eax, 0x14
xor ecx, 0xb00f7492
mov eax, ecx
imul rax, rax, 0x1388
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1401e2600
sub rsp, rax
mov r12, rsp
movabs r13, 0x9e270275ae0c40e0
mov rax, qword [0x1402f1c90]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, str.aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzzAAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ000111222333444555666777888999
movzx eax, byte [rax + rcx]
mov byte [r15], al
mov rax, qword [0x1402f1c98]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024237b]
movzx eax, byte [rax + rcx]
mov byte [r15 + 1], al
mov rax, qword [0x1402f1ca0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024237e]
movzx eax, byte [rax + rcx]
mov byte [r15 + 2], al
mov rax, qword [0x1402f1ca8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242381]
movzx eax, byte [rax + rcx]
mov byte [r15 + 3], al
mov rax, qword [0x1402f1cb0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242384]
movzx eax, byte [rax + rcx]
mov byte [r15 + 4], al
mov rax, qword [0x1402f1cb8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242387]
movzx eax, byte [rax + rcx]
mov byte [r15 + 5], al
mov rax, qword [0x1402f1cc0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024238a]
movzx eax, byte [rax + rcx]
mov byte [r15 + 6], al
mov rax, qword [0x1402f1cc8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024238d]
movzx eax, byte [rax + rcx]
mov byte [r15 + 7], al
mov rax, qword [0x1402f1cd0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242390]
movzx eax, byte [rax + rcx]
mov byte [r15 + 8], al
mov rax, qword [0x1402f1cd8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242393]
movzx eax, byte [rax + rcx]
mov byte [r15 + 9], al
mov rax, qword [0x1402f1ce0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242396]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xa], al
mov rax, qword [0x1402f1ce8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242399]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xb], al
mov rax, qword [0x1402f1cf0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024239c]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xc], al
mov rax, qword [0x1402f1cf8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024239f]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xd], al
mov rax, qword [0x1402f1d00]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423a2]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xe], al
mov rax, qword [0x1402f1d08]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423a5]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xf], al
mov rax, qword [0x1402f1d10]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423a8]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x10], al
mov rax, qword [0x1402f1d18]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ab]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x11], al
mov rax, qword [0x1402f1d20]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ae]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x12], al
mov rax, qword [0x1402f1d28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423b1]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x13], al
mov rax, qword [0x1402f1d30]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423b4]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x14], al
mov rax, qword [0x1402f1d38]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423b7]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x15], al
mov rax, qword [0x1402f1d40]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ba]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x16], al
mov rax, qword [0x1402f1d48]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423bd]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x17], al
mov rax, qword [0x1402f1d50]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423c0]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x18], al
mov rax, qword [0x1402f1d58]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423c3]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x19], al
mov rax, qword [0x1402f1d60]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423c6]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1a], al
mov rax, qword [0x1402f1d68]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423c9]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1b], al
mov rax, qword [0x1402f1d70]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423cc]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1c], al
mov rax, qword [0x1402f1d78]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423cf]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1d], al
mov rax, qword [0x1402f1d80]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423d2]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1e], al
mov rax, qword [0x1402f1d88]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423d5]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1f], al
mov rax, qword [0x1402f1d90]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423d8]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x20], al
mov rax, qword [0x1402f1d98]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423db]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x21], al
mov rax, qword [0x1402f1da0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423de]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x22], al
mov rax, qword [0x1402f1da8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423e1]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x23], al
mov rax, qword [0x1402f1db0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423e4]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x24], al
mov rax, qword [0x1402f1db8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423e7]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x25], al
mov rax, qword [0x1402f1dc0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ea]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x26], al
mov rax, qword [0x1402f1dc8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ed]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x27], al
mov rax, qword [0x1402f1dd0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423f0]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x28], al
mov rax, qword [0x1402f1dd8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423f3]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x29], al
mov rax, qword [0x1402f1de0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423f6]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2a], al
mov rax, qword [0x1402f1de8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423f9]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2b], al
mov rax, qword [0x1402f1df0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423fc]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2c], al
mov rax, qword [0x1402f1df8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402423ff]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2d], al
mov rax, qword [0x1402f1e00]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242402]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2e], al
mov rax, qword [0x1402f1e08]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242405]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2f], al
mov rax, qword [0x1402f1e10]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242408]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x30], al
mov rax, qword [0x1402f1e18]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024240b]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x31], al
mov rax, qword [0x1402f1e20]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024240e]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x32], al
mov rax, qword [0x1402f1e28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242411]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x33], al
mov rax, qword [0x1402f1e30]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242414]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x34], al
mov rax, qword [0x1402f1e38]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242417]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x35], al
mov rax, qword [0x1402f1e40]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024241a]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x36], al
mov rax, qword [0x1402f1e48]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024241d]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x37], al
mov rax, qword [0x1402f1e50]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242420]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x38], al
mov rax, qword [0x1402f1e58]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242423]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x39], al
mov rax, qword [0x1402f1e60]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242426]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3a], al
mov rax, qword [0x1402f1e68]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242429]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3b], al
mov rax, qword [0x1402f1e70]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024242c]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3c], al
mov rax, qword [0x1402f1e78]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024242f]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3d], al
mov rax, qword [0x1402f1e80]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [reloc.WS2_32.dll_sendto]
movzx ecx, byte [0x140292f1d]
imul eax, eax, 0xffffffc3
imul ecx, ecx, 0x54
add cl, al
add cl, 4
mov byte [r15 + 0x3e], cl
xorps xmm0, xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14], xmm0
mov rsi, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x18]
mov rax, qword [0x1402f1e88]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_ntohs
cmp rdi, qword [rcx + rax*8]
jbe 0x140042b6f
mov rbx, qword [rbx]
mov rax, qword [0x1402f1e90]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x140292f20]
mov rcx, qword [0x140292f28]
shrd rcx, rax, 0x2e
movabs rax, 0x59c4e92ed535eb3f
xor rax, rcx
cmp rsi, rax
jl 0x14004331c
mov rax, qword [0x1402f1ea0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_recv
cmp rsi, qword [rcx + rax*8]
mov qword [rbp - 0x10], r14
jae 0x140042c08
mov qword [r14 + 0x10], rsi
mov rax, qword [0x1402f1ea8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_ntohs
mov rax, qword [rcx + rax*8]
mov qword [r14 + 0x18], rax
movups xmm0, xmmword [rbx]
movups xmmword [r14], xmm0
jmp 0x140042d87
mov rax, qword [0x1402f1eb0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_ntohs
mov r14, qword [rcx + rax*8]
or r14, rsi
cmp r14, 0x17
mov edi, reloc.WLDAP32.dll_Ordinal_22
cmovae rdi, r14
mov rax, qword [0x1402f1eb8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402424c0]
cmp r14, qword [rcx + rax*8]
jbe 0x140042d06
mov rax, qword [0x1402f1ec0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402424e0]
mov rcx, qword [rcx + rax*8]
add rcx, rdi
mov rax, qword [0x1402f1ec8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
test rax, rax
je 0x14004332c
mov r14, rax
mov rax, qword [0x1402f1ed8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242500]
mov r13, qword [rcx + rax*8]
add r13, r14
mov rax, qword [0x1402f1ee0]
movabs rcx, 0x9e270275ae0c40e0
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242520]
and r13, qword [rcx + rax*8]
mov qword [r13 - 8], r14
mov r14, r13
movabs r13, 0x9e270275ae0c40e0
jmp 0x140042d41
mov rax, qword [0x1402f1ee8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_accept
mov rcx, qword [rcx + rax*8]
add rcx, rdi
mov rax, qword [0x1402f1ec8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov r14, rax
mov rax, qword [rbp - 0x10]
mov qword [rax], r14
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1402f1ef0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_accept
mov r8, rsi
add r8, qword [rcx + rax*8]
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x38], r15
mov r14, r12
mov rax, qword [0x1402f1ef8]
add rax, r13
sub rsp, 0x20
xor ecx, ecx
call rax
add rsp, 0x20
mov r15, r13
mov r13d, eax
mov rax, qword [0x1402f1f00]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242578]
mov eax, dword [rcx + rax*4]
mov dword [r12 + 0x1384], eax
mov dword [r12 + 4], r13d
lea rbx, reloc.WS2_32.dll_accept
lea rdi, [0x1402425c0]
mov r12d, 1
mov eax, r13d
nop word cs:[rax + rax]
mov r13d, eax
mov rax, qword [0x1402f1f08]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242584]
movzx ecx, byte [rcx + rax*4]
mov esi, r13d
shr esi, cl
xor esi, r13d
mov rax, qword [0x1402f1f10]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242590]
imul esi, dword [rcx + rax*4]
mov eax, r12d
mov ecx, esi
lea esi, [rax + rcx]
mov dword [r14 + r12*4 + 4], esi
mov rax, qword [0x1402f1f18]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov r13, r12
add r13, qword [rbx + rax*8]
mov rax, qword [0x1402f1f20]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
movsxd rcx, eax
mov r12, r13
mov eax, esi
cmp r13, qword [rdi + rcx*8]
jne 0x140042e00
mov rax, qword [0x1402f1f28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402425d8]
mov eax, dword [rcx + rax*4]
mov dword [r14], eax
lea rbx, [0x140242630]
lea rsi, [0x140242650]
movabs rdi, 0x238faf2b99b5bde6
xor eax, eax
jmp 0x140042f5f
movzx eax, byte [rbp - 1]
mov byte [rbx + r12], al
mov rax, qword [0x1402f1f80]
movabs rcx, 0x9e270275ae0c40e0
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x140292f50]
movzx ecx, byte [0x140292f51]
imul eax, eax, 0x36
mov edx, ecx
shl ecx, 7
sub edx, ecx
mov ecx, edx
add cl, al
add cl, 0xd2
mov byte [rbx + r13], cl
lea rbx, [0x140242630]
mov rax, qword [0x1402f1f88]
movabs r15, 0x9e270275ae0c40e0
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov ecx, dword [rbp - 0x14]
lea rdx, [0x1402426c8]
add ecx, dword [rdx + rax*4]
mov eax, ecx
mov r12d, eax
mov rax, qword [0x1402f1f30]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, str._b_b_b_
cmp r12d, dword [rcx + rax*4]
jae 0x1400431db
nop
mov dword [rbp - 0x14], r12d
sub rsp, 0x20
mov rcx, r14
call fcn.140094860
add rsp, 0x20
nop
mov eax, eax
mov r15d, eax
mov rax, qword [0x1402f1f38]
movabs r13, 0x9e270275ae0c40e0
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x1402425f0]
imul r15, qword [rcx + rax*8]
mov rax, qword [0x1402f1f40]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242610]
mov r12, qword [rcx + rax*8]
and r12, r15
mov rax, qword [0x1402f1f48]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x140292f30]
movabs rcx, 0xb1c28829286a0731
imul rax, rcx
mov rcx, qword [0x140292f38]
movabs rdx, 0xdec2c541f665dcf6
imul rcx, rdx
add rcx, rax
movabs rax, 0xeeae9b5f7627d4c5
add rcx, rax
cmp r12, rcx
jne 0x1400430dc
nop dword [rax + rax]
nop
sub rsp, 0x20
mov rcx, r14
call fcn.140094860
add rsp, 0x20
nop
mov eax, eax
mov r15d, eax
mov rax, qword [0x1402f1f50]
movabs r13, 0x9e270275ae0c40e0
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
imul r15, qword [rbx + rax*8]
mov rax, qword [0x1402f1f58]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov r12, qword [rsi + rax*8]
and r12, r15
mov rax, qword [0x1402f1f60]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x140292f40]
mov rcx, qword [0x140292f48]
shrd rcx, rax, 0xf
xor rcx, rdi
cmp r12, rcx
je 0x140043050
mov rax, qword [0x1402f1f68]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WLDAP32.dll_Ordinal_32
movzx ecx, byte [rcx + rax*8]
shr r15, cl
mov rax, qword [rbp - 0x38]
movzx r9d, byte [rax + r15]
mov rbx, qword [rbp - 0x10]
mov r12, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r12, r15
jae 0x140043180
mov byte [rbp - 1], r9b
mov rax, qword [0x1402f1f70]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov rcx, r13
lea rdx, reloc.WS2_32.dll_accept
mov r13, qword [rdx + rax*8]
add r13, r12
mov qword [rbx + 0x10], r13
mov rax, qword [0x1402f1f78]
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
movsxd rcx, eax
lea rdx, reloc.WS2_32.dll_ntohs
cmp r15, qword [rdx + rcx*8]
jbe 0x140042ee0
mov rax, qword [rbp - 0x10]
mov rbx, qword [rax]
jmp 0x140042ee0
mov rax, qword [0x140292f58]
movabs rcx, 0x2862b56bda9cacba
imul rax, rcx
mov rcx, qword [0x140292f60]
movabs rdx, 0x2adc1acc53e5701a
imul rcx, rdx
add rcx, rax
mov rdx, rcx
movabs rax, 0x68146501b2594d01
add rdx, rax
nop
sub rsp, 0x20
mov rcx, rbx
call fcn.1400597b0
add rsp, 0x20
nop
lea rbx, [0x140242630]
jmp 0x140042f30
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 0x30]
call fcn.140041e80
add rsp, 0x20
nop
mov rdi, qword [rbp - 0x10]
mov rsi, qword [rdi + 0x18]
mov rax, qword [0x1402f1f90]
movabs r14, 0x9e270275ae0c40e0
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_ntohs
cmp rsi, qword [rcx + rax*8]
jbe 0x140043307
mov rbx, qword [rdi]
mov rax, qword [0x1402f1f98]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_accept
mov rdi, qword [rcx + rax*8]
add rdi, rsi
mov rax, qword [0x1402f1fa0]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242720]
cmp rdi, qword [rcx + rax*8]
jbe 0x1400432ed
mov rdi, qword [rbx - 8]
mov rax, qword [0x1402f1fa8]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242740]
add rbx, qword [rcx + rax*8]
sub rbx, rdi
mov rax, qword [0x1402f1fb0]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WLDAP32.dll_Ordinal_32
cmp rbx, qword [rcx + rax*8]
jae 0x140043331
mov rax, qword [0x1402f1fb8]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x140242780]
add rsi, qword [rcx + rax*8]
mov rdx, rsi
mov rcx, rdi
jmp 0x1400432f3
mov rdx, rdi
mov rcx, rbx
mov rax, r14
add rax, qword [0x1402f1fc0]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp - 0x28]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, r13
add rax, qword [0x1402f1e98]
sub rsp, 0x20
call rax
mov rax, r13
jmp 0x140043334
mov rax, r14
add rax, qword [0x1402f1ed0]
sub rsp, 0x20
call rax
int3