Function at 0x140038da0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov edi, edx
mov rsi, rcx
call fcn.140074d04
xor ecx, ecx
shl ecx, 8
xor edx, edx
shr edx, 0x18
or ecx, edx
cmp eax, ecx
jne 0x140038f8c
jmp 0x140038fd3
jmp 0x140038dff
mov rcx, qword [rsp + 0x30]
call fcn.1400b061c
mov eax, 0x1341c997
add eax, 0xecbe3669
cmp edi, eax
sete al
and al, 1
mov byte [rsp + 0x2f], al
mov eax, 0x4e0320fb
add eax, 0xb1fcdf6f
mov dword [rsp + 0x28], eax
jmp 0x140038eb3
mov eax, dword [rsp + 0x28]
jmp 0x140038e13
cmp eax, 0x6a
jl 0x140038e9b
jmp 0x140038ed6
cmp eax, 0x69
jl 0x140038ecf
jmp 0x140038e05
mov rcx, rsi
mov edx, 0x18
call fcn.14008649c
mov dword [rsp + 0x28], 0x6b
mov eax, dword [0x1401148d4]
rol eax, 0xf
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x1401148d8]
rol ecx, 0xc
sub rax, rcx
jmp rax
call fcn.140074e84
xor ebx, ebx
test eax, eax
setne bl
mov rcx, qword [rsp + 0x30]
call fcn.1400b061c
test edi, edi
sete byte [rsp + 0x2f]
mov dword [rsp + 0x28], 0x6a
lea rax, case.0x140038e94.0
mov rax, qword [rax + rbx*8]
mov ecx, dword [0x1401148c8]
xor ecx, 0x685ce4b5
sub rax, rcx
jmp rax
jmp 0x140039012
call fcn.140074e36
mov ecx, 0x12e8e7e0
add ecx, 0xed171820
cmp eax, ecx
jne 0x140038dcd
jmp 0x140038e55
jmp 0x140039012
cmp eax, 0x67
je 0x140038f56
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret
cmp eax, 0x68
jl 0x140038eba
jmp 0x140038ef7
cmp eax, 0x6b
jl 0x140038f7f
jmp 0x140038fb5
mov eax, 0x55dc63fe
add eax, 0xaa239c67
mov dword [rsp + 0x28], eax
jmp 0x140039012
call fcn.140074dd1
xor ecx, ecx
shr ecx, 0x1e
xor edx, edx
shl edx, 2
or ecx, edx
cmp eax, ecx
jne 0x140038e1e
jmp 0x140039017
mov eax, 0x736bbd07
xor eax, 0x736bbd62
mov dword [rsp + 0x28], eax
call fcn.140074d85
xor ecx, ecx
shl ecx, 0x1b
xor edx, edx
shr edx, 5
or ecx, edx
mov edx, 0x80000032
shl edx, 1
mov r8d, 0x80000032
shr r8d, 0x1f
or edx, r8d
mov dword [rsp + 0x28], edx
cmp eax, ecx
jne 0x140038e96
jmp 0x140038f15
lea rax, vtable.std::exception.0
mov qword [rsi], rax
mov rax, rsi
add rax, 8
mov qword [rsp + 0x30], rax
mov eax, 0xe5623406
xor eax, 0xe562346f
mov dword [rsp + 0x28], eax
jmp 0x140039012
test byte [rsp + 0x2f], 1
jne 0x140038ee4
jmp 0x140039004
call fcn.140074d34
xor ecx, ecx
shl ecx, 6
xor edx, edx
shr edx, 0x1a
or ecx, edx
mov edx, 0xa04cd3fa
xor edx, 0xa04cd39d
mov dword [rsp + 0x28], edx
cmp eax, ecx
jne 0x140038f8c
jmp 0x140038dcb
call fcn.1400583f3
xor ecx, ecx
shr ecx, 0xb
xor edx, edx
shl edx, 0x15
or ecx, edx
cmp eax, ecx
jne 0x140038f15
jmp 0x140038f23
mov dword [rsp + 0x28], 0x67
mov eax, dword [0x1401148cc]
add eax, 0xd95480b7
cdqe
lea rcx, case.0x140017fd7.0
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x1401148d0]
xor ecx, 0x5588df35
sub rax, rcx
jmp rax
mov eax, 0x27b6208a
sub eax, 0x27b62022
mov dword [rsp + 0x28], eax
jmp 0x140038dff
call fcn.140074df6
mov ebx, eax
xor ebp, ebp
shr ebp, 7
xor eax, eax
shl eax, 0x19
or ebp, eax
mov edx, 0x30000
shl rdx, 0x33
mov eax, 0x30000
shr rax, 0xd
or rdx, rax
mov rcx, rsi
call fcn.14008649c
mov eax, 0xd60
shr eax, 5
mov ecx, 0xd60
shl ecx, 0x1b
or eax, ecx
mov dword [rsp + 0x28], eax
cmp ebx, ebp
jne 0x140038eb5
jmp 0x140038e1e
jae 0x14012913d
invalid
jae 0x140129159
invalid
jae 0x140129175
invalid
invalid
scasb al, byte [rdi]
invalid