Function at 0x1400a7bd3
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, r9
mov rbx, r8
mov rsi, rdx
mov rdx, rcx
mov eax, dword [0x1402b4080]
mov ecx, dword [0x1402b4084]
shrd ecx, eax, 7
xor ecx, 0xc2284fbe
mov eax, ecx
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r15, rsp
mov eax, dword [0x1402b4088]
mov ecx, dword [0x1402b408c]
shrd ecx, eax, 6
xor ecx, 0x87ef640
mov eax, ecx
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov r14, rsp
mov eax, dword [0x1402b4090]
mov ecx, dword [0x1402b4094]
shrd ecx, eax, 0xb
xor ecx, 0x548fdb9e
mov eax, ecx
shl rax, 4
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
imul eax, dword [0x1402b4098], 0x5229c032
imul ecx, dword [0x1402b409c], 0x4590ef34
add eax, ecx
add eax, 0x280db717
shl rax, 5
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
imul eax, dword [0x1402b40a0], 0x368f6ebf
imul ecx, dword [0x1402b40a4], 0x182cb590
add eax, ecx
add eax, 0xc1e8f923
mov dword [r15], eax
sub rsp, 0x20
mov qword [rbp - 0x28], rdx
mov rcx, rdx
mov rdx, r15
call fcn.1400a79fd
add rsp, 0x20
mov rax, qword [rdi + 0x10]
mov rcx, qword [0x1402b40a8]
mov rdx, qword [0x1402b40b0]
shrd rdx, rcx, 0x3e
movabs rcx, 0xdf5b01a96501eaef
xor rcx, rdx
and rcx, rax
mov rdx, qword [0x1402b40b8]
mov r8, qword [0x1402b40c0]
shrd r8, rdx, 0x1e
movabs rdx, 0xf673da6cb84cf114
xor rdx, r8
cmp rcx, rdx
jne 0x1400a7d28
xor eax, eax
jmp 0x1400a7d6c
mov rcx, qword [0x1402b40c8]
mov rdx, qword [0x1402b40d0]
shrd rdx, rcx, 0x2b
movabs rcx, 0x60a13d4ae4b49ac4
xor rcx, rdx
cmp rax, rcx
jne 0x1400a7ed9
mov eax, dword [0x1402b40d8]
mov ecx, dword [0x1402b40dc]
shrd ecx, eax, 0x1f
xor ecx, 0xff3eeb77
cmp dword [rdi], ecx
setne al
test al, al
jne 0x1400a7ed9
mov eax, dword [r15]
imul ecx, dword [0x1402b40e0], 0xde614e8f
imul edx, dword [0x1402b40e4], 0x1e3419a3
add ecx, edx
add ecx, 0x906c9943
cmp eax, ecx
je 0x1400a7ed9
mov qword [rbp - 0x10], r14
mov r15, r12
mov r12d, eax
mov qword [r14], 0
mov rcx, qword [0x1402b4110]
mov rdx, qword [0x1402b4118]
shrd rdx, rcx, 0x13
movabs rcx, 0xf36dc37ff119e294
xor rcx, rdx
mov qword [r14 + 0x10], rcx
movabs rcx, 0x8ed7a731b79d4def
imul rcx, qword [0x1402b4120]
movabs rdx, 0x79b1f65eedcb36d5
imul rdx, qword [0x1402b4128]
add rdx, rcx
movabs rcx, 0xf50ac8f58870720e
add rcx, rdx
mov qword [r14 + 0x18], rcx
mov ecx, dword [0x1402b4134]
mov edx, dword [0x1402b4138]
shrd edx, ecx, 0x11
mov cl, byte [0x1402b4130]
mov r8b, byte [0x1402b4131]
shr r8b, 2
shl cl, 6
or cl, r8b
xor cl, 0xaf
mov byte [r14], cl
xor edx, 0x411c0c91
cmp eax, edx
mov qword [rbp - 8], r14
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], r13
jbe 0x1400a7f74
mov rax, qword [0x1402b4140]
mov rcx, qword [0x1402b4148]
shrd rcx, rax, 0x34
movabs rax, 0xb00a8407499efcdf
xor rax, rcx
or rax, r12
cmp rax, 0x17
mov esi, reloc.WS2_32.dll_shutdown
cmovae rsi, rax
mov rcx, qword [0x1402b4150]
mov rdx, qword [0x1402b4158]
shrd rdx, rcx, 0x10
movabs rcx, 0x9d99164fa4a47ac0
xor rcx, rdx
add rcx, rsi
mov rdx, qword [0x1402b4160]
mov r8, qword [0x1402b4168]
shrd r8, rdx, 0xc
movabs rdx, 0xee749fbb9aa31ef
xor rdx, r8
sub rsp, 0x20
cmp rax, rdx
jbe 0x1400a7faf
call fcn.1400031b3
jmp 0x1400a7fb4
movabs rax, 0xa4eb56cc0b077d99
imul rax, qword [0x1402b40e8]
movabs rcx, 0x5eb001498aa9bd08
imul rcx, qword [0x1402b40f0]
add rcx, rax
movabs rdx, 0x4038ebaa9fac5c22
add rdx, rcx
mov rax, rsi
cmp qword [rsi + 0x18], rdx
jbe 0x1400a7f19
mov rax, qword [rsi]
movabs rcx, 0x96462301b7d23a7f
imul rcx, qword [0x1402b40f8]
movabs rdx, 0x1e65c7e5b3eaa5d7
imul rdx, qword [0x1402b4100]
add rdx, rcx
movabs rcx, 0x4a24be1cedb4018e
add rcx, rdx
mov qword [rsi + 0x10], rcx
movzx ecx, word [0x1402b4108]
movzx edx, word [0x1402b410a]
shrd dx, cx, 1
mov ecx, edx
xor ecx, 0x9034
mov word [rax], cx
jmp 0x1400a898d
mov qword [r14 + 0x10], r12
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8, r12
call fcn.1401a1180
add rsp, 0x20
movzx eax, byte [reloc.WS2_32.dll_shutdown]
movzx ecx, byte [0x1402b413d]
imul eax, eax, 0xffffff95
imul ecx, ecx, 0xffffff99
add cl, al
add cl, 0x74
mov byte [r14 + r12], cl
mov r13, qword [r14]
jmp 0x1400a7ffa
call fcn.1400d87f8
add rsp, 0x20
mov r13, rax
mov r14, qword [rbp - 8]
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], rsi
sub rsp, 0x20
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.1401a1180
add rsp, 0x20
mov al, byte [0x1402b4170]
mov cl, byte [0x1402b4171]
shr cl, 6
shl al, 2
or al, cl
xor al, 0xbd
mov byte [r13 + r12], al
mov qword [r14], r13
mov rax, qword [0x1402b4178]
mov rcx, qword [0x1402b4180]
shrd rcx, rax, 0x1b
movabs rax, 0x410665f5bfe434d
xor rax, rcx
cmp qword [r14 + 0x18], rax
cmovbe r13, qword [rbp - 0x10]
mov rax, qword [r14 + 0x10]
mov qword [r15], r13
mov qword [r15 + 8], rax
nop
sub rsp, 0x20
mov rcx, qword [rbp - 0x28]
mov rdx, r15
mov r8, rdi
call fcn.1400a761d
add rsp, 0x20
nop
mov r15, qword [rbp - 0x20]
mov r12, qword [rbp - 0x18]
mov rax, qword [rdi + 0x10]
movabs rcx, 0x1943944a21cc6b70
imul rcx, qword [0x1402b4188]
movabs rdx, 0x206191b00917df2d
imul rdx, qword [str.Edmy]
add rdx, rcx
movabs rcx, 0xf4ca0a1cc3492c40
add rcx, rdx
and rcx, rax
movabs rdx, 0xa72f4de3f7ef4da8
imul rdx, qword [0x1402b4198]
movabs r8, 0xb4b5d38a8b797d9c
imul r8, qword [0x1402b41a0]
add r8, rdx
movabs rdx, 0x19a5d120a9edd794
add rdx, r8
cmp rcx, rdx
mov rsi, qword [rbp - 8]
je 0x1400a8130
mov rcx, qword [0x1402b41a8]
mov rdx, qword [0x1402b41b0]
shrd rdx, rcx, 0x24
movabs rcx, 0x3fc3e1f1d79c8b57
xor rcx, rdx
mov edx, dword [0x1402b41b8]
mov r8d, dword [0x1402b41bc]
shrd r8d, edx, 0x18
xor r8d, 0xa3045ff3
cmp dword [rdi], r8d
setne dl
mov r8b, byte [0x1402b41c0]
add r8b, byte [0x1402c07ed]
cmp rax, rcx
mov eax, 0
mov al, dl
movzx ecx, r8b
cmove ecx, eax
mov eax, ecx
test cl, 1
jne 0x1400a885f
mov rdi, r12
mov r8, qword [rsi]
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
test rbx, rbx
je 0x1400a821e
movabs rcx, 0x93ab4e37dbb139ff
imul rcx, qword [0x1402b41c8]
movabs r9, 0x7e7d695fd8ffde30
imul r9, qword [0x1402b41d0]
add r9, rcx
movabs rcx, 0x804a9a6cf414cc97
add rcx, r9
cmp rdx, rcx
mov r14, qword [rbp - 0x10]
mov rcx, r14
cmova rcx, r8
mov r9, qword [0x1402b41d8]
mov r10, qword [0x1402b41e0]
shrd r10, r9, 3
movabs r9, 0x8c4fffc143814801
xor r9, r10
cmp rax, r9
je 0x1400a8222
test rcx, rcx
je 0x1400a8222
movabs rdx, 0x5e776456cbfc6ae1
movabs r8, 0xa032d75b53a7726
movabs r9, 0xcfd9853027b7b6e1
xor r10d, r10d
mov r11b, byte [rcx + r10]
rol r11b, 6
xor r11b, byte [rbx]
mov byte [rcx + r10], r11b
mov r11, qword [0x1402b41e8]
imul r11, rdx
mov rsi, qword [0x1402b41f0]
imul rsi, r8
add rsi, r11
add r10, r9
mov r11, r10
add r11, rsi
mov r10, r11
cmp r11, rax
jne 0x1400a81d4
mov rcx, qword [rbp - 8]
mov r8, qword [rcx]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
jmp 0x1400a8222
mov r14, qword [rbp - 0x10]
mov rcx, r8
movabs r8, 0xbbddeebfbf6779e0
imul r8, qword [0x1402b41f8]
movabs r10, 0xef005818e8ee587
imul r10, qword [0x1402b4200]
mov r9d, eax
add r10, r8
movabs rax, 0xd69b6c9ec7963d46
add rax, r10
cmp rdx, rax
mov r8, r14
cmova r8, rcx
mov eax, dword [0x1402b4208]
mov ecx, dword [0x1402b420c]
shrd ecx, eax, 7
imul eax, dword [0x1402b4210], 0x39146f5b
imul edx, dword [0x1402b4214], 0x282f0b4b
add edx, eax
add edx, 0x91728df0
imul eax, dword [str.L_tj_], 0x9f2d6aaa
imul r10d, dword [0x1402b421c], 0x6901d432
xor ecx, 0x231dd66
add eax, r10d
add eax, 0x899d9f90
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 ebx, eax
mov qword [rdi], rsi
mov rax, qword [0x1402b4220]
mov rcx, qword [0x1402b4228]
shrd rcx, rax, 0x30
movabs rax, 0xfeaec973f30324cb
xor rax, rcx
mov qword [rdi + 0x10], rax
movabs rax, 0x267666cdbc1671cd
imul rax, qword [0x1402b4230]
movabs rcx, 0x1eb464a79f7c1e7c
imul rcx, qword [0x1402b4238]
add rcx, rax
movabs rax, 0x2d957833805baa26
add rax, rcx
mov qword [rdi + 0x18], rax
movzx eax, word [0x1402b4240]
movzx ecx, word [0x1402b4242]
imul eax, eax, 0xffffc780
imul ecx, ecx, 0xffffef1d
add eax, ecx
add eax, 0xffffcc09
mov ecx, dword [0x1402b4244]
mov r8d, dword [0x1402b4248]
shrd r8d, ecx, 0xb
movsxd rdx, ebx
mov word [rdi], ax
xor r8d, 0xf8481217
cmp ebx, r8d
jbe 0x1400a83a8
movzx eax, word [0x1402b427c]
movzx ecx, word [0x1402b427e]
shrd cx, ax, 7
mov eax, ecx
xor eax, 0x6e45
mov r9d, eax
nop
sub rsp, 0x20
mov rcx, rdi
call fcn.14002d1e2
add rsp, 0x20
nop
jmp 0x1400a8485
mov qword [rdi + 0x10], rdx
imul eax, dword [0x1402b424c], 0x51acede8
imul ecx, dword [0x1402b4250], 0x96ff8c86
add eax, ecx
add eax, 0xbf77e86c
cmp ebx, eax
je 0x1400a8460
movabs rax, 0x105e85f892828616
movabs rcx, 0x42c74e52f09e71b1
movabs r8, 0xaa18f611aea11e83
movabs r9, 0x60b7c2c48534bb25
mov r10, rdi
mov r11, rdx
movzx esi, word [0x1402b4254]
movzx r14d, word [0x1402b4256]
shrd r14w, si, 0xf
add r11, r8
mov esi, r14d
xor esi, 0xe56d
mov word [r10], si
add r10, 2
mov rsi, qword [0x1402b4258]
imul rsi, rax
mov r14, qword [0x1402b4260]
imul r14, rcx
add r14, rsi
add r14, r11
mov r11, qword [0x1402b4268]
mov rsi, qword [0x1402b4270]
shrd rsi, r11, 0xc
xor rsi, r9
mov r11, r14
cmp r14, rsi
jne 0x1400a83fd
movzx eax, word [0x1402b4278]
movzx ecx, word [0x1402b427a]
imul eax, eax, 0xffffb99b
imul ecx, ecx, 0x4015
add eax, ecx
add eax, 0xffffd848
mov word [rdi + rdx*2], ax
mov rax, qword [0x1402b4280]
mov rcx, qword [0x1402b4288]
shrd rcx, rax, 0xd
movabs rdx, 0x170f422989aaae3b
xor rdx, rcx
mov rax, rdi
cmp qword [rdi + 0x18], rdx
jbe 0x1400a84b1
mov rax, qword [rdi]
mov rsi, qword [rbp - 8]
mov r9d, dword [rsi + 0x10]
mov rcx, qword [0x1402b4290]
mov rdx, qword [str.9x__]
shrd rdx, rcx, 0x18
movabs rcx, 0xdef232bd30a6272f
xor rcx, rdx
mov r8, rsi
cmp qword [rsi + 0x18], rcx
jbe 0x1400a84e5
mov r8, qword [rsi]
mov ecx, dword [0x1402b42a0]
mov edx, dword [0x1402b42a4]
shrd edx, ecx, 0xf
mov ecx, edx
xor ecx, 0x57e56921
mov edx, dword [0x1402b42a8]
mov r10d, dword [0x1402b42ac]
shrd r10d, edx, 4
mov edx, r10d
xor edx, 0x374654d0
sub rsp, 0x30
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
cmp r12, r15
je 0x1400a8679
mov rax, qword [r15 + 0x18]
movabs rcx, 0xde8425d3ad9408be
imul rcx, qword [0x1402b42b0]
movabs rdx, 0xfb1cbdcb0a06f54a
imul rdx, qword [0x1402b42b8]
add rdx, rcx
movabs rcx, 0x5096f72390173ce1
add rcx, rdx
cmp rax, rcx
jbe 0x1400a87b7
mov rdx, qword [r15]
mov ecx, dword [0x1402b42c0]
shr ecx, 1
xor cl, 0x49
shl rax, cl
movabs rcx, 0xcce2823bce5b137f
imul rcx, qword [0x1402b42c8]
movabs r8, 0xd2ec4bd19e7ba5db
imul r8, qword [0x1402b42d0]
add r8, rcx
movabs rcx, 0x451eab6b971ec826
add rcx, r8
add rcx, rax
mov r8, qword [0x1402b42d8]
mov r9, qword [0x1402b42e0]
shrd r9, r8, 0x3f
movabs r8, 0x24ff3fad0e66ff13
xor r8, r9
cmp rcx, r8
jbe 0x1400a87a1
mov rcx, qword [rdx - 8]
movabs r8, 0xc4b93573340c7498
imul r8, qword [0x1402b42e8]
movabs r9, 0x9f2a625850896930
imul r9, qword [0x1402b42f0]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xf90ed31f1619b820
add rdx, r9
mov r8, qword [0x1402b42f8]
mov r9, qword [0x1402b4300]
shrd r9, r8, 0x26
movabs r8, 0x9017fbe39b0be67e
xor r8, r9
cmp rdx, r8
jae 0x1400a899e
mov rdx, qword [0x1402b4308]
mov r8, qword [0x1402b4310]
shrd r8, rdx, 0x30
movabs rdx, 0x72d659bc0e423169
xor rdx, r8
add rax, rdx
jmp 0x1400a87a7
mov rax, qword [rdi + 0x18]
mov rcx, qword [0x1402b4318]
mov rdx, qword [0x1402b4320]
shrd rdx, rcx, 0x16
movabs rcx, 0xab7012fa48a88cc3
xor rcx, rdx
cmp rax, rcx
jbe 0x1400a87df
mov rdx, qword [r15]
mov ecx, dword [0x1402b4328]
mov r8, qword [str.H_.y]
shl ecx, 5
shr r8, 0x3b
or r8d, ecx
mov ecx, r8d
xor cl, 0x1f
shl rax, cl
movabs rcx, 0xfe9e9c9db7a8e12a
imul rcx, qword [0x1402b4338]
movabs r8, 0xd5c66af1e7cd3dfe
imul r8, qword [0x1402b4340]
add r8, rcx
movabs rcx, 0xd6895bc21042df14
add rcx, r8
add rcx, rax
mov r8, qword [0x1402b4348]
mov r9, qword [0x1402b4350]
shrd r9, r8, 0x2f
movabs r8, 0x79f662fa19a9a1b5
xor r8, r9
cmp rcx, r8
jbe 0x1400a87c9
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402b4358]
mov r9, qword [0x1402b4360]
shrd r9, r8, 0x24
movabs r8, 0x4e5feba238e0137f
xor r8, r9
add r8, rdx
sub r8, rcx
mov rdx, qword [0x1402b4368]
mov r9, qword [0x1402b4370]
shrd r9, rdx, 0x22
movabs rdx, 0xc2cc6c0c9f3b9d09
xor rdx, r9
cmp r8, rdx
jae 0x1400a899e
mov rdx, qword [0x1402b4378]
mov r8, qword [0x1402b4380]
shrd r8, rdx, 0x30
movabs rdx, 0x7178e665d4100617
xor rdx, r8
add rax, rdx
jmp 0x1400a87cf
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
jmp 0x1400a87df
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
movabs rax, 0x78612cd2ea1d8e9f
imul rax, qword [0x1402b4388]
movabs rcx, 0xf42a543322b40676
imul rcx, qword [0x1402b4390]
add rcx, rax
movabs rax, 0xdaba4d713f1a667e
add rax, rcx
mov qword [rdi + 0x10], rax
mov rax, qword [0x1402b4398]
mov rcx, qword [0x1402b43a0]
shrd rcx, rax, 7
movabs rax, 0x20d99b3ac1e2696a
xor rax, rcx
mov qword [rdi + 0x18], rax
movzx eax, word [0x1402b43a8]
movzx ecx, word [0x1402b43aa]
imul eax, eax, 0xffffad16
imul ecx, ecx, 0xffff8570
add eax, ecx
add eax, 0x2152
mov word [rdi], ax
mov rax, qword [rsi + 0x18]
mov rcx, qword [0x1402b43b0]
mov rdx, qword [0x1402b43b8]
shrd rdx, rcx, 0x2d
movabs rcx, 0x9fe68debf922bb7d
xor rcx, rdx
cmp rax, rcx
jbe 0x1400a898d
mov rdx, qword [rsi]
mov rcx, qword [0x1402b43c0]
mov r8, qword [0x1402b43c8]
shrd r8, rcx, 0x3c
movabs rcx, 0xab9b9fa37e482448
xor rcx, r8
add rcx, rax
mov r8, qword [0x1402b43d0]
mov r9, qword [0x1402b43d8]
shrd r9, r8, 3
movabs r8, 0xda8b4ee78a0ab08
xor r8, r9
cmp rcx, r8
jbe 0x1400a8977
movabs r8, 0x2471024fb6bec540
imul r8, qword [0x1402b43e0]
movabs r9, 0x8f43953d60e96da1
imul r9, qword [0x1402b43e8]
mov rcx, qword [rdx - 8]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0x326d1fa4ec75d39e
add rdx, r9
movabs r8, 0xc44a1e54a1b3305a
imul r8, qword [0x1402b43f0]
movabs r9, 0x827e75c7376caef6
imul r9, qword [0x1402b43f8]
add r9, r8
movabs r8, 0xd08172966fcd4f70
add r8, r9
cmp rdx, r8
jae 0x1400a899e
mov rdx, qword [0x1402b4400]
mov r8, qword [0x1402b4408]
shrd r8, rdx, 0x3e
movabs rdx, 0xa65d7eb5c723fc7d
xor rdx, r8
add rax, rdx
jmp 0x1400a897d
mov rax, rcx
mov rcx, rdx
mov rdx, rax
sub rsp, 0x20
call fcn.1400d883c
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call fcn.1401aec6c
int3