Function at 0x180437420
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r13, r8
mov rbx, rdx
mov rdi, rcx
mov rax, r13
add rax, 8
mov r14, qword [rax]
mov r15, qword [r13 + 0x10]
mov rbp, rbx
add rbp, 0x18
mov al, byte [rbx + 0x18]
mov rsi, rbx
add rsi, 0x19
mov byte [rbp], 0
and al, 1
cmp al, 0
jne 0x1804374c0
mov r12, r14
jmp 0x18043755c
mov eax, dword [0x18079e8f8]
and eax, dword [0x18079e8fc]
add eax, 0x17bed687
sub eax, 0x2f20dafe
mov ecx, 0x7067b935
xor edx, edx
div ecx
cmp eax, 0x242db0d
ja 0x180437c68
mov eax, dword [0x18079e900]
xor eax, dword [0x18079e904]
xor eax, 0xeae80d22
xor eax, 0x3583c7c2
imul eax, eax, 0x8375e2e6
cmp eax, 0xedbedac5
jae 0x180437c68
ud2
mov eax, dword [rsi]
mov dword [rsp + 0x33], eax
mov al, byte [rsi + 4]
mov byte [rsp + 0x37], al
mov eax, dword [0x18079e908]
add eax, dword [0x18079e90c]
mov ecx, 0x2d2ff4fd
xor edx, edx
div ecx
or eax, 0x24401b8b
xor eax, 0x95504550
cmp eax, 0x82d5aad1
je 0x180437c79
jmp 0x1804374f9
mov eax, dword [0x18079e910]
sub eax, dword [0x18079e914]
sub eax, 0x9c2c0254
add eax, 0xb8a2ecb
or eax, 0xf3dbb7ff
cmp eax, 0x5cabf168
je 0x1804374f9
jmp 0x18043751d
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x33]
mov r8, r14
mov r9, r15
call fcn.180631900
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x18043762a
jmp 0x180437542
mov rcx, rax
sub rcx, 1
je 0x180437710
jmp 0x180437551
sub rax, 2
je 0x18043756b
jmp 0x18043746d
cmp r15, 0
je 0x1804377f9
jmp 0x180437859
mov eax, dword [0x18079e918]
and eax, dword [0x18079e91c]
and eax, 0xf7eec093
add eax, 0xf2b8ca82
and eax, 0xe902c996
cmp eax, 0x7fc13d2d
je 0x180437c86
mov eax, dword [0x18079e920]
imul eax, dword [0x18079e924]
add eax, 0x97a7eaf1
imul eax, eax, 0x1d4104c6
and eax, 0x5372299c
mov ecx, dword [rsp + 0x33]
mov dword [rsi], ecx
mov cl, byte [rsp + 0x37]
mov byte [rsi + 4], cl
cmp eax, 0x45229c93
jbe 0x180437c86
jmp 0x1804375c8
mov byte [rbp], 1
mov eax, dword [0x18079e928]
sub eax, dword [0x18079e92c]
imul eax, eax, 0x7f519e0f
add eax, 0x4632148f
mov ecx, 0xa29f1f8
xor edx, edx
div ecx
cmp eax, 0x6ce078cb
jae 0x180437ca4
jmp 0x1804375f9
mov eax, dword [0x18079e930]
and eax, dword [0x18079e934]
xor eax, 0xd517e05b
imul eax, eax, 0xcfe2aaf3
xor eax, 0xe27d94a8
cmp eax, 0xe0e5da1c
ja 0x1804375f9
xor r15d, r15d
mov r12d, 1
jmp 0x18043776f
mov eax, dword [0x18079e938]
and eax, dword [0x18079e93c]
add eax, 0xbdf8d867
add eax, 0x24cab7f6
xor eax, 0xe0331e42
cmp eax, 0x5f87e53
je 0x180437cb5
mov ecx, dword [0x18079e940]
sub ecx, dword [0x18079e944]
add ecx, 0xcaaaefd3
add ecx, 0xa43cb463
add ecx, 0xb9877091
lea rax, [rsp + 0x58]
add rax, 0x20
cmp ecx, 0xfe75f864
jbe 0x180437cb5
mov qword [rsp + 0x38], r13
jmp 0x18043768a
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r15, qword [rax]
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov r14, rbx
add r14, 0x10
mov rdi, qword [rbx + 0x10]
mov rax, qword [rbx]
sub rax, rdi
cmp rax, r13
jb 0x1804376be
jmp 0x1804376ea
mov qword [rsp + 0x50], rdx
mov rcx, rbx
mov rdx, rdi
mov r8, r13
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.18045c010
mov rdi, qword [r14]
mov rdx, qword [rsp + 0x50]
jmp 0x1804376ea
mov rcx, rdi
add rcx, qword [rbx + 8]
mov r8, r13
call fcn.1806a7400
add rdi, r13
mov qword [r14], rdi
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
jmp 0x18043776f
mov qword [rdi], 0xa
mov eax, dword [0x18079e948]
xor edx, edx
div dword [0x18079e94c]
and eax, 0xbc8281f4
or eax, 0x69eb6ac3
xor eax, 0xd112c286
cmp eax, 0xb9596d5c
je 0x180437cc6
mov eax, dword [0x18079e950]
xor edx, edx
div dword [0x18079e954]
mov ecx, 0xb389b29b
xor edx, edx
div ecx
add eax, 0x894fe0ad
and eax, 0xa358ae98
cmp eax, 0x6499f5dd
jb 0x180437cc6
jmp 0x18043776d
jmp 0x180437774
jmp 0x18043755c
mov rdx, qword [r13]
mov eax, dword [0x18079e958]
add eax, dword [0x18079e95c]
add eax, 0xdd7d2769
sub eax, 0xf3c08d91
add eax, 0xa575cc9e
cmp eax, 0x6eeca1ef
je 0x180437cd3
jmp 0x1804377a0
mov eax, dword [0x18079e960]
xor eax, dword [0x18079e964]
xor eax, 0xd156f780
imul ecx, eax, 0x1738635
and ecx, 0xe89e31c4
cmp rdx, 0
sete al
cmp ecx, 0xb4284861
je 0x1804377a0
test al, 1
jne 0x1804377e2
jmp 0x1804377d2
mov rcx, r14
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804377e2
mov rax, rdi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x18079e968]
add eax, dword [0x18079e96c]
and eax, 0x172ddf32
mov ecx, 0xe8654961
xor edx, edx
div ecx
and eax, 0x97d797ed
cmp eax, 0xfc333f32
jae 0x180437ce4
mov eax, dword [0x18079e970]
xor edx, edx
div dword [0x18079e974]
xor eax, 0x8a1b7c22
or eax, 0x73f4c99c
or eax, 0x4963dad8
mov qword [rdi], 0xf
cmp eax, 0xbd44349c
jb 0x180437ce4
jmp 0x180437854
jmp 0x180437774
lea rcx, [rsp + 0x80]
mov rdx, r12
mov r8, r15
call fcn.180631830
mov eax, dword [str._rmP]
imul eax, dword [0x18079e97c]
imul eax, eax, 0x25372705
add eax, 0xfe9f730c
xor eax, 0x1ca6fc4c
cmp eax, 0x2d7c0ea2
jbe 0x180437cfc
jmp 0x180437896
mov ecx, dword [0x18079e980]
and ecx, dword [0x18079e984]
or ecx, 0xc332a8c4
or ecx, 0x72b971ed
and ecx, 0x13a148fb
cmp qword [rsp + 0x80], 0
sete al
cmp ecx, 0x5acb69d2
ja 0x180437896
jmp 0x1804378ca
lea rcx, [rsp + 0x80]
add rcx, 8
test al, 1
jne 0x1804378dc
jmp 0x180437946
mov rbp, r13
mov r12, qword [rcx]
mov r15, qword [rsp + 0x90]
mov rsi, rbx
add rsi, 0x10
mov r13, qword [rbx + 0x10]
mov rax, qword [rbx]
sub rax, r13
cmp rax, r15
jb 0x180437902
jmp 0x180437924
mov rcx, rbx
mov rdx, r13
mov r8, r15
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.18045c010
mov r13, qword [rsi]
jmp 0x180437924
mov rcx, r13
add rcx, qword [rbx + 8]
mov rdx, r12
mov r8, r15
call fcn.1806a7400
add r13, r15
mov qword [rsi], r13
mov eax, 0xf
mov r13, rbp
jmp 0x1804379c3
lea r8, [rsp + 0x80]
add r8, 0x28
mov eax, dword [0x18079e988]
sub eax, dword [0x18079e98c]
and eax, 0x7e9e8c0d
mov r9d, 0xaf2a79db
xor edx, edx
div r9d
or eax, 0xeccb7f41
cmp eax, 0x8b95a511
jb 0x180437d09
jmp 0x180437980
mov eax, dword [0x18079e990]
xor edx, edx
div dword [0x18079e994]
or eax, 0x94006be0
and eax, 0x9af422a1
add eax, 0xc120315
cmp qword [r8], 0
sete dl
mov r12, qword [rcx]
mov r15, qword [rsp + 0x90]
cmp eax, 0xa7d7f463
jae 0x180437980
jmp 0x1804379b8
test dl, 1
jne 0x180437b7d
jmp 0x1804379cb
mov qword [rdi], rax
jmp 0x180437774
mov rbp, r13
mov eax, dword [0x18079e998]
or eax, dword [0x18079e99c]
mov ecx, 0x296d15d4
xor edx, edx
div ecx
and eax, 0x13760a47
mov ecx, 0xe755ac2b
xor edx, edx
div ecx
cmp eax, 0xc70c699c
je 0x180437d1a
jmp 0x1804379fe
mov eax, dword [0x18079e9a0]
imul eax, dword [0x18079e9a4]
mov ecx, 0xad6cd072
xor edx, edx
div ecx
or eax, 0x27956a8
and eax, 0xecac52e8
mov rsi, rbx
add rsi, 0x10
mov r13, qword [rbx + 0x10]
mov rcx, qword [rbx]
sub rcx, r13
cmp rcx, r15
setb cl
cmp eax, 0xe9219f7
je 0x1804379fe
jmp 0x180437a3e
mov eax, dword [0x18079e9a8]
xor edx, edx
div dword [0x18079e9ac]
and eax, 0xdfdd720b
xor eax, 0x8eec6b4f
or eax, 0xee5db8
cmp eax, 0xd53b7842
je 0x180437d2b
mov eax, dword [0x18079e9b0]
sub eax, dword [0x18079e9b4]
xor eax, 0x761fb12d
xor eax, 0x70f27ce6
or eax, 0x695b4616
cmp eax, 0x57d7d926
jb 0x180437d2b
test cl, 1
jne 0x180437a96
jmp 0x180437b58
mov rcx, rbx
mov rdx, r13
mov r8, r15
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.18045c010
mov eax, dword [0x18079e9b8]
imul eax, dword [0x18079e9bc]
imul eax, eax, 0xb2508bba
imul eax, eax, 0xcf8217a2
imul eax, eax, 0x491a126b
cmp eax, 0x24fb9ab6
jbe 0x180437d3c
jmp 0x180437adf
mov eax, dword [0x18079e9c0]
xor edx, edx
div dword [0x18079e9c4]
and eax, 0x10959ef9
imul eax, eax, 0x5e19e22f
add eax, 0x556a7601
mov r13, qword [rsi]
cmp eax, 0xf5c7234a
ja 0x180437adf
jmp 0x180437b09
mov eax, dword [0x18079e9c8]
imul eax, dword [0x18079e9cc]
xor eax, 0xebfe9966
add eax, 0x6c109b2e
imul eax, eax, 0x83ad9289
cmp eax, 0x945ea783
jae 0x180437d4d
jmp 0x180437b33
mov eax, dword [0x18079e9d0]
add eax, dword [0x18079e9d4]
and eax, 0x86115f4c
or eax, 0x3ab5fe6d
imul eax, eax, 0x4e0fa595
cmp eax, 0x325aaf56
je 0x180437b33
jmp 0x180437b58
mov rcx, r13
add rcx, qword [rbx + 8]
mov rdx, r12
mov r8, r15
call fcn.1806a7400
add r13, r15
mov qword [rsi], r13
mov eax, 0xa
mov r13, rbp
jmp 0x1804379c3
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rdi, [rsp + 0x80]
add rdi, 0x18
mov qword [rsp + 0x38], r13
mov r14, rbx
add r14, 0x10
mov r13, qword [r14]
mov rax, qword [rbx]
sub rax, r13
cmp rax, r15
jb 0x180437baf
jmp 0x180437c29
mov rcx, rbx
mov rdx, r13
mov r8, r15
mov r9d, 1
mov qword [rsp + 0x20], 1
call fcn.18045c010
mov eax, dword [0x18079e9d8]
add eax, dword [str.NU]
mov ecx, 0xd167745
xor edx, edx
div ecx
imul eax, eax, 0xe55ab00
mov ecx, 0xd4dab0e9
xor edx, edx
div ecx
cmp eax, 0xd4851950
jae 0x180437d5a
mov eax, dword [0x18079e9e0]
or eax, dword [0x18079e9e4]
sub eax, 0x5e65b856
imul eax, eax, 0x69ff0d48
add eax, 0xfdeb63e1
mov r13, qword [r14]
cmp eax, 0xcecae86f
je 0x180437d5a
jmp 0x180437c27
jmp 0x180437c29
mov rcx, r13
add rcx, qword [rbx + 8]
mov rdx, r12
mov r8, r15
call fcn.1806a7400
add r13, r15
mov qword [r14], r13
mov byte [rbp], 1
mov eax, dword [rdi]
mov dword [rsi], eax
mov al, byte [rdi + 4]
mov byte [rsi + 4], al
mov eax, 0xf
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov r13, qword [rsp + 0x38]
jmp 0x1804379c3
pop rdi
adc dh, al
out dx, al
add al, 0x1d
cmpsb byte [rsi], byte [rdi]
cdq
int3
js 0x180437c5d
jno 0x180437cf5
and ebx, dword [rdi]
mov dl, 0x7e
jmp 0x1804374f7
pop rdx
add dword [rax + 0x362bd915], 0x7a30aa40
invalid
jmp 0x180437cdb
ret
invalid
adc dl, byte [rbx - 0x6f0fb918]
or al, byte [rbx]
invalid
add dword [rdx + 0x67c7d80], ebp
mov dl, 0x19
and al, 0x13
sub al, 0xf0
mov qword [rdi], 0xf
add byte [rax], al
jmp 0x180437823
cld
sbb eax, 0x89947d49
and al, 0x23
jmp 0x180437894
sahf
movabs al, byte [0xcb39f7a8d956422e]
enter 0xffffffffffffe98f, 0x64
cld
invalid
invalid
or ebp, dword [rax]
mov dl, 0x88
jle 0x180437d91
invalid
test al, 0x90
jmp 0x180437d78
mov dword [rcx + rdi*4 - 0x437e9753], edx
xchg edi, eax
add dword [rdx], eax
jg 0x180437d32
nop
std
invalid
xchg ecx, eax
adc byte [rcx + rdi*4 - 0x41dce02a], dh
jmp 0x180437b31
add edi, dword [rbx + rdx*4 - 0x5185f8a5]
mov ebp, ecx
xchg esp, eax
invalid
push rsp