Function at 0x1800348a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea r12d, [rdx + 0x37d]
mov ebx, edx
mov r13, rcx
cmp edx, r12d
jae case.0x180034934.123
mov r15d, dword [rsp + 0x68]
lea r11, [0x180000000]
mov r14d, dword [rsp + 0x68]
xor r10d, r10d
movzx esi, byte [rsp + 0x68]
mov r9d, 0x15600030
movzx ebp, byte [rsp + 0x68]
movzx edi, byte [rsp + 0x68]
lea edx, [r10 + 0x6b]
lea ecx, [rdx - 3]
nop
cmp ebx, 0x18a
ja 0x180034c8e
je 0x180034c7f
lea eax, [rbx - 0x76]
cmp eax, 0xe5
ja case.default.0x180034934
movzx eax, byte [r11 + rax + 0x34ea0]
mov ecx, dword [r11 + rax*4 + 0x34e78]
add rcx, r11
jmp rcx
movzx eax, word [0x18006e5b8]
movsd xmm0, qword [str.ABCDEFGHI]
mov word [0x18007bdd8], ax
mov dword [0x18007bdd9], 0x4c4b4a
movsd qword [0x18007bdd0], xmm0
jmp case.0x180034934.127
mov r8d, r10d
xor r9d, r9d
nop dword [rax]
lea ecx, [r8 + 1]
mov edx, r15d
shr edx, cl
mov eax, r15d
mov ecx, r8d
add r8d, 2
shr eax, cl
xor dl, al
and dl, 1
xor r9b, dl
cmp r8d, 0x20
jl 0x180034970
mov byte [r13], r9b
jmp 0x180034e1d
mov r14d, r10d
nop
mov r8d, 0xbe
nop word [rax + rax]
mov eax, r8d
sub eax, 0xba
je 0x180034ab4
sub eax, 1
je 0x180034a86
sub eax, 1
je 0x180034a5e
sub eax, 1
je 0x180034a3f
cmp eax, 1
jne 0x180034bac
mov eax, dword [0x15600030]
mov ecx, 0x27
or eax, 0x20
mov dword [0x15600030], eax
mov eax, dword [0x15600008]
or eax, 0x5555
mov dword [0x15600008], eax
mov eax, ecx
sub eax, 0x26
je 0x180034a2f
cmp eax, 1
jne 0x180034a33
mov eax, dword [0x1560000c]
and eax, 0xff00
or eax, 0x70
mov dword [0x1560000c], eax
and dword [r9], 0xfffffff7
jmp 0x180034a33
or dword [r9], 8
dec ecx
cmp ecx, 0x25
ja 0x180034a07
jmp 0x180034bac
mov word [0x15600008], r10w
mov eax, dword [0x15600030]
and eax, 0xffffffdf
mov dword [0x15600030], eax
jmp 0x180034bac
mov word [0x15600008], r10w
mov eax, dword [0x15600024]
btr eax, 8
mov dword [0x15600024], eax
mov bpl, byte [0x1560000c]
jmp 0x180034bac
mov eax, dword [0x15600024]
movzx esi, bpl
bts eax, 8
mov dword [0x15600024], eax
mov eax, dword [0x15600008]
or eax, 0x5555
mov dword [0x15600008], eax
jmp 0x180034bac
test sil, 0x40
je 0x180034bac
mov edx, r10d
cmp edx, 6
ja case.default.0x180034ad7
mov eax, edx
mov ecx, dword [r11 + rax*4 + 0x34f88]
add rcx, r11
jmp rcx
mov eax, dword [0x15600024]
btr eax, 8
mov dword [0x15600024], eax
bts eax, 8
mov dil, byte [0x1560000c]
mov dword [0x15600024], eax
jmp case.default.0x180034ad7
mov eax, dword [0x15600030]
or eax, 0x20
mov dword [0x15600030], eax
mov eax, dword [0x15600008]
or eax, 0x5555
mov dword [0x15600008], eax
mov eax, 0xed
nop dword [rax]
cmp eax, 0xed
jne 0x180034b52
mov ecx, dword [0x1560000c]
and ecx, 0xff00
or ecx, 0x70
mov dword [0x1560000c], ecx
or dword [r9], 8
add eax, 0x2c
cmp eax, 0x119
jb 0x180034b30
jmp case.default.0x180034ad7
mov eax, dword [0x15600008]
or eax, 0x5555
mov dword [0x15600008], eax
jmp case.default.0x180034ad7
mov word [0x15600008], r10w
mov eax, dword [0x15600030]
and eax, 0xffffffdf
mov dword [0x15600030], eax
jmp case.default.0x180034ad7
movzx esi, dil
jmp case.default.0x180034ad7
mov word [0x15600008], r10w
inc edx
lea eax, [rdx + 0x31]
cmp eax, 0x38
jb 0x180034ac1
dec r8d
cmp r8d, 0xb9
ja 0x1800349b0
inc r14d
cmp r14d, 0x1d4c0
jb 0x1800349a0
mov ebx, 0x8c
jmp 0x180034e23
movsd xmm0, qword [str.NOPQRSTU]
lea rdx, [0x18006e5cc]
mov eax, 0x4d
lea rcx, [0x18007bdd0]
mov word [0x18007bddc], ax
mov r8d, 1
movzx eax, byte [0x18006e5c8]
mov byte [0x18007bde5], al
movsd qword [0x18007bddd], xmm0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x180034e13
cmp r14d, 0x1d4c0
jae 0x180034e62
test sil, 1
jne 0x180034e58
mov dword [rsp + 0x78], r10d
jmp case.0x180034934.127
movsd xmm0, qword [str.WXYZabcd]
movzx eax, byte [0x18006e5f8]
movsd qword [0x18007bde6], xmm0
mov byte [0x18007bdee], al
jmp case.0x180034934.127
movsx eax, byte [r13]
cmp al, 1
ja 0x180034e6c
mov dword [rsp + 0x78], eax
jmp case.0x180034934.127
mov r15d, dword [r8]
jmp case.0x180034934.127
mov dword [0x18007bdee], 0x676665
jmp case.default.0x180034934
cmp ebx, 0x275
ja 0x180034d6d
je 0x180034d42
mov eax, ebx
sub eax, 0x1b9
je 0x180034d36
sub eax, 0x2f
je 0x180034d1c
sub eax, 0x2f
je 0x180034ce9
cmp eax, 0x2f
jne case.default.0x180034934
mov eax, 0x72
lea rdx, [0x18006e5d4]
lea rcx, [0x18007bdfc]
mov word [0x18007bdfb], ax
lea r8d, [rax - 0x6f]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x180034e13
mov eax, 0x6c
lea rdx, [0x18006e5d8]
mov word [0x18007bdf5], ax
lea rcx, [0x18007bdd0]
mov dword [0x18007bdf6], 0x6f6e6d
lea r8d, [rax - 0x6a]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x180034e13
movzx eax, word [0x18006e5bc]
mov word [0x18007bdf2], ax
mov word [0x18007bdf4], dx
jmp case.default.0x180034934
mov word [0x18007bdf1], cx
jmp case.default.0x180034934
mov eax, dword [str.uvwx]
mov dword [0x18007bdfe], eax
mov eax, dword [str.yz012]
mov dword [0x18007be02], eax
movzx eax, word [0x18006e5e8]
mov word [0x18007be06], ax
jmp case.default.0x180034934
mov eax, ebx
sub eax, 0x2a4
je 0x180034dcd
sub eax, 0x2f
je 0x180034d90
cmp eax, 0x2f
jne case.default.0x180034934
lea rax, [0x18007bdd0]
jmp 0x180034e43
mov r8d, 0xa
lea rdx, [0x18007be0d]
lea ecx, [r8 - 1]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov eax, 0x2b
lea rdx, [0x18006e5ec]
lea rcx, [0x18007be0f]
mov word [0x18007be0e], ax
lea r8d, [rax - 0x29]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp 0x180034e13
mov r8d, 0xa
lea rdx, [0x18007be07]
mov ecx, 0x159
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov r8d, 0xa
lea rdx, [0x18007be0a]
lea ecx, [r8 - 4]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
mov r8d, 0xa
lea rdx, [0x18007be0b]
lea ecx, [r8 + 0x44]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultoa]
lea r11, [0x180000000]
xor r10d, r10d
mov r9d, 0x15600030
mov r8, qword [rsp + 0x70]
mov edx, 0x6b
mov ecx, 0x68
add ebx, 0x2f
cmp ebx, r12d
jb 0x180034900
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x78], 1
jmp case.0x180034934.123
mov dword [rsp + 0x78], 0x1f
jmp case.0x180034934.123
mov dword [rsp + 0x78], 0xfffffff1
jmp case.0x180034934.123