Function at 0x140042860
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 [0x1402a0f28], 0x305af5eb
imul ecx, dword [0x1402a0f2c], 0x965ed030
add eax, ecx
add eax, 0x2365a47d
mov rcx, rax
shl rcx, 6
sub rcx, rax
add rcx, 0xf
movabs rax, 0x7ffffffff0
and rax, rcx
call fcn.1401ee5e0
sub rsp, rax
mov r15, rsp
imul eax, dword [0x1402a0f30], 0x3081eac0
imul ecx, dword [0x1402a0f34], 0x11fc673c
add eax, ecx
add eax, 0xbe4720f9
shl rax, 5
call fcn.1401ee5e0
sub rsp, rax
mov r14, rsp
imul eax, dword [0x1402a0f38], 0xa10b4d9c
imul ecx, dword [0x1402a0f3c], 0xf20427d3
add eax, ecx
add eax, 0x369287af
imul rax, rax, 0x1388
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1401ee5e0
sub rsp, rax
mov r12, rsp
movabs r13, 0xe9daa0a56f3d0556
mov rax, qword [0x1403021d0]
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 [0x1403021d8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e52b]
movzx eax, byte [rax + rcx]
mov byte [r15 + 1], al
mov rax, qword [0x1403021e0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e52e]
movzx eax, byte [rax + rcx]
mov byte [r15 + 2], al
mov rax, qword [0x1403021e8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e531]
movzx eax, byte [rax + rcx]
mov byte [r15 + 3], al
mov rax, qword [0x1403021f0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e534]
movzx eax, byte [rax + rcx]
mov byte [r15 + 4], al
mov rax, qword [0x1403021f8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e537]
movzx eax, byte [rax + rcx]
mov byte [r15 + 5], al
mov rax, qword [0x140302200]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e53a]
movzx eax, byte [rax + rcx]
mov byte [r15 + 6], al
mov rax, qword [0x140302208]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e53d]
movzx eax, byte [rax + rcx]
mov byte [r15 + 7], al
mov rax, qword [0x140302210]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e540]
movzx eax, byte [rax + rcx]
mov byte [r15 + 8], al
mov rax, qword [0x140302218]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e543]
movzx eax, byte [rax + rcx]
mov byte [r15 + 9], al
mov rax, qword [0x140302220]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e546]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xa], al
mov rax, qword [0x140302228]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e549]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xb], al
mov rax, qword [0x140302230]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e54c]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xc], al
mov rax, qword [0x140302238]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e54f]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xd], al
mov rax, qword [0x140302240]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e552]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xe], al
mov rax, qword [0x140302248]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e555]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0xf], al
mov rax, qword [0x140302250]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e558]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x10], al
mov rax, qword [0x140302258]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e55b]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x11], al
mov rax, qword [0x140302260]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e55e]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x12], al
mov rax, qword [0x140302268]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e561]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x13], al
mov rax, qword [0x140302270]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e564]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x14], al
mov rax, qword [0x140302278]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e567]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x15], al
mov rax, qword [0x140302280]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e56a]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x16], al
mov rax, qword [0x140302288]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e56d]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x17], al
mov rax, qword [0x140302290]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e570]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x18], al
mov rax, qword [0x140302298]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e573]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x19], al
mov rax, qword [0x1403022a0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e576]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1a], al
mov rax, qword [0x1403022a8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e579]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1b], al
mov rax, qword [0x1403022b0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e57c]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1c], al
mov rax, qword [0x1403022b8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e57f]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1d], al
mov rax, qword [0x1403022c0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e582]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1e], al
mov rax, qword [0x1403022c8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e585]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x1f], al
mov rax, qword [0x1403022d0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e588]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x20], al
mov rax, qword [0x1403022d8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e58b]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x21], al
mov rax, qword [0x1403022e0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e58e]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x22], al
mov rax, qword [0x1403022e8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e591]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x23], al
mov rax, qword [0x1403022f0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e594]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x24], al
mov rax, qword [0x1403022f8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e597]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x25], al
mov rax, qword [0x140302300]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e59a]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x26], al
mov rax, qword [0x140302308]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e59d]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x27], al
mov rax, qword [0x140302310]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5a0]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x28], al
mov rax, qword [0x140302318]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5a3]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x29], al
mov rax, qword [0x140302320]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5a6]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2a], al
mov rax, qword [0x140302328]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5a9]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2b], al
mov rax, qword [0x140302330]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5ac]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2c], al
mov rax, qword [0x140302338]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5af]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2d], al
mov rax, qword [0x140302340]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5b2]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2e], al
mov rax, qword [0x140302348]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5b5]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x2f], al
mov rax, qword [0x140302350]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5b8]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x30], al
mov rax, qword [0x140302358]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5bb]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x31], al
mov rax, qword [0x140302360]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5be]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x32], al
mov rax, qword [0x140302368]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5c1]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x33], al
mov rax, qword [0x140302370]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5c4]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x34], al
mov rax, qword [0x140302378]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5c7]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x35], al
mov rax, qword [0x140302380]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5ca]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x36], al
mov rax, qword [0x140302388]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5cd]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x37], al
mov rax, qword [0x140302390]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5d0]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x38], al
mov rax, qword [0x140302398]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5d3]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x39], al
mov rax, qword [0x1403023a0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5d6]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3a], al
mov rax, qword [0x1403023a8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5d9]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3b], al
mov rax, qword [0x1403023b0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5dc]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3c], al
mov rax, qword [0x1403023b8]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e5df]
movzx eax, byte [rax + rcx]
mov byte [r15 + 0x3d], al
mov rax, qword [0x1403023c0]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x1402a0f40]
movzx ecx, byte [0x1402a0f41]
add eax, eax
lea eax, [rax + rax*8]
imul ecx, ecx, 0x38
add cl, al
add cl, 0xe6
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 [0x1403023c8]
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 0x140043294
mov rbx, qword [rbx]
mov rax, qword [0x1403023d0]
movabs rdi, 0xe9daa0a56f3d0556
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
movabs rax, 0x7bcd2197638215b0
imul rax, qword [0x1402a0f48]
movabs rcx, 0x9b48a2a450e30851
imul rcx, qword [0x1402a0f50]
add rcx, rax
movabs rax, 0xe834f907971e0b77
add rax, rcx
cmp rsi, rax
jl 0x140043a42
mov rax, qword [0x1403023e0]
add rax, rdi
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 0x14004334b
mov qword [r14 + 0x10], rsi
mov rax, qword [0x1403023e8]
add rax, rdi
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 0x1400434bf
mov qword [rbp - 0x18], r12
mov rax, qword [0x1403023f0]
add rax, rdi
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 r12d, reloc.WLDAP32.dll_Ordinal_22
cmovae r12, r14
mov rax, qword [0x1403023f8]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e670]
cmp r14, qword [rcx + rax*8]
jbe 0x14004343a
mov rax, qword [0x140302400]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e690]
mov rcx, qword [rcx + rax*8]
add rcx, r12
mov rax, qword [0x140302408]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
test rax, rax
je 0x140043a4f
mov r14, rax
mov rax, qword [0x140302418]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e6b0]
mov r13, qword [rcx + rax*8]
add r13, r14
mov rax, qword [0x140302420]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e6d0]
and r13, qword [rcx + rax*8]
mov qword [r13 - 8], r14
mov r14, r13
jmp 0x140043475
mov rax, qword [0x140302428]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WS2_32.dll_accept
mov rcx, qword [rcx + rax*8]
add rcx, r12
mov rax, qword [0x140302408]
add rax, rdi
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], r12
mov rax, qword [0x140302430]
add rax, rdi
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 r12, qword [rbp - 0x18]
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x38], r15
mov r14, r12
mov rax, qword [0x140302438]
add rax, rdi
sub rsp, 0x20
xor ecx, ecx
call rax
add rsp, 0x20
mov r13d, eax
mov rax, qword [0x140302440]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e728]
mov eax, dword [rcx + rax*4]
mov dword [r12 + 0x1384], eax
mov dword [r12 + 4], r13d
lea rbx, reloc.WS2_32.dll_accept
lea r15, [0x14024e770]
mov r12d, 1
mov eax, r13d
nop dword [rax + rax]
mov r13d, eax
mov rax, qword [0x140302448]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e734]
movzx ecx, byte [rcx + rax*4]
mov esi, r13d
shr esi, cl
xor esi, r13d
mov rax, qword [0x140302450]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e740]
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 [0x140302458]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov r13, r12
add r13, qword [rbx + rax*8]
mov rax, qword [0x140302460]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
movsxd rcx, eax
mov r12, r13
mov eax, esi
cmp r13, qword [r15 + rcx*8]
jne 0x140043530
mov rax, qword [0x140302468]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e788]
mov eax, dword [rcx + rax*4]
mov dword [r14], eax
lea rbx, [0x14024e7e0]
movabs r12, 0xb1f7fb357c60d3aa
movabs r13, 0xa28b49cd7a68ebf2
xor eax, eax
jmp 0x14004369d
movzx eax, byte [rbp - 1]
mov byte [rbx + rsi], al
mov rax, qword [0x1403024c0]
movabs rcx, 0xe9daa0a56f3d0556
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
movzx eax, byte [0x1402a0f78]
movzx ecx, byte [0x1402a0f79]
shl eax, 2
lea eax, [rax + rax*8]
neg eax
imul ecx, ecx, 0xffffffa5
add cl, al
add cl, 0xd6
mov byte [rbx + r15], cl
lea rbx, [0x14024e7e0]
mov rax, qword [0x1403024c8]
movabs rdi, 0xe9daa0a56f3d0556
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov ecx, dword [rbp - 0x18]
lea rdx, [0x14024e878]
add ecx, dword [rdx + rax*4]
mov eax, ecx
mov esi, eax
mov rax, qword [0x140302470]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, str._b_b_b_
cmp esi, dword [rcx + rax*4]
jae 0x140043901
nop
mov dword [rbp - 0x18], esi
sub rsp, 0x20
mov rcx, r14
call fcn.140098460
add rsp, 0x20
nop
mov eax, eax
mov esi, eax
mov rax, qword [0x140302478]
movabs r15, 0xe9daa0a56f3d0556
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e7a0]
imul rsi, qword [rcx + rax*8]
mov rax, qword [0x140302480]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e7c0]
mov rdi, qword [rcx + rax*8]
and rdi, rsi
mov rax, qword [0x140302488]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x1402a0f58]
mov rcx, qword [0x1402a0f60]
shrd rcx, rax, 0x36
movabs rax, 0x6f8792b0e6f7ccd2
xor rcx, rax
cmp rdi, rcx
jne 0x140043812
nop dword [rax + rax]
nop
sub rsp, 0x20
mov rcx, r14
call fcn.140098460
add rsp, 0x20
nop
mov eax, eax
mov esi, eax
mov rax, qword [0x140302490]
movabs r15, 0xe9daa0a56f3d0556
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
imul rsi, qword [rbx + rax*8]
mov rax, qword [0x140302498]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e800]
mov rdi, qword [rcx + rax*8]
and rdi, rsi
mov rax, qword [0x1403024a0]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [0x1402a0f68]
movabs rcx, 0xa1a7114d84d8cab2
imul rax, rcx
mov rcx, qword [0x1402a0f70]
imul rcx, r12
add rcx, rax
add rcx, r13
cmp rdi, rcx
je 0x140043770
mov rax, qword [0x1403024a8]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, reloc.WLDAP32.dll_Ordinal_32
movzx ecx, byte [rcx + rax*8]
shr rsi, cl
mov rax, qword [rbp - 0x38]
movzx r9d, byte [rax + rsi]
mov rbx, qword [rbp - 0x10]
mov rsi, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x18]
cmp rsi, rdi
jae 0x1400438c0
mov byte [rbp - 1], r9b
mov rax, qword [0x1403024b0]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
mov rcx, r15
lea rdx, reloc.WS2_32.dll_accept
mov r15, qword [rdx + rax*8]
add r15, rsi
mov qword [rbx + 0x10], r15
mov rax, qword [0x1403024b8]
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
movsxd rcx, eax
lea rdx, reloc.WS2_32.dll_ntohs
cmp rdi, qword [rdx + rcx*8]
jbe 0x140043620
mov rax, qword [rbp - 0x10]
mov rbx, qword [rax]
jmp 0x140043620
mov rax, qword [0x1402a0f80]
mov rcx, qword [0x1402a0f88]
shrd rcx, rax, 0x32
mov rdx, rcx
movabs rax, 0xfaf73b09ea88f7fa
xor rdx, rax
nop
sub rsp, 0x20
mov rcx, rbx
call fcn.14005d3e0
add rsp, 0x20
nop
lea rbx, [0x14024e7e0]
jmp 0x14004366e
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 0x30]
call fcn.140042100
add rsp, 0x20
nop
mov rdi, qword [rbp - 0x10]
mov rsi, qword [rdi + 0x18]
mov rax, qword [0x1403024d0]
movabs r14, 0xe9daa0a56f3d0556
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 0x140043a2d
mov rbx, qword [rdi]
mov rax, qword [0x1403024d8]
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 [0x1403024e0]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e8d0]
cmp rdi, qword [rcx + rax*8]
jbe 0x140043a13
mov rdi, qword [rbx - 8]
mov rax, qword [0x1403024e8]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e8f0]
add rbx, qword [rcx + rax*8]
sub rbx, rdi
mov rax, qword [0x1403024f0]
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 0x140043a5c
mov rax, qword [0x1403024f8]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cdqe
lea rcx, [0x14024e930]
add rsi, qword [rcx + rax*8]
mov rdx, rsi
mov rcx, rdi
jmp 0x140043a19
mov rdx, rdi
mov rcx, rbx
mov rax, r14
add rax, qword [0x140302500]
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
add rdi, qword [0x1403023d8]
sub rsp, 0x20
call rdi
add rdi, qword [0x140302410]
sub rsp, 0x20
call rdi
mov rax, r14
add rax, qword [0x140302410]
sub rsp, 0x20
call rax
int3