Function at 0x1400188e0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
movzx eax, byte [0x140042a86]
xor ebx, ebx
mov r10d, dword [0x140042b30]
mov dl, 0xe9
movzx r11d, byte [0x140042b7c]
mov edi, 0x108
movzx r12d, byte [0x140042b54]
add r11b, 0x7c
movsx esi, byte [0x140042b56]
mov ebp, 0x343
mov byte [rsp + 0x90], al
lea ecx, [r10 + 0xd4]
mov byte [0x140042b55], al
xor r11b, cl
or r11b, byte [0x140042a64]
cmp dword [0x140042b60], 1
lea r14d, [rsi + 4]
mov eax, dword [0x140042b6c]
mov dword [rsp + 0xa0], edx
mov edx, ebx
sete dl
mov dword [rsp + 0x24], edi
add eax, 0x39
mov dword [rsp + 0x2c], edx
shr eax, cl
movzx ecx, byte [0x140042b65]
mov dword [0x140042b6c], eax
movzx eax, byte [0x140042a87]
or eax, 0x39
mov dword [0x140042b2c], edx
sub dword [0x140042b48], eax
add edx, 4
cmp dword [0x140042b40], 0x1c7
mov eax, ebx
mov dword [0x140042a88], ebx
sete al
mov byte [0x140042b81], r11b
xor dword [0x140042b5c], eax
mov eax, dword [0x140042b84]
shr eax, 1
imul ecx, edx
add r12b, al
mov dword [rsp + 0x98], edx
and ecx, 0x80000003
jge 0x1400189e8
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, dword [0x140042b78]
mov r15d, 1
mov r8d, dword [0x140042b34]
movzx r9d, byte [0x140042a63]
mov dword [rsp + 0xa8], eax
or eax, 0x1de
xor dword [0x140042b38], eax
mov eax, ebx
movzx r13d, cl
cmp r14d, 0x1c7
mov ecx, ebx
mov dword [rsp + 0x28], r13d
sete al
cmp eax, r13d
mov eax, ebx
sete cl
cmp dword [0x140042b4c], ecx
sete al
or ecx, 0xffffffff
mov dword [0x140042b7c], eax
movsx eax, byte [0x140042b67]
add ax, ax
sub cx, ax
and ecx, 3
je 0x140018c6b
sub ecx, r15d
je 0x140018a9e
sub ecx, r15d
je 0x140018c44
cmp ecx, r15d
jne 0x140018a9e
movzx edx, r12b
sub edx, 0x474
mov dword [rsp + 0xa8], edx
test r9b, r9b
jne 0x140018c38
lea eax, [r14 - 0x343]
test eax, eax
jne 0x140018c38
mov dword [0x140042b6c], ebx
mov edx, dword [rsp + 0xa0]
movzx eax, r12b
mov ecx, ebx
cmp eax, edi
mov eax, ebx
setne cl
cmp byte [0x140042b83], 0x39
setb al
cmp ecx, eax
jne 0x140018ac9
and esi, r15d
mov dword [0x140042b58], esi
movzx eax, byte [rsp + 0x90]
mov r10d, ebx
add byte [0x140042a62], al
mov ecx, 0x9b
movzx eax, byte [0x140042b66]
mov r12d, 0x16b
sub al, dl
movsx r8d, dl
movzx esi, al
mov byte [0x140042b54], al
add esi, 0xae
cmp byte [0x140042a87], bl
movsx eax, r9b
movzx r9d, byte [0x140042b57]
setne r10b
sub eax, r14d
mov dword [rsp + 0x20], r8d
add eax, 0x474
mov dword [rsp + 0x34], esi
mov dword [0x140042b40], eax
mov eax, 0x66666667
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, r8d
mov r8d, dword [rsp + 0x2c]
sub edx, eax
mov dword [rsp + 0x30], edx
mov r13d, dword [rsp + 0x30]
movzx edx, byte [0x140042b64]
nop dword [rax]
sub ecx, esi
mov eax, 0x474
shl eax, cl
or eax, r8d
and r10d, eax
movzx eax, r13b
add al, byte [0x140042b82]
cmp r9d, 0x367
movzx ecx, al
sete al
xor dl, al
sub r12, r15
jne 0x140018b60
mov r12d, dword [0x140042b3c]
movzx ecx, byte [0x140042b88]
mov r8d, dword [0x140042b34]
movzx r9d, byte [0x140042a63]
mov r13d, dword [rsp + 0x28]
movzx eax, r11b
imul eax, dword [rsp + 0x98]
mov byte [0x140042b64], dl
mov dword [0x140042a8c], r10d
mov r10d, 0x194
cdq
and edx, 3
lea r11d, [rdx + rax]
movzx edx, byte [0x140042b80]
sar r11d, 2
mov dword [rsp + 0x30], r11d
nop word [rax + rax]
cmp r8d, 0x39
mov eax, ebx
setb al
cmp r14d, eax
jne 0x140018c01
inc r8d
and r9b, r15b
movsx eax, cl
xor eax, ebp
je 0x140018c20
movsx eax, byte [rsp + 0x90]
movzx ecx, r11b
and ecx, edi
cmp ecx, eax
mov eax, r15d
jne 0x140018c22
mov eax, ebx
and dl, al
test r12d, r12d
je 0x140018c8f
movzx eax, r11b
or eax, r14d
je 0x140018c8f
movzx ecx, r15b
jmp 0x140018c91
mov dword [0x140042b6c], r15d
jmp 0x140018a9e
movzx eax, r11b
add eax, r13d
cmp eax, edi
sete r11b
xor r10d, dword [0x140042b60]
mov dword [0x140042b30], r10d
mov byte [0x140042b81], r11b
jmp 0x140018a9e
mov eax, 0xcccccccd
mul r13d
shr edx, 2
add edx, ebx
mov dword [rsp + 0x98], edx
movzx edx, r8b
mov dword [rsp + 0xa0], edx
jmp 0x140018aa5
xor cl, cl
movzx eax, dl
mov byte [0x140042b88], cl
or al, sil
mov byte [0x140042a86], al
sub r10, r15
jne 0x140018bf0
movzx ecx, byte [0x140042b83]
mov eax, dword [rsp + 0xa8]
or ecx, r15d
and eax, ecx
mov byte [0x140042b80], dl
mov dword [0x140042b78], eax
mov dword [0x140042b34], r8d
mov byte [0x140042a63], r9b
call qword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov ecx, dword [0x140042b34]
movzx r10d, byte [0x140042b83]
movzx r8d, byte [0x140042b80]
lea eax, [rsi + rcx*4]
add ecx, eax
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
je 0x140018d8c
sub ecx, r15d
je 0x140018d72
movzx r11d, byte [0x140042b64]
sub ecx, r15d
je 0x140018d4f
cmp ecx, r15d
jne 0x140018db0
movzx eax, r8b
and al, 0x39
xor al, sil
add r11b, al
cmp byte [0x140042a87], bl
jne 0x140018d44
mov eax, esi
xor eax, edi
mov eax, ebx
je 0x140018d47
mov eax, r15d
sub dword [0x140042a88], eax
jmp 0x140018db0
mov r9d, dword [0x140042b7c]
mov eax, 0xcccccccd
imul edi, r9d, 0x367
mul edi
shr edx, 2
lea eax, [rdx + rdx*4]
sub edi, eax
mov dword [rsp + 0x24], edi
jmp 0x140018db7
movzx eax, r10b
mov ebp, r13d
shr ebp, 2
add ebp, eax
mov eax, dword [0x140042b78]
mov dword [0x140042b34], eax
jmp 0x140018da8
cmp dword [0x140042b2c], ebx
je 0x140018da2
mov eax, r13d
mov byte [0x140042b81], r15b
xor eax, ebp
jne 0x140018da8
mov byte [0x140042b81], bl
movzx r11d, byte [0x140042b64]
mov r9d, dword [0x140042b7c]
imul ecx, dword [0x140042a8c], 7
mov eax, 0x24924925
mov r13d, dword [0x140042b28]
add ecx, ebp
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
imul eax, eax, 7
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x140018e25
sub edx, r15d
je 0x140018e15
sub edx, r15d
je 0x140018e10
cmp edx, r15d
jne 0x140018e4a
test r13d, r13d
jne 0x140018e05
mov ecx, esi
mov eax, ebp
shl eax, cl
test eax, eax
mov eax, ebx
je 0x140018e08
mov eax, r15d
xor dword [0x140042a64], eax
jmp 0x140018e4a
xor r11b, r15b
jmp 0x140018e4a
mov eax, dword [0x140042b48]
add eax, edi
mov dword [0x140042b40], eax
jmp 0x140018e4a
movzx eax, r10b
imul r14d, eax
mov eax, dword [rsp + 0x20]
and eax, dword [0x140042a88]
and eax, 0x474
shr r14d, 2
or r9d, eax
mov dword [0x140042b7c], r9d
cmp dword [0x140042b60], ebx
mov r12d, 0x5f
movzx ecx, byte [rsp + 0x30]
movzx ebx, byte [0x140042b65]
sete dil
mov eax, dword [0x140042b78]
movzx r9d, byte [0x140042a86]
mov r10d, dword [0x140042b84]
shl bl, cl
movzx ecx, byte [rsp + 0x98]
sub cl, byte [0x140042b81]
xor eax, esi
mov esi, dword [rsp + 0x98]
mov r15d, eax
nop word [rax + rax]
sub r8b, r14b
xor r9b, bl
xor r8b, sil
mov eax, 0xaaaaaaab
mul ebp
sub r9b, dil
or r8b, cl
mov ebp, edx
and r10d, r15d
shr ebp, 1
add ebp, r13d
add r12d, 0xffffffff
jne 0x140018ea0
movzx eax, byte [0x140042a87]
mov r15d, 1
mov ecx, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x28]
imul ecx, eax
mov dword [rsp + 0x30], eax
mov eax, 0x55555556
mov byte [0x140042b80], r8b
mov byte [0x140042a86], r9b
mov dword [0x140042b84], r10d
imul ecx
mov eax, 0x70c
mov r8d, edx
shr r8d, 0x1f
add r8d, edx
mov dword [rsp + 0x98], r8d
xor ebx, ebx
sub rax, r15
jne 0x140018f20
imul r13d, dword [0x140042b38]
mov ecx, ebp
mov r12d, dword [0x140042b40]
movzx eax, r10b
shl al, cl
add r12d, 0xae
mov ecx, dword [0x140042b38]
sub byte [0x140042b56], al
xor ecx, esi
mov dword [rsp + 0x34], ecx
mov dword [0x140042b3c], ecx
and r13d, 0x80000003
jge 0x140018f6e
dec r13d
or r13d, 0xfffffffc
inc r13d
sub r10d, dword [rsp + 0x20]
mov ecx, r12d
shr r10d, cl
mov dword [0x140042b40], r10d
test r14d, r14d
je 0x140018f92
mov ecx, ebp
mov eax, esi
shl eax, cl
mov ecx, r15d
test eax, eax
jne 0x140018f94
mov ecx, ebx
movzx eax, byte [0x140042b7c]
or al, cl
movzx ebp, r8b
and byte [0x140042b82], al
mov ecx, ebp
imul ecx, dword [0x140042b68]
mov eax, 0x55555556
mov dword [rsp + 0x28], ebp
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
movzx edx, byte [0x140042b6c]
sub ecx, eax
sub dl, dil
movzx eax, byte [0x140042a87]
mov dword [rsp + 0x24], ecx
movzx ecx, r14b
sub cl, r13b
shr al, cl
mov ecx, edi
shl dl, cl
mov ecx, r10d
mov byte [rsp + 0x90], al
mov byte [0x140042b81], al
movzx eax, byte [0x140042a63]
and al, r8b
imul ecx, edi
movzx r8d, byte [0x140042b57]
xor dl, al
and byte [0x140042b65], dl
mov eax, 0xcccccccd
mul ecx
movzx ecx, byte [rsp + 0x24]
movzx eax, r8b
shr edx, 2
add cl, cl
shr al, cl
mov ecx, dword [0x140042a8c]
sub r8b, al
mov dword [rsp + 0xa8], edx
mov byte [0x140042b57], r8b
mov r8d, dword [0x140042b4c]
lea eax, [rdx + rcx*2]
add ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
je 0x140019144
sub ecx, r15d
je 0x140019116
sub ecx, r15d
je 0x1400190cf
mov r13d, dword [rsp + 0xa8]
cmp ecx, r15d
je 0x140019090
mov edi, r8d
imul edi, esi
and edi, 3
jmp 0x140019173
mov eax, r10d
or eax, r13d
jne 0x1400190bd
test r14d, r14d
je 0x1400190ac
movzx ecx, r11b
mov eax, 0x39
shl eax, cl
test eax, eax
jne 0x1400190bd
mov eax, ebx
sub r9b, al
mov byte [0x140042a86], r9b
jmp 0x140019173
mov eax, r15d
sub r9b, al
mov byte [0x140042a86], r9b
jmp 0x140019173
movzx eax, byte [rsp + 0x90]
test al, al
je 0x1400190ee
mov eax, dword [rsp + 0x20]
and eax, 0x39
mov dword [0x140042b34], r15d
xor eax, r12d
jne 0x1400190f4
mov dword [0x140042b34], ebx
cmp byte [0x140042b66], bl
mov r13d, dword [rsp + 0xa8]
je 0x14001910c
mov eax, r15d
cmp r13d, ebp
je 0x14001910e
mov eax, ebx
xor dword [0x140042b44], eax
jmp 0x140019173
mov edx, dword [rsp + 0x98]
test r11b, r11b
je 0x140019132
movzx eax, dl
movzx ecx, r13b
shr al, cl
test al, al
mov eax, r15d
jne 0x140019134
mov eax, ebx
and dword [0x140042b28], eax
mov r13d, dword [rsp + 0xa8]
jmp 0x14001917a
mov ecx, dword [rsp + 0x30]
mov eax, 0x66666667
mov r13d, dword [rsp + 0xa8]
imul ecx, esi
mov esi, dword [0x140042b7c]
shr ecx, 2
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub esi, eax
add esi, ecx
mov edx, dword [rsp + 0x98]
movsx eax, r11b
lea ecx, [rax*4]
add ecx, ebp
and ecx, 0x80000007
jge 0x140019196
dec ecx
or ecx, 0xfffffff8
inc ecx
movzx ebp, byte [0x140042b88]
test ecx, ecx
je 0x140019256
sub ecx, r15d
je 0x140019234
sub ecx, r15d
je 0x14001921c
cmp ecx, r15d
je 0x1400191ff
test r10d, r10d
jne 0x1400191d7
cmp esi, r12d
je 0x1400191cf
mov eax, dword [rsp + 0x24]
or byte [rsp + 0x90], al
jne 0x1400191d7
mov byte [0x140042b81], bl
jmp 0x1400191de
mov byte [0x140042b81], r15b
cmp dword [0x140042b38], ebx
je 0x1400191f1
test dl, dl
je 0x1400191f1
mov eax, r15d
test edi, edi
jne 0x1400191f3
mov eax, ebx
sub r9b, al
mov byte [0x140042a86], r9b
jmp 0x140019275
movsx eax, byte [0x140042b56]
xor eax, edi
jne 0x140019211
mov eax, ebx
test r12d, r12d
je 0x140019214
mov eax, r15d
xor dword [0x140042b38], eax
jmp 0x140019275
movsx ecx, bpl
mov eax, 0xcccccccd
imul ecx, r14d
mul ecx
mov r14d, edx
shr r14d, 2
jmp 0x140019275
movzx eax, r9b
imul r10d, eax, 0x39
mov eax, 0xaaaaaaab
mul r10d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r10d, eax
mov dword [rsp + 0xa0], r10d
jmp 0x14001927d
lea eax, [r14 + r13]
mov ecx, ebx
cmp eax, r13d
mov eax, ebx
sete cl
cmp dword [rsp + 0x34], ecx
sete al
and r8d, eax
mov dword [0x140042b4c], r8d
mov r10d, dword [rsp + 0xa0]
movzx eax, byte [rsp + 0x24]
or dword [0x140042a64], eax
cmp dword [0x140042b78], ebx
sete al
or r11b, al
mov byte [0x140042b64], r11b
test edi, edi
jne 0x1400192a6
mov eax, ebx
cmp r14d, esi
je 0x1400192a9
mov eax, r15d
movzx edx, byte [0x140042a62]
movzx ecx, r12b
movzx r9d, byte [0x140042b54]
xor cl, r14b
xor cl, r10b
xor eax, r9d
sar bpl, cl
xor dl, bpl
mov dword [0x140042b58], eax
cmp dword [0x140042b48], ebx
mov byte [0x140042a62], dl
je 0x14001932b
mov ecx, ebx
movsx eax, r10b
cmp eax, r9d
sete cl
cmp r14d, ecx
jne 0x14001932b
cmp dword [0x140042b30], 0x39
mov eax, ebx
movzx ecx, dil
mov esi, r13d
sete al
xor cl, byte [rsp + 0x98]
add r8d, eax
or cl, 0x39
sar dl, cl
and esi, 3
movsx eax, dl
xor dword [0x140042b2c], eax
add esi, dword [0x140042b5c]
mov dword [0x140042b4c], r8d
mov edx, dword [rsp + 0x28]
movsx r13d, r10b
mov ecx, r13d
movsx eax, r11b
shl edx, cl
cmp eax, edx
mov dword [rsp + 0x90], r13d
sete byte [0x140042b55]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov edx, dword [0x140042b4c]
and edi, 3
mov r10d, dword [0x140042b44]
add edi, edx
mov ebp, dword [0x140042b6c]
mov r11d, 0xa7
mov r9d, dword [0x140042b2c]
jmp 0x140019388
mov r13d, dword [rsp + 0x90]
cmp byte [0x140042b82], bl
je 0x1400193a1
mov eax, r13d
xor eax, esi
jne 0x14001939c
test r12d, r12d
je 0x1400193a1
mov eax, r15d
jmp 0x1400193a3
mov eax, ebx
and r9d, eax
mov r13d, edi
test ebp, ebp
jne 0x1400193c5
mov eax, r14d
mov ecx, edi
shr eax, cl
cmp eax, dword [rsp + 0x28]
jne 0x1400193c5
mov r8d, ebx
mov dword [0x140042b84], ebx
jmp 0x1400193cf
mov r8d, r15d
mov dword [0x140042b84], r15d
sub edx, r10d
sub edi, r10d
sub r11, r15
jne 0x140019380
movsx ecx, byte [0x140042b56]
mov eax, 0xaaaaaaab
mov dword [0x140042b4c], edx
mov dword [0x140042b2c], r9d
lea edx, [rcx + rcx*2]
mov ecx, dword [rsp + 0xa8]
lea ecx, [rcx + rdx*2]
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
je 0x1400194c2
sub ecx, r15d
je 0x140019485
sub ecx, r15d
je 0x140019463
cmp ecx, r15d
jne 0x1400194e4
test r12d, r12d
jne 0x14001943b
test esi, esi
je 0x140019433
cmp byte [0x140042a63], bl
jne 0x14001943b
mov dword [0x140042b4c], ebx
jmp 0x140019442
mov dword [0x140042b4c], r15d
cmp dword [0x140042b5c], ebx
je 0x140019454
cmp r13d, dword [rsp + 0x90]
jne 0x140019457
mov r15d, ebx
xor dword [0x140042b3c], r15d
jmp 0x1400194e4
movzx ecx, byte [rsp + 0x98]
mov edx, dword [rsp + 0xa0]
sar dl, cl
cmp dl, 0x39
sete bl
add ebx, r9d
xor dword [0x140042b40], ebx
jmp 0x1400194e4
movzx eax, byte [0x140042b83]
or al, 0x39
cmp dword [0x140042b68], ebx
mov byte [0x140042a86], al
jne 0x1400194b3
xor r12d, r14d
je 0x1400194b6
mov edx, dword [rsp + 0x24]
movsx eax, byte [0x140042b67]
movzx ecx, dl
test ecx, eax
je 0x1400194b6
mov ebx, r15d
sub r8d, ebx
mov dword [0x140042b84], r8d
jmp 0x1400194e4
add sil, byte [rsp + 0x98]
mov ecx, dword [rsp + 0xa0]
movzx edx, byte [0x140042b82]
add ecx, esi
shr edx, cl
xor ebp, edx
mov dword [0x140042b6c], ebp
call fcn.140017fd0
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret