Function at 0x140039bb0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
mov rdi, r9
mov rsi, rcx
lea rcx, [rsp + 0xa8]
call fcn.14005a3f0
mov bl, byte [rsp + 0xa8]
cmp bl, 0x13
je 0x140039e0b
mov eax, dword [0x1400d5688]
sub eax, dword [0x1400d568c]
imul eax, eax, 0xfc031151
xor eax, 0x34646ef5
imul eax, eax, 0xce8afd6
cmp eax, 0x4d452b2b
jb 0x140039e63
jmp 0x140039c09
mov eax, dword [0x1400d5690]
imul eax, dword [0x1400d5694]
xor eax, 0x2a13d25a
mov ecx, 0xfd9dec8f
xor edx, edx
div ecx
sub eax, 0x61ae7570
mov r14, qword [rsp + 0xb0]
cmp bl, 0x12
sete cl
cmp eax, 0xaa9fac4a
je 0x140039c09
test cl, 1
jne 0x140039c48
jmp 0x140039ccd
mov qword [rsp + 0x40], r14
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x40]
call fcn.140053830
lea rcx, [rsp + 0x40]
call fcn.1400590e0
mov rax, qword [rsp + 0x78]
mov bl, byte [rsp + 0x80]
mov ecx, dword [rsp + 0x81]
mov dword [rsp + 0x2b], ecx
mov cx, word [rsp + 0x85]
mov word [rsp + 0x2f], cx
mov cl, byte [rsp + 0x87]
mov byte [rsp + 0x31], cl
mov r14, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x50], rcx
cmp rax, 0
jne 0x140039dd3
lea rcx, [rsp + 0x2b]
lea rax, [rsp + 0x48]
jmp 0x140039ce5
lea rax, [rsp + 0xa8]
add rax, 0x10
lea rcx, [rsp + 0xa8]
add rcx, 1
mov edx, dword [rcx]
mov dword [rsp + 0x39], edx
mov dx, word [rcx + 4]
mov word [rsp + 0x3d], dx
mov cl, byte [rcx + 6]
mov byte [rsp + 0x3f], cl
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
mov al, byte [rdi]
cmp al, 0x12
je case.0x140039d2b.0
movzx ecx, al
sub al, 0x10
ja 0x140039d2d
lea rax, [0x1400b55e0]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
mov rdx, qword [rdi + 8]
mov eax, 0x10
cmp rdx, 0
je case.0x140039d2b.0
mov rcx, qword [rdi + rax]
mov r8d, 1
call fcn.1400541d0
jmp case.0x140039d2b.0
mov rdx, qword [rdi + 8]
mov eax, 0x10
cmp rdx, 0
je case.0x140039d2b.0
jmp 0x140039d3c
mov rdx, qword [rdi + 8]
mov eax, 0x10
cmp rdx, 0
je case.0x140039d2b.0
jmp 0x140039d3c
mov rdx, qword [rdi + 8]
mov eax, 0x10
cmp rdx, 0
je case.0x140039d2b.0
jmp 0x140039d3c
mov rdx, qword [rdi + 8]
mov eax, 0x10
cmp rdx, 0
je case.0x140039d2b.0
jmp 0x140039d3c
mov rdx, qword [rdi + 0x10]
mov eax, 8
cmp rdx, 0
jne 0x140039d3c
mov byte [rdi], bl
mov eax, dword [rsp + 0x39]
mov dword [rdi + 1], eax
mov ax, word [rsp + 0x3d]
mov word [rdi + 5], ax
mov al, byte [rsp + 0x3f]
mov byte [rdi + 7], al
mov qword [rdi + 8], r14
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x18], rax
xor eax, eax
jmp 0x140039e14
mov rcx, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x2b]
mov dword [rsp + 0x32], edx
mov dx, word [rsp + 0x2f]
mov word [rsp + 0x36], dx
mov dl, byte [rsp + 0x31]
mov byte [rsp + 0x38], dl
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rdx
jmp 0x140039e14
mov qword [rsi], 0
jmp 0x140039e53
mov edx, dword [rsp + 0x32]
mov dword [rsi + 0x11], edx
mov dx, word [rsp + 0x36]
mov word [rsi + 0x15], dx
mov dl, byte [rsp + 0x38]
mov byte [rsi + 0x17], dl
mov rdx, qword [rsp + 0x58]
mov qword [rsi + 0x20], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsi + 0x28], rdx
mov qword [rsi + 8], rax
mov byte [rsi + 0x10], bl
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x30], rcx
mov qword [rsi], 1
mov rax, rsi
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
ret
push rdi
invalid