Function at 0x180456470
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov r8, rsi
add r8, 0x40
mov r13, qword [rsi + 0x40]
cmp r13, 0
sete al
mov r14, qword [rsi]
mov r15, rsi
add r15, 8
test al, 1
jne 0x180456510
mov eax, dword [0x1807a2270]
imul eax, dword [0x1807a2274]
mov ecx, 0x7d18f8f5
xor edx, edx
div ecx
or eax, 0xdcebe9d1
mov ecx, 0x73b7f2e9
xor edx, edx
div ecx
cmp eax, 0x4d9c2b8e
jae 0x18045706d
mov eax, dword [0x1807a2278]
and eax, dword [0x1807a227c]
add eax, 0xa2b76f56
xor eax, 0x99b04c5
sub eax, 0x4d04a94b
mov rdi, rsi
add rdi, 0x10
mov r12, rsi
add r12, 0x18
cmp eax, 0x26620dec
je 0x18045706d
jmp 0x180456508
mov rbx, qword [r15]
jmp 0x180456802
mov eax, dword [str._ONw4]
xor eax, dword [0x1807a2284]
add eax, 0x69a061e0
add eax, 0x19b5e2e8
add eax, 0xc06cc760
cmp eax, 0x77c65462
ja 0x18045707e
jmp 0x180456538
mov eax, dword [0x1807a2288]
xor edx, edx
div dword [0x1807a228c]
and eax, 0xdba0cb35
xor eax, 0x713e4c8b
and eax, 0xc70a162e
mov rbx, qword [r15]
cmp eax, 0x9a68645
jbe 0x180456538
jmp 0x180456561
mov eax, dword [0x1807a2290]
xor eax, dword [0x1807a2294]
sub eax, 0x78912588
mov ecx, 0x995220f3
xor edx, edx
div ecx
add eax, 0x5e3ad4cd
cmp eax, 0x8b89814f
ja 0x18045708b
jmp 0x18045658d
mov edx, dword [0x1807a2298]
sub edx, dword [0x1807a229c]
xor edx, 0x91812ade
xor edx, 0x7b54ee2
sub edx, 0x9e648d36
mov r8, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
cmp r14, 0
sete al
cmp edx, 0x87512649
jb 0x18045658d
jmp 0x1804565c4
mov qword [rsi], 0
test al, 1
jne 0x18045705c
cmp rbx, 0
sete al
test al, 1
jne 0x1804565e3
jmp 0x1804567fa
mov eax, dword [0x1807a22a0]
sub eax, dword [0x1807a22a4]
or eax, 0x9fc870e5
or eax, 0x49965527
imul eax, eax, 0x14348b16
cmp eax, 0x3222db02
je 0x18045709c
jmp 0x18045660c
mov eax, dword [0x1807a22a8]
and eax, dword [0x1807a22ac]
xor eax, 0x5d8babb0
sub eax, 0xa3ab3ae2
or eax, 0x285547da
cmp r8, 0
setne dl
cmp eax, 0x5c72ccc9
jb 0x18045660c
jmp 0x180456637
mov eax, dword [0x1807a22b0]
xor edx, edx
div dword [0x1807a22b4]
and eax, 0xa77c1a45
xor eax, 0x1338d7e4
add eax, 0xe801809a
cmp eax, 0xa4b708c6
je 0x1804570ad
jmp 0x180456661
mov edx, dword [0x1807a22b8]
imul edx, dword [0x1807a22bc]
add edx, 0xbd2917df
sub edx, 0x6074776f
and edx, 0x62006866
cmp rcx, 0
sete al
cmp edx, 0x4b740838
je 0x180456661
xor r14d, r14d
test al, 1
je 0x18045669e
mov rbx, r8
jmp 0x180456a33
mov eax, dword [0x1807a22c0]
xor eax, dword [0x1807a22c4]
mov r9d, 0xd1bd2027
xor edx, edx
div r9d
mov r9d, 0x76865a5a
xor edx, edx
div r9d
xor eax, 0x4c2b619c
cmp eax, 0xa529fa99
ja 0x1804570be
jmp 0x1804566d2
mov eax, dword [0x1807a22c8]
xor edx, edx
div dword [str.6wL]
xor eax, 0xfc34e595
add eax, 0x65788e8d
or eax, 0x2ddddc8
mov r9, rcx
and r9, 7
cmp eax, 0x24da248e
jb 0x1804566d2
jmp 0x1804566ff
cmp r9, 0
sete al
test al, 1
je 0x180456715
mov rax, rcx
mov rbx, r8
jmp 0x1804567a3
xor r11d, r11d
mov r10, rcx
jmp 0x18045671d
mov eax, dword [0x1807a22d0]
or eax, dword [0x1807a22d4]
mov esi, 0x59e24c0
xor edx, edx
div esi
add eax, 0xf0b06cd7
or eax, 0xcefcd461
cmp eax, 0x8a3e53f3
je 0x1804570cb
mov edi, dword [0x1807a22d8]
add edi, dword [0x1807a22dc]
or edi, 0xcb1afe4d
or edi, 0x8630431e
add edi, 0x7de17b0b
mov rbx, qword [r8 + 0x278]
mov rax, r10
add rax, 0xffffffffffffffff
mov rdx, r11
add rdx, 1
cmp rdx, r9
sete sil
cmp edi, 0xdd9fa696
jae 0x1804570cb
test sil, 1
mov r10, rax
mov r8, rbx
mov r11, rdx
jne 0x1804567a1
jmp 0x18045671d
jmp 0x1804567a3
xor r14d, r14d
cmp rcx, 8
jb 0x180456a33
jmp 0x1804567b2
mov rcx, qword [rbx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rbx, qword [rcx + 0x278]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x180456a2e
jmp 0x1804567b2
mov r14, r8
jmp 0x180456a33
add r13, 0xffffffffffffffff
mov qword [r8], r13
cmp r14, 0
je 0x180456b10
mov qword [rsp + 0x50], r8
cmp rbx, 0
sete al
mov rbp, qword [r12]
mov ecx, dword [0x1807a22e0]
or ecx, dword [0x1807a22e4]
or ecx, 0xb8e2c5d0
imul ecx, ecx, 0xc18b26c4
add ecx, 0xe0d7375d
cmp ecx, 0x78df8d4b
je 0x1804570d8
mov ecx, dword [0x1807a22e8]
add ecx, dword [0x1807a22ec]
imul ecx, ecx, 0x3532a9af
and ecx, 0x35994784
imul ecx, ecx, 0x25fe088b
cmp ecx, 0x6d0cbf39
jb 0x1804570d8
test al, 1
jne 0x18045688a
jmp 0x18045687d
mov qword [rsp + 0x20], r14
mov r14, qword [rdi]
jmp 0x180456b14
mov rbx, qword [rdi]
mov eax, dword [0x1807a22f0]
xor eax, dword [0x1807a22f4]
xor eax, 0x5d8212ef
mov ecx, 0xc28fea04
xor edx, edx
div ecx
xor eax, 0x9172e1ed
cmp eax, 0x8f3ce902
jbe 0x1804570e5
mov eax, dword [0x1807a22f8]
xor edx, edx
div dword [0x1807a22fc]
xor eax, 0x120d5633
sub eax, 0x1ab5a7e8
mov ecx, 0x8616d06
xor edx, edx
div ecx
cmp rbp, 0
sete cl
cmp eax, 0xe286f038
jae 0x1804570e5
jmp 0x1804568ec
test cl, 1
jne 0x18045698e
jmp 0x1804568f7
mov rcx, rbp
and rcx, 7
mov eax, dword [0x1807a2300]
add eax, dword [0x1807a2304]
sub eax, 0xd3f3b7a0
add eax, 0xd896a485
add eax, 0x5b972b22
cmp eax, 0x1cdad089
je 0x1804570f6
mov eax, dword [0x1807a2308]
or eax, dword [0x1807a230c]
mov r8d, 0xf41552f5
xor edx, edx
div r8d
sub eax, 0x5685b25e
mov r8d, 0xecb38a6
xor edx, edx
div r8d
cmp rcx, 0
sete dl
cmp eax, 0xbfeba7b5
je 0x1804570f6
jmp 0x18045695f
test dl, 1
je 0x180456969
mov rax, rbp
jmp 0x180456986
xor edx, edx
mov rax, rbp
jmp 0x180456970
mov rbx, qword [rbx + 0x278]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x180456970
jmp 0x180456986
cmp rbp, 8
jb 0x180456a00
jmp 0x1804569bc
mov rcx, rdi
xor edx, edx
mov r8d, 0x10
call fcn.1806a7aa0
mov qword [rsi], 1
mov qword [r15], rbx
xor ebp, ebp
mov eax, 1
mov qword [rsp + 0x20], rax
xor r14d, r14d
jmp 0x180456b14
mov rcx, qword [rbx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rcx, qword [rcx + 0x278]
mov rbx, qword [rcx + 0x278]
add rax, 0xfffffffffffffff8
cmp rax, 0
jne 0x1804569bc
jmp 0x180456a00
mov rcx, rdi
xor edx, edx
mov r8d, 0x10
call fcn.1806a7aa0
mov qword [rsi], 1
mov qword [r15], rbx
xor ebp, ebp
mov eax, 1
mov qword [rsp + 0x20], rax
xor r14d, r14d
jmp 0x180456b14
xor r14d, r14d
jmp 0x180456a33
mov rax, qword [rbx + 0x160]
cmp rax, 0
jne 0x180456a4b
mov r15, r14
mov rsi, rbx
jmp 0x180456aeb
jmp 0x180456a4d
mov rsi, rax
mov eax, dword [0x1807a2310]
imul eax, dword [0x1807a2314]
sub eax, 0x5b57010b
add eax, 0x54db536a
imul eax, eax, 0x1db3a934
cmp eax, 0x37178ecd
jbe 0x180457103
jmp 0x180456a7a
mov eax, dword [0x1807a2318]
xor edx, edx
div dword [0x1807a231c]
mov edi, eax
and edi, 0xc6622cff
sub edi, 0x483c98bc
add edi, 0xafdf9145
mov r15, r14
add r15, 1
mov edx, 0x2d8
mov eax, 0x278
cmp r14, 0
cmove rdx, rax
mov rcx, rbx
mov r8d, 8
call fcn.1804cafa0
mov rax, qword [rsi + 0x160]
cmp rax, 0
sete cl
cmp edi, 0xcf79a979
ja 0x180456a7a
test cl, 1
mov rbx, rsi
mov r14, r15
jne 0x180456ae9
jmp 0x180456a4d
jmp 0x180456aeb
mov edx, 0x2d8
mov eax, 0x278
cmp r15, 0
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.1804cafa0
jmp 0x18045705c
ud2
movzx eax, word [rbx + 0x272]
cmp rbp, rax
mov qword [rsp + 0x28], r15
jae 0x180456b32
mov r15, r14
mov r11, rbx
mov r14, qword [rsp + 0x20]
jmp 0x180456ba1
jmp 0x180456b34
mov r11, qword [rbx + 0x160]
cmp r11, 0
je 0x180456f15
jmp 0x180456daa
movzx ebp, r9w
mov eax, dword [0x1807a2320]
sub eax, dword [0x1807a2324]
or eax, 0xdfdd982f
and eax, 0x9f3ac52
add eax, 0xb18ddd98
cmp eax, 0x839152aa
mov r14, qword [rsp + 0x20]
jbe 0x180457134
mov eax, dword [0x1807a2328]
or eax, dword [0x1807a232c]
sub eax, 0xcb9d839a
add eax, 0xcdc8bbb2
xor eax, 0x6d2843ee
cmp eax, 0xbe9777a1
jb 0x180457134
jmp 0x180456ba1
mov r9, rbp
add r9, 1
cmp r15, 0
jne 0x180456bbb
mov rbx, r11
mov r15, qword [rsp + 0x28]
jmp 0x180456f95
mov r10, r11
add r10, 0x278
mov eax, dword [0x1807a2330]
sub eax, dword [0x1807a2334]
and eax, 0x42d87435
imul eax, eax, 0x21d72a1d
or eax, 0x8f062cfc
cmp eax, 0x878acc7d
je 0x180457145
mov eax, dword [0x1807a2338]
xor edx, edx
div dword [0x1807a233c]
and eax, 0xfc562622
mov ecx, 0x612d46ab
xor edx, edx
div ecx
mov ecx, 0x1451af36
xor edx, edx
div ecx
mov rcx, qword [r10 + r9*8]
mov r8, r15
add r8, 0xffffffffffffffff
cmp eax, 0x2539c3fd
jae 0x180457145
jmp 0x180456c29
xor r9d, r9d
cmp r8, 0
jne 0x180456c3f
mov rbx, rcx
mov r15, qword [rsp + 0x28]
jmp 0x180456f95
add r15, 0xfffffffffffffffe
mov r9, r8
and r9, 7
mov eax, dword [0x1807a2340]
xor edx, edx
div dword [0x1807a2344]
add eax, 0x4286e0f4
imul eax, eax, 0x5c17717e
add eax, 0x9f91b796
cmp eax, 0x10280dd6
jbe 0x180457156
jmp 0x180456c75
mov eax, dword [0x1807a2348]
xor edx, edx
div dword [0x1807a234c]
or eax, 0xfa661d00
xor eax, 0x560f4710
sub eax, 0x2bd7bec9
cmp r9, 0
sete dl
cmp eax, 0x16d69165
jb 0x180456c75
test dl, 1
je 0x180456cb0
mov rdx, r8
mov rbx, rcx
jmp 0x180456d4e
mov qword [rsp + 0x48], r11
xor r10d, r10d
jmp 0x180456cba
mov eax, dword [0x1807a2350]
sub eax, dword [0x1807a2354]
mov r11d, 0xb36f562d
xor edx, edx
div r11d
xor eax, 0xa0670a72
and eax, 0xe0406064
cmp eax, 0x77d3b7e2
jbe 0x180457163
mov eax, dword [0x1807a2358]
xor eax, dword [0x1807a235c]
or eax, 0x5e711e79
mov r11d, 0x1cfe86b3
xor edx, edx
div r11d
and eax, 0x85c13e9e
mov rbx, qword [rcx + 0x278]
mov rdx, r8
add rdx, 0xffffffffffffffff
mov r11, r10
add r11, 1
cmp r11, r9
sete r14b
cmp eax, 0xaa002b84
ja 0x180457163
test r14b, 1
mov r8, rdx
mov rcx, rbx
mov r10, r11
mov r14, qword [rsp + 0x20]
jne 0x180456d47
jmp 0x180456cba
mov r11, qword [rsp + 0x48]
jmp 0x180456d4e
xor r9d, r9d
cmp r15, 7
mov r15, qword [rsp + 0x28]
jb 0x180456f95
jmp 0x180456d62
mov rax, qword [rbx + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rbx, qword [rax + 0x278]
add rdx, 0xfffffffffffffff8
cmp rdx, 0
je 0x180456f90
jmp 0x180456d62
mov eax, dword [0x1807a2360]
or eax, dword [0x1807a2364]
add eax, 0x3300aee0
or eax, 0x4ab593a9
add eax, 0xeb34d616
cmp eax, 0x45c098d7
jbe 0x180457170
jmp 0x180456dd2
mov eax, dword [0x1807a2368]
and eax, dword [0x1807a236c]
xor eax, 0x93d091f2
and eax, 0xceea4d35
and eax, 0xe62a0851
mov r15, r14
add r15, 1
mov r9w, word [rbx + 0x270]
cmp eax, 0x491b1f16
je 0x180456dd2
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], r12
jmp 0x180456e0f
mov eax, dword [0x1807a2370]
xor eax, dword [0x1807a2374]
or eax, 0x45097cc6
or eax, 0x95ac0369
xor eax, 0x7c91999b
cmp eax, 0xd7e2e888
jae 0x180457181
jmp 0x180456e37
mov eax, dword [0x1807a2378]
xor edx, edx
div dword [0x1807a237c]
and eax, 0x2a72f544
mov ecx, 0x3f2a9d94
xor edx, edx
div ecx
mov ecx, 0x536f7924
xor edx, edx
div ecx
mov ebp, eax
mov edx, 0x2d8
mov eax, 0x278
cmp r14, 0
cmove rdx, rax
mov rcx, rbx
mov r8d, 8
mov r12, r11
mov di, r9w
call fcn.1804cafa0
mov r9w, di
mov r11, r12
cmp r9w, word [r11 + 0x272]
setb cl
cmp ebp, 0x68ee31c4
ja 0x180456e37
jmp 0x180456ea1
mov eax, dword [0x1807a2380]
xor edx, edx
div dword [0x1807a2384]
mov r8d, 0x970d959c
xor edx, edx
div r8d
and eax, 0x5e4a805d
or eax, 0x7191f27a
cmp eax, 0x3add4452
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jb 0x1804571bc
mov eax, dword [0x1807a2388]
xor edx, edx
div dword [0x1807a238c]
add eax, 0xb8ab3b8a
and eax, 0x8735458c
or eax, 0xf4abcf74
cmp eax, 0x8d66e8d
je 0x1804571bc
test cl, 1
mov rbx, r11
mov r14, r15
jne 0x180456b4a
jmp 0x180456b34
cmp r14, 0
sete al
mov edx, 0x2d8
mov ecx, 0x278
test al, 1
cmovne rdx, rcx
mov rcx, rbx
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807a2390]
imul eax, dword [0x1807a2394]
add eax, 0x1c8a84cd
or eax, 0xce5c24c7
imul eax, eax, 0x475ac74d
cmp eax, 0x469782e7
jb 0x1804571cd
jmp 0x180456f64
mov eax, dword [0x1807a2398]
add eax, dword [0x1807a239c]
mov ecx, 0x4f04257e
xor edx, edx
div ecx
imul eax, eax, 0x723776f4
imul eax, eax, 0xe0b2c47d
ud2
xor r9d, r9d
jmp 0x180456f95
mov qword [r15], rbx
mov qword [rdi], 0
mov qword [r12], r9
mov rax, r11
add rax, 0x168
imul rcx, rbp, 0x18
add rax, rcx
mov rdx, qword [rax]
cmp rdx, 0
je 0x180456fe0
mov qword [rsp + 0x38], rbp
mov rbp, r11
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov r11, rbp
mov rbp, qword [rsp + 0x38]
jmp 0x180456fe0
shl rbp, 5
add r11, rbp
mov rcx, r11
call fcn.180457200
mov r8, qword [rsp + 0x50]
cmp r13, 0
jne 0x180456802
mov eax, dword [0x1807a23a0]
imul eax, dword [0x1807a23a4]
sub eax, 0xe6fc23b8
imul eax, eax, 0xc15ebffd
xor eax, 0xd0cf17f6
cmp eax, 0x8bb0cf2
jb 0x1804571e0
jmp 0x180457028
mov eax, dword [0x1807a23a8]
and eax, dword [0x1807a23ac]
or eax, 0x6b8d1ee9
xor eax, 0x3344752b
imul eax, eax, 0x6521e6c
mov qword [rsi], 0
cmp eax, 0xe1124b3f
ja 0x180457028
jmp 0x180457054
xor r8d, r8d
jmp 0x1804567fa
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
jmp [rax - 0x3dfdf175]
test al, 0x8b
invalid
add al, dl
xor al, 0x1c
imul cl
stosd dword [rdi], eax
hlt
invalid
jl 0x1804570e5
stosb byte [rdi], al
sbb byte [rcx + 0x3f5a1887], ah
call 0x1de2eb77a
cmc
invalid
jae 0x1804570eb
xor eax, eax
lodsb al, byte [rsi]
push 0xfffffffffffffff0
jp 0x180457081
fcmovu st(0), st(1)
jmp 0x18045665f
scasb al, byte [rdi]
jl 0x1804570cf
outsd dx, dword [rsi]
sub byte [rcx], cl
xchg edi, eax
fldl2t
add eax, 0x90fffff6
nop
add ebp, eax
leave
jrcxz 0x18045707d
sub ebp, ecx
outsd dx, dword [rsi]
idiv bh
invalid
cmp dword [0x1c1f7805a], esi
mov al, 0xea
jmp 0x18045684d
wait
jne 0x18045715c
or edx, dword [rdx]
iretd
invalid
adc al, 0x8e
push 0x1c
fcomp dword [rdx]
sub al, byte [rcx]
call 0x13a507046
fadd dword [rdx]
add byte [rax], al
mov eax, 0x278
cmp r14, 0
cmove rdx, rax
mov rcx, rbx
mov r8d, 8
call fcn.1804cafa0
jmp 0x180456a78
and ecx, dword [rdx - 0x66]
lahf
or eax, 0x4f5918f1
invalid
and dh, ch
ret 0xce8c
rcr dword [rdi + 0x146bac4c], cl
invalid
mov dl, 0x1b
push rax
adc al, 0x5e
invalid
adc eax, 0xc646e469
mov bh, 0xd
int 0x30
pop rcx
and byte [0x18041c169], dl
dec dword [rdx + rbp*4 - 0x75]
and dword [rbp - 0x450f90fc], 0xffffffd8
add al, byte [rax]
add byte [rax + 0x278], bh
cld
invalid
stosb byte [rdi], al
mov eax, dword [rbx - 0xf90fb5b]
mov edx, 0x2d8
mov eax, 0x278
cmp r14, 0
cmove rdx, rax
mov rcx, rbx
mov r8d, 8
mov r12, r11
mov di, r9w
call fcn.1804cafa0
mov r9w, di
mov r11, r12
jmp 0x180456e35
cmc
shr ah, 0x90
xchg esp, eax
out 0x81, eax
and dword [rsi - 0x1675a147], 0xfffffd0c
sub byte [rdi - 0x27], ah
and dword [rax - 0x1cecc197], edx
xchg esi, eax
pop rdx
ud2
adc eax, 0xa3b85295
loopne 0x18045717d
pop rbp
invalid