Function at 0x140037bc0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov word [rsp + 0x46], cx
mov rax, qword [0x140217170]
mov ecx, dword [rax]
call fcn.140007b73
mov qword [rsp + 0x48], rax
add rax, 0x50
mov qword [rsp + 0x38], rax
mov ecx, 0x55
call fcn.1400378b0
mov cx, word [rsp + 0x46]
mov dx, ax
mov rax, qword [rsp + 0x48]
mov word [rsp + 0x54], dx
cmp byte [rax + 0x50], 0
mov word [rsp + 0x56], cx
jne 0x140037f51
mov ecx, 0xaa
call fcn.1400378b0
mov rcx, qword [rsp + 0x38]
mov dx, ax
mov ax, word [rsp + 0x46]
mov word [rsp + 0x36], dx
cmp byte [rcx], 0
mov word [rsp + 0x56], ax
jne 0x140037f51
mov dx, word [rsp + 0x46]
mov ax, word [rsp + 0x36]
mov cx, word [rsp + 0x54]
mov r8w, cx
xor r8w, 0xffff
mov r9w, 0x75df
xor r9w, 0x8a20
xor cx, r9w
and r8w, cx
mov cx, dx
xor cx, 0xffff
mov r9w, 0x32f8
xor r9w, 0xcd07
xor dx, r9w
and cx, dx
xor r8w, 0xffff
mov dx, 0xf99f
xor dx, 0x660
xor cx, dx
and r8w, cx
mov cx, 0xf6c9
xor cx, 0xf6c8
shl r8w, cl
mov cx, word [rsp + 0x46]
and ax, cx
shr ax, 1
mov cx, 0x2218
xor cx, 0xdde7
mov dx, r8w
xor dx, cx
mov cx, ax
and cx, dx
mov dx, ax
xor dx, r8w
add ax, dx
sub ax, cx
mov word [rsp + 0x32], ax
mov cl, 0xe5
xor cl, 0xd6
call fcn.1400378b0
mov rcx, qword [rsp + 0x38]
mov dx, ax
mov ax, word [rsp + 0x32]
mov word [rsp + 0x34], dx
cmp byte [rcx], 0
mov word [rsp + 0x56], ax
jne 0x140037f51
mov r11d, dword [0x140201dd0]
xor r11d, 0x88d2db8
mov r10d, dword [0x140201dd4]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5003d45d
mov eax, ecx
and eax, 0x5003d45d
and r11d, edx
mov r9d, r8d
and r9d, 0x5003d45d
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x5003d45d
and ecx, edx
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc33a38aa
add ecx, eax
mov eax, 0xfea7a03d
xor eax, 0xfea7a03d
sub eax, ecx
sub eax, 0x2c2a60cf
mov ecx, 0x79478e95
xor edx, edx
div ecx
cmp eax, 0x5d0cd35d
je 0x140037f5b
mov eax, dword [0x140201dd8]
xor edx, edx
div dword [0x140201ddc]
sub eax, 0xd2bc7664
or eax, 0x30692ebd
mov ecx, 0x8b92bb3e
xor ecx, 0x1f0d51fa
xor eax, ecx
mov dword [rsp + 0x28], eax
mov cl, 0x7c
xor cl, 0xb0
call fcn.1400378b0
mov rcx, qword [rsp + 0x38]
mov dx, ax
mov eax, dword [rsp + 0x28]
mov word [rsp + 0x2e], dx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x31], cl
cmp eax, 0xd379a360
je 0x140037d8d
mov ax, word [rsp + 0x32]
mov cl, byte [rsp + 0x31]
test cl, 1
mov word [rsp + 0x56], ax
jne 0x140037e02
jmp 0x140037f51
mov r8w, word [rsp + 0x32]
mov ax, word [rsp + 0x2e]
mov dx, word [rsp + 0x34]
mov r9w, 0xd9dd
xor r9w, 0xd9dc
mov cx, dx
add cx, r9w
mov r9w, 0x25c2
xor r9w, 0xda3d
xor dx, r9w
or dx, r8w
add dx, cx
mov cx, 0xa476
xor cx, 0xa474
shl dx, cl
mov cx, word [rsp + 0x32]
or ax, ax
xor ax, 0xffff
or cx, cx
mov r8w, 0x1fd7
xor r8w, 0xe028
xor cx, r8w
or ax, cx
xor ax, 0xffff
mov cx, 0xc006
xor cx, 0xc004
shr ax, cl
mov cx, ax
mov ax, cx
xor ax, 0xffff
mov r8w, dx
xor r8w, 0xffff
and ax, r8w
or cx, dx
xor cx, 0xffff
mov dx, 0xcd44
xor dx, 0x32bb
xor ax, dx
xor cx, 0xffff
and ax, cx
mov word [rsp + 0x24], ax
mov ecx, 0xf
call fcn.1400378b0
mov rcx, qword [rsp + 0x38]
mov dx, ax
mov ax, word [rsp + 0x24]
mov word [rsp + 0x26], dx
cmp byte [rcx], 0
mov word [rsp + 0x56], ax
jne 0x140037f51
mov cl, 0xfa
xor cl, 0xa
call fcn.1400378b0
mov rcx, qword [rsp + 0x38]
mov dx, ax
mov ax, word [rsp + 0x24]
mov word [rsp + 0x22], dx
mov cl, byte [rcx]
mov dl, 0xf
xor dl, 0xf
cmp cl, dl
mov word [rsp + 0x56], ax
jne 0x140037f51
mov dx, word [rsp + 0x24]
mov ax, word [rsp + 0x22]
mov cx, word [rsp + 0x26]
and cx, dx
shl cx, 4
or ax, ax
xor ax, 0xffff
or dx, dx
xor dx, 0xffff
mov r8w, 0x65fb
xor r8w, 0x9a04
xor ax, r8w
xor dx, 0xffff
and ax, dx
shr ax, 4
or ax, cx
rol ax, 8
mov word [rsp + 0x56], ax
mov ax, word [rsp + 0x56]
add rsp, 0x58
ret
scasd eax, dword [rdi]
mov edi, edi
wait
jmp 0x140037d8d