Function at 0x140024d76
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 r14, r9
mov r15d, r8d
mov rdi, rdx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x28], rdx
mov r12, qword [rbp + 0x80]
mov eax, dword [0x14029ac70]
mov ecx, dword [0x14029ac74]
shrd ecx, eax, 0x1e
xor ecx, 0xf5a9c59d
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
mov eax, dword [0x14029ac78]
mov ecx, dword [0x14029ac7c]
shrd ecx, eax, 0x1b
xor ecx, 0xc4fe3f22
mov eax, ecx
imul rax, rax, 0x68
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
mov eax, dword [0x14029ac80]
mov ecx, dword [0x14029ac84]
shrd ecx, eax, 0x16
xor ecx, 0x94ba4fbe
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov rsi, rsp
mov al, byte [0x14029ac88]
mov cl, byte [reloc.WS2_32.dll_closesocket]
shr cl, 4
shl al, 4
or al, cl
xor al, 0x51
cmp byte [r9], al
jne 0x140024fa2
mov rcx, qword [r14 + 8]
sub rsp, 0x20
lea rdx, [0x1402bef00]
call fcn.14006ae64
add rsp, 0x20
mov rcx, qword [r14 + 8]
cmp rax, qword [rcx]
je 0x140024fa2
sub rsp, 0x20
lea rdx, [0x1402bef00]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
movzx ecx, byte [0x14029ace4]
movzx edx, byte [reloc.WS2_32.dll_getsockopt]
imul ecx, ecx, 0x63
imul edx, edx, 0x5f
add dl, cl
add dl, 0x90
cmp byte [rax], dl
jne 0x140025100
mov r14, rax
mov rcx, qword [rax + 8]
sub rsp, 0x20
lea rdx, [0x1402bef20]
call fcn.14006ae64
add rsp, 0x20
mov rcx, qword [r14 + 8]
cmp rax, qword [rcx]
je 0x140025100
sub rsp, 0x20
lea rdx, [0x1402bef20]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
mov cl, byte [0x14029ace6]
mov dl, byte [reloc.WS2_32.dll_recv]
shr dl, 3
shl cl, 5
or cl, dl
xor cl, 0x21
cmp byte [rax], cl
jne 0x140025100
mov rax, qword [rbp + 0x70]
mov rcx, r13
mov dword [r13], r15d
mov qword [r13 + 8], 0
xorps xmm0, xmm0
mov qword [rbp - 0x18], r13
movups xmmword [r13 + 0x18], xmm0
mov r12, qword [rax + 0x10]
mov rcx, qword [0x14029ad40]
mov rdx, qword [0x14029ad48]
shrd rdx, rcx, 0x1c
movabs rcx, 0xf8c40ac06076af44
xor rcx, rdx
cmp qword [rax + 0x18], rcx
jbe 0x140024f4e
mov rax, qword [rax]
mov r10, rax
mov r9, qword [rbp + 0x78]
lea rdx, [r13 + 8]
mov rax, qword [0x14029ad50]
mov rcx, qword [0x14029ad58]
shrd rcx, rax, 0x18
movabs rax, 0x9d25380d1a297069
xor rax, rcx
movabs r8, 0x7fffffffffffffff
cmp r12, rax
mov qword [rbp - 0x38], rdx
jae 0x1400252a2
movups xmm0, xmmword [r10]
movups xmmword [rdx], xmm0
mov r15d, recv
jmp 0x1400253ba
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x51c], 0
je 0x140025ab3
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x500]
movzx eax, byte [0x14029ac8a]
movzx ecx, byte [0x14029ac8b]
imul eax, eax, 0xffffffdb
imul ecx, ecx, 0x78
add cl, al
add cl, 0x6b
cmp byte [rbx + 0x19], cl
je 0x1400250e5
movabs rax, 0xee3a568a99454f56
movabs rdx, 0xeec97d6f05b338a3
movabs r8, 0x732103dc7a246f6f
movabs r9, 0x332eb7bf5bd1f9a8
movabs r10, 0xc0bc8b070b2f7c90
xor r11d, r11d
mov rcx, qword [0x14029ac90]
shr rcx, 0x32
xor cl, 0x42
mov rsi, r11
shl rsi, cl
imul ecx, dword [0x14029ac98], 0x143060be
imul r14d, dword [0x14029aca0], 0x5fac596d
add ecx, r14d
add ecx, 0x753f17de
and esi, ecx
mov rcx, qword [0x14029aca8]
imul rcx, rax
mov r14, qword [0x14029acb0]
imul r14, rdx
add r14, rcx
add r14, r8
mov ecx, esi
shr r14, cl
mov ecx, r14d
xor byte [rbx + r11], r14b
mov rcx, qword [0x14029acb8]
mov rsi, qword [0x14029acc0]
shrd rsi, rcx, 0x13
xor rsi, r9
add rsi, r11
mov rcx, qword [str.__v_a]
mov r11, qword [str.9_]
shrd r11, rcx, 0x38
mov rcx, r11
xor rcx, r10
mov r11, rsi
cmp rsi, rcx
jne 0x140025033
mov al, byte [0x14029acd8]
mov cl, byte [0x14029acd9]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x36
mov byte [rbx + 0x19], al
mov eax, dword [0x14029acdc]
mov ecx, dword [0x14029ace0]
shrd ecx, eax, 0x10
xor ecx, 0x9247c8f7
jmp 0x140025261
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x534], 0
je 0x140025ae6
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 0x51d]
movzx eax, byte [0x14029ace9]
movzx ecx, byte [0x14029acea]
lea eax, [rax + rax*4]
neg eax
imul ecx, ecx, 0xffffff95
add cl, al
add cl, 0xfa
cmp byte [rbx + 0x16], cl
je 0x14002524b
movabs rax, 0x741a5bb6a957ee78
movabs rdx, 0x9dc1ccca0bd63d03
movabs r8, 0xfde1b5dc3e6ae488
movabs r9, 0x567b147a855cff28
movabs r10, 0xa8bd4b984f7f8437
movabs r11, 0xb718c2eadb019f42
movabs rsi, 0x36e0064c3173b941
xor r14d, r14d
mov ecx, dword [0x14029acf0]
shr ecx, 5
xor cl, 0x8d
mov r15, r14
shl r15, cl
movzx ecx, word [0x14029acfe]
xor ecx, 0x6c
and r15d, ecx
mov rcx, qword [str.L7z]
mov r13, qword [0x14029ad08]
shrd r13, rcx, 0x38
xor r13, rax
mov ecx, r15d
shr r13, cl
mov ecx, r13d
xor byte [rbx + r14], r13b
mov rcx, qword [0x14029ad10]
imul rcx, rdx
mov r15, qword [0x14029ad18]
imul r15, r8
add r15, rcx
add r14, r9
mov rcx, r14
add rcx, r15
mov r14, qword [0x14029ad20]
imul r14, r10
mov r15, qword [0x14029ad28]
imul r15, r11
add r15, r14
add r15, rsi
mov r14, rcx
cmp rcx, r15
jne 0x1400251a7
mov al, byte [0x14029ad30]
mov cl, byte [0x14029ad31]
shr cl, 1
shl al, 7
or al, cl
xor al, 0x28
mov byte [rbx + 0x16], al
mov eax, dword [0x14029ad34]
mov ecx, dword [0x14029ad38]
shrd ecx, eax, 0x17
xor ecx, 0xfe123cf6
mov dword [r12], ecx
add r12, 8
sub rsp, 0x20
mov rcx, rbx
call fcn.1401b6280
mov rcx, r12
mov rdx, rbx
mov r8, rax
call fcn.140002e0c
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
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 qword [rbp - 0x10], r10
movabs rax, 0xc87a0a9eac3ce190
imul rax, qword [0x14029ad60]
movabs rcx, 0x5a1bd62399505062
imul rcx, qword [0x14029ad68]
add rcx, rax
movabs rax, 0xe486ed87a9ac16e7
add rax, rcx
or rax, r12
cmp rax, r8
mov r15, r8
cmovb r15, rax
movabs rcx, 0x99564fbf713beed1
imul rcx, qword [0x14029ad70]
movabs rdx, 0xa57c3414bf18c243
imul rdx, qword [0x14029ad78]
add rdx, rcx
movabs rcx, 0xe4d7921590bab761
add rcx, rdx
add rcx, r15
movabs rdx, 0xaa7e3ce1d70a1586
imul rdx, qword [0x14029ad80]
movabs r8, 0x1ff24dc1ddd76820
imul r8, qword [0x14029ad88]
add r8, rdx
movabs rdx, 0x3eae266958b9a4f8
add rdx, r8
sub rsp, 0x20
cmp rax, rdx
jbe 0x140025362
call fcn.1400031b3
jmp 0x140025367
call fcn.1400d87f8
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
mov rax, qword [0x14029ad90]
mov rdx, qword [0x14029ad98]
shrd rdx, rax, 0x24
movabs rax, 0x21ec3904c240ee2
xor rax, rdx
mov r8, rax
add r8, r12
sub rsp, 0x20
mov rdx, qword [rbp - 0x10]
call fcn.1401a0ad0
add rsp, 0x20
movabs r8, 0x7fffffffffffffff
mov r9, qword [rbp + 0x78]
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov r12, qword [r9 + 0x10]
mov rax, qword [0x14029ada0]
mov rcx, qword [0x14029ada8]
shrd rcx, rax, 0x28
movabs rax, 0x1f1a75b8102550ae
xor rax, rcx
cmp qword [r9 + 0x18], rax
jbe 0x140025404
mov rax, qword [r9]
jmp 0x140025407
mov rax, r9
mov r9, rax
lea rdx, [r13 + 0x28]
mov rax, qword [0x14029adb0]
mov rcx, qword [0x14029adb8]
shrd rcx, rax, 0x15
movabs rax, 0x5f1f72337b5b6647
xor rax, rcx
cmp r12, rax
mov qword [rbp - 0x30], rdx
jae 0x140025449
movups xmm0, xmmword [r9]
movups xmmword [rdx], xmm0
mov r15d, recv
jmp 0x14002556a
mov qword [rbp - 0x10], r9
movabs rax, 0xe81f04df4221d04c
imul rax, qword [0x14029adc0]
movabs rcx, 0xe92b11c3fefb306d
imul rcx, qword [0x14029adc8]
add rcx, rax
movabs rax, 0xe507b6f2242eb613
add rax, rcx
or rax, r12
cmp rax, r8
mov r15, r8
cmovb r15, rax
movabs rcx, 0x5613e515d1edab3
imul rcx, qword [0x14029add0]
movabs rdx, 0xe67a291401375a99
imul rdx, qword [str.SWH]
add rdx, rcx
movabs rcx, 0x6921d2c8bfec6ba6
add rcx, rdx
add rcx, r15
mov rdx, qword [0x14029ade0]
mov r8, qword [0x14029ade8]
shrd r8, rdx, 0x25
movabs rdx, 0x432a15b9fccecefd
xor rdx, r8
cmp rax, rdx
jbe 0x1400254ff
mov byte [rbp - 2], 1
nop
sub rsp, 0x20
call fcn.1400031b3
add rsp, 0x20
nop
jmp 0x140025512
mov byte [rbp - 2], 1
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov r9, qword [rbp - 0x10]
movabs rax, 0x4ea0303766372009
imul rax, qword [0x14029adf0]
movabs rdx, 0x9de60e630beaa8de
imul rdx, qword [0x14029adf8]
mov r8, qword [rbp - 0x30]
mov qword [r8], rcx
add rdx, rax
movabs rax, 0xba9d2aae80a38cac
add rax, rdx
mov r8, rax
add r8, r12
sub rsp, 0x20
mov rdx, r9
call fcn.1401a0ad0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov qword [rax + 0x38], r12
mov r12, rax
mov qword [rax + 0x40], r15
mov byte [rbp - 1], 1
nop
sub rsp, 0x20
lea rdx, [0x1402bef20]
mov rcx, r14
call fcn.140023230
add rsp, 0x20
nop
mov rcx, rax
mov byte [rbp - 1], 1
nop
sub rsp, 0x20
mov rdx, rsi
call fcn.1400311f6
add rsp, 0x20
nop
mov r9d, dword [rsi + 0x10]
mov rax, qword [0x14029ae00]
mov rcx, qword [0x14029ae08]
shrd rcx, rax, 0x2d
movabs rax, 0xc43dbc8bbfc5b7fc
xor rax, rcx
mov r8, rsi
cmp qword [rsi + 0x18], rax
jbe 0x1400255df
mov r8, qword [rsi]
mov qword [rbp - 0x10], rsi
mov r14, r13
add r14, 0x48
mov eax, dword [0x14029ae10]
mov ecx, dword [0x14029ae14]
shrd ecx, eax, 0x14
xor ecx, 0x5d3d87d4
mov eax, dword [0x14029ae18]
mov edx, dword [0x14029ae1c]
shrd edx, eax, 0x17
imul eax, dword [0x14029ae20], 0x4757d7f4
imul r10d, dword [0x14029ae24], 0x80c1d8bb
xor edx, 0xf4e116f0
add eax, r10d
add eax, 0x18691510
sub rsp, 0x30
mov dword [rsp + 0x28], eax
xor esi, esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov r15d, eax
movabs rax, 0xcb69bb50f9a764fd
imul rax, qword [0x14029ae28]
movabs rcx, 0xeb2c5c7156f29fad
imul rcx, qword [0x14029ae30]
mov qword [r12 + 0x48], rsi
add rcx, rax
movabs rax, 0xf7a19ccf72de641e
add rax, rcx
mov qword [r12 + 0x58], rax
movabs rax, 0xdbb22a09ff5d5c62
imul rax, qword [0x14029ae38]
movabs rcx, 0x3e112b4b78ccf199
imul rcx, qword [0x14029ae40]
add rcx, rax
movabs rax, 0x4d1c0ad309315686
add rax, rcx
mov qword [r12 + 0x60], rax
movzx eax, word [0x14029ae48]
movzx ecx, word [0x14029ae4a]
shrd cx, ax, 6
mov eax, dword [0x14029ae4c]
mov r8d, dword [0x14029ae50]
shrd r8d, eax, 0x1e
movsxd rdx, r15d
mov eax, ecx
xor eax, 0x41ba
mov word [r12 + 0x48], ax
xor r8d, 0x6ab26c56
cmp r15d, r8d
jbe 0x14002573f
movzx eax, word [0x14029ae84]
movzx ecx, word [0x14029ae86]
shrd cx, ax, 0xb
mov eax, ecx
xor eax, 0x6589
mov r9d, eax
mov byte [rbp - 3], 1
nop
sub rsp, 0x20
mov rcx, r14
call fcn.14002d1e2
add rsp, 0x20
nop
jmp 0x140025801
mov eax, dword [0x14029ae54]
mov ecx, dword [0x14029ae58]
shrd ecx, eax, 0x1f
mov qword [r12 + 0x58], rdx
xor ecx, 0x56b05494
cmp r15d, ecx
je 0x1400257db
movabs rax, 0x98679aca065d1198
movabs rcx, 0x50928fbe455bd76c
mov r8, r14
mov r9, rdx
movzx r10d, word [0x14029ae5c]
movzx r11d, word [0x14029ae5e]
shrd r11w, r10w, 3
mov r10d, r11d
xor r10d, 0x5e8
mov word [r8], r10w
add r8, 2
mov r10, qword [0x14029ae60]
mov r11, qword [0x14029ae68]
shrd r11, r10, 0x1f
xor r11, rax
mov r10, r9
add r10, r11
mov r9, qword [0x14029ae70]
mov r11, qword [0x14029ae78]
shrd r11, r9, 5
xor r11, rcx
mov r9, r10
cmp r10, r11
jne 0x140025779
movzx eax, word [0x14029ae80]
movzx ecx, word [0x14029ae82]
imul eax, eax, 0xffffc967
imul ecx, ecx, 0xffffd5ac
add eax, ecx
add eax, 0x636f
mov word [r14 + rdx*2], ax
mov rax, qword [0x14029ae88]
mov rcx, qword [0x14029ae90]
shrd rcx, rax, 0x19
movabs rax, 0xa6c4519ed0c8ff22
xor rax, rcx
cmp qword [r12 + 0x60], rax
jbe 0x14002582d
mov r14, qword [r12 + 0x48]
mov r10, qword [rbp - 0x10]
mov r9d, dword [r10 + 0x10]
mov rcx, qword [0x14029ae98]
mov rdx, qword [0x14029aea0]
shrd rdx, rcx, 0x3f
movabs rcx, 0x6a4423aa56d020
xor rcx, rdx
mov r8, r10
cmp qword [r10 + 0x18], rcx
jbe 0x140025861
mov r8, qword [r10]
imul ecx, dword [0x14029aea8], 0xcb481ffb
imul edx, dword [0x14029aeac], 0xcf595d61
add ecx, edx
add ecx, 0x9690b640
imul edx, dword [0x14029aeb0], 0x1c3469c5
imul r10d, dword [0x14029aeb4], 0xffeb352e
add edx, r10d
add edx, 0x2bbcc372
sub rsp, 0x30
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
movabs rax, 0xece1b617c283bd0a
imul rax, qword [0x14029aeb8]
movabs rcx, 0xba905607729e0754
imul rcx, qword [0x14029aec0]
mov rdx, rcx
add rdx, rax
movabs rcx, 0x2e443efccab48156
add rcx, rdx
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
mov rcx, rax
mov rdx, qword [rbp - 0x20]
add rdx, 0x60
nop
sub rsp, 0x20
mov qword [rbp - 0x20], rax
mov r8, qword [rbp - 0x18]
call fcn.1400b6b26
add rsp, 0x20
nop
nop
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp - 0x20]
call fcn.140033c6e
add rsp, 0x20
nop
mov rax, qword [rbx]
mov qword [rdi], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.1400286b6
add rsp, 0x20
mov r8, qword [rbp - 0x10]
mov rax, qword [r8 + 0x18]
movabs rcx, 0x533bd798ce0cf8e9
imul rcx, qword [0x14029aec8]
movabs rdx, 0xa627b36e9eb91691
imul rdx, qword [0x14029aed0]
add rdx, rcx
movabs rcx, 0x8ce975eb57896246
add rcx, rdx
cmp rax, rcx
jbe 0x14002528d
mov rdx, qword [r8]
mov rcx, qword [0x14029aed8]
mov r8, qword [0x14029aee0]
shrd r8, rcx, 0x10
movabs rcx, 0x94adbc524f0f98d5
xor rcx, r8
add rcx, rax
mov r8, qword [0x14029aee8]
mov r9, qword [0x14029aef0]
shrd r9, r8, 0xc
movabs r8, 0xb5603a7ba86ef77b
xor r8, r9
cmp rcx, r8
jbe 0x140025a98
movabs r8, 0x375d9fcb3234b9bf
imul r8, qword [0x14029aef8]
movabs r9, 0x55b8f9e9073e2dc
imul r9, qword [0x14029af00]
mov rcx, qword [rdx - 8]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xcb62a5cd6b0d430a
add rdx, r9
movabs r8, 0xdd8c40735331ac84
imul r8, qword [0x14029af08]
movabs r9, 0x4bbe9a19fb03c5c4
imul r9, qword [0x14029af10]
add r9, r8
movabs r8, 0xd7c3c0c049cc8cfc
add r8, r9
cmp rdx, r8
jae 0x140025b26
movabs rdx, 0x4e1337d78982b233
imul rdx, qword [0x14029af18]
movabs r8, 0x3eb343125b3d1843
imul r8, qword [0x14029af20]
add r8, rdx
movabs rdx, 0x3309c08a67ff6062
add rax, rdx
add rax, r8
jmp 0x140025a9e
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
jmp 0x14002528d
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x51c], 1
sub rsp, 0x20
lea rcx, [0x140033b22]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140024fc2
mov al, byte [0x1402c0460]
add al, byte [0x14029ace8]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and al, 1
mov byte [rcx + 0x534], al
sub rsp, 0x20
lea rcx, [0x140033be6]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x140025120
sub rsp, 0x20
call fcn.1401aec6c
int3