Function at 0x180222490
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x18051cfc8]
xor edx, edx
div dword [0x18051cfcc]
or eax, 0xce44baed
imul eax, eax, 0xbcf3e669
imul eax, eax, 0xd75cf557
cmp eax, 0xb5269fd
jbe 0x180222dab
jmp 0x1802224cb
mov eax, dword [0x18051cfd0]
xor edx, edx
div dword [0x18051cfd4]
xor eax, 0xd5958714
add eax, 0xb4f05fa0
imul eax, eax, 0xda9fe82b
mov rcx, rsi
add rcx, 0x113
cmp eax, 0x125e6e00
je 0x1802224cb
jmp 0x1802224fc
mov eax, dword [0x18051cfd8]
imul eax, dword [0x18051cfdc]
or eax, 0xe2b858d0
or eax, 0x6cfd30c5
xor eax, 0xc1117a2e
cmp eax, 0x9b72c197
ja 0x180222dbc
jmp 0x180222525
mov eax, dword [0x18051cfe0]
add eax, dword [0x18051cfe4]
mov r8d, 0x9a967e25
xor edx, edx
div r8d
add eax, 0x76f9af08
xor eax, 0x7824c620
mov dl, byte [rcx]
cmp eax, 0x5de2ea9b
ja 0x180222525
jmp 0x180222551
movzx eax, dl
sub dl, 3
je 0x18022257c
jmp 0x18022255b
mov ecx, eax
sub ecx, 4
je 0x1802225df
jmp 0x180222564
sub eax, 5
je 0x18022266b
jmp 0x18022256f
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
add rsi, 0x118
mov rcx, rsi
call fcn.18021f8b0
mov eax, dword [0x18051cfe8]
add eax, dword [0x18051cfec]
and eax, 0xfefcea58
and eax, 0x16fd0e67
imul eax, eax, 0x6e37995d
cmp eax, 0xb3944812
je 0x180222dcd
mov eax, dword [0x18051cff0]
and eax, dword [0x18051cff4]
mov ecx, 0xeffcd12a
xor edx, edx
div ecx
or eax, 0x7eedbbd8
imul eax, eax, 0x64041854
cmp eax, 0x5c792784
ja 0x180222dcd
jmp 0x18022256f
mov al, byte [rsi + 0x140]
cmp al, 0
sete cl
mov eax, dword [0x18051cff8]
imul eax, dword [0x18051cffc]
sub eax, 0x20f65fc1
or eax, 0x27d816e3
xor eax, 0x4010d85a
cmp eax, 0x4b77a2e2
jbe 0x180222dde
jmp 0x180222613
mov eax, dword [0x18051d000]
or eax, dword [0x18051d004]
add eax, 0x175bbbb9
xor eax, 0xb6810670
mov r8d, 0xefb7cbcc
xor edx, edx
div r8d
cmp eax, 0xd4faa986
jae 0x180222613
test cl, 1
jne 0x180222642
jmp 0x18022266b
mov rax, rsi
add rax, 0x120
mov rdx, qword [rax]
cmp rdx, 0
je 0x18022266b
mov rax, rsi
add rax, 0x128
mov rcx, qword [rax]
mov r8d, 1
call fcn.1802cbf20
mov eax, dword [0x18051d008]
xor edx, edx
div dword [0x18051d00c]
mov ecx, 0x7eda6f21
xor edx, edx
div ecx
mov ecx, 0xa008eadb
xor edx, edx
div ecx
sub eax, 0x1e39d2e3
cmp eax, 0xfe1bec14
ja 0x180222deb
mov eax, dword [0x18051d010]
or eax, dword [0x18051d014]
and eax, 0x7922c3bd
sub eax, 0xbb5cca14
xor eax, 0x44f95a35
mov r14, rsi
add r14, 0x110
cmp eax, 0xdebb87e0
je 0x180222deb
jmp 0x1802226cd
cmp byte [r14], 0
sete al
test al, 1
jne 0x1802226da
jmp 0x18022274f
mov byte [r14], 0
mov r14, rsi
add r14, 0x111
mov eax, dword [0x18051d018]
sub eax, dword [0x18051d01c]
sub eax, 0x22a9370c
add eax, 0x9af7f77f
mov ecx, 0x6fba8cd2
xor edx, edx
div ecx
cmp eax, 0x4522983e
jae 0x180222df8
mov eax, dword [0x18051d020]
sub eax, dword [0x18051d024]
xor eax, 0x47da8243
and eax, 0x5e3aaf0a
mov ecx, 0x340a0d36
xor edx, edx
div ecx
mov cl, byte [r14]
cmp eax, 0x5870fe3b
jae 0x180222df8
jmp 0x180222741
cmp cl, 0
je 0x1802227cf
jmp 0x180222a32
mov rdi, rsi
add rdi, 0x108
mov rbx, qword [rdi]
mov rax, rbx
add rax, 0x1c8
lock dec qword [rax]
sete al
test al, 1
jne 0x180222772
jmp 0x1802227af
mov rcx, rbx
sub rcx, 0xffffffffffffff80
mov edx, 1
lock xadd qword [rbx + 0x88], rdx
call fcn.1802c54a0
movabs rcx, 0x200000000
lock or qword [rax + 0x510], rcx
add rbx, 0x100
mov rcx, rbx
call fcn.180407590
jmp 0x1802227af
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x1802227c2
jmp 0x1802226da
mov rcx, rdi
call fcn.180273e10
jmp 0x1802226da
mov byte [r14], 0
mov rdi, rsi
add rdi, 0x100
mov rbx, qword [rdi]
mov rax, rbx
add rax, 0x1c8
lock dec qword [rax]
sete al
test al, 1
je 0x180222888
mov rcx, rbx
add rcx, 0x80
mov rax, rbx
add rax, 0x88
mov edx, 1
lock xadd qword [rax], rdx
call fcn.1802c54a0
movabs rcx, 0x200000000
lock or qword [rax + 0x510], rcx
add rbx, 0x100
mov rcx, rbx
call fcn.180407590
mov eax, dword [0x18051d028]
imul eax, dword [0x18051d02c]
xor eax, 0x74a0b27e
xor eax, 0x3624df27
add eax, 0x72d18ebc
cmp eax, 0x61fcd34d
jbe 0x180222e05
jmp 0x180222864
mov eax, dword [0x18051d030]
add eax, dword [0x18051d034]
xor eax, 0xfb6afe88
or eax, 0x4bd3a01
sub eax, 0xaa46bc15
cmp eax, 0xc1fd8038
je 0x180222864
jmp 0x180222888
mov rax, qword [rdi]
mov ecx, dword [0x18051d038]
or ecx, dword [0x18051d03c]
sub ecx, 0xab8766fe
sub ecx, 0x7f8def1f
add ecx, 0x8092d92f
cmp ecx, 0x87d1b5cc
jae 0x180222e16
mov ecx, dword [0x18051d040]
and ecx, dword [0x18051d044]
add ecx, 0x5aed9141
imul edx, ecx, 0x5f67bef1
or edx, 0xdccf6268
lock dec qword [rax]
sete cl
cmp edx, 0xd1a59778
jbe 0x180222e16
jmp 0x1802228e8
test cl, 1
jne 0x1802228ef
jmp 0x1802228f9
mov rcx, rdi
call fcn.180273e10
jmp 0x1802228f9
mov rdi, rsi
add rdi, 0xf8
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x180222916
jmp 0x1802229c7
mov eax, dword [0x18051d048]
sub eax, dword [0x18051d04c]
mov ecx, 0x424c60fb
xor edx, edx
div ecx
xor eax, 0xd82d89a9
imul eax, eax, 0x80e68e98
cmp eax, 0x9cb57cf1
jae 0x180222e2e
mov eax, dword [0x18051d050]
xor edx, edx
div dword [0x18051d054]
mov ebx, eax
or ebx, 0x1ede2658
sub ebx, 0xcda10827
xor ebx, 0xef9d7045
mov rcx, rdi
call fcn.180272550
cmp ebx, 0x6e300f2f
jbe 0x180222e2e
jmp 0x180222979
mov eax, dword [0x18051d058]
or eax, dword [0x18051d05c]
or eax, 0xd903ecb8
and eax, 0xfd80d3a5
xor eax, 0xfc32f7e2
cmp eax, 0xf2f29e67
ja 0x180222e43
mov eax, dword [0x18051d060]
or eax, dword [0x18051d064]
sub eax, 0x35ff3b42
or eax, 0xfcf19539
or eax, 0x86296d92
cmp eax, 0x668a413f
jb 0x180222e43
jmp 0x1802229c7
mov rbx, rsi
add rbx, 0x112
mov eax, dword [0x18051d068]
add eax, dword [0x18051d06c]
or eax, 0x8d66d112
and eax, 0xddf7e132
and eax, 0x7acda52e
cmp eax, 0x494548cb
jbe 0x180222e54
mov ecx, dword [str.zj_]
add ecx, dword [0x18051d074]
or ecx, 0x55f47fbf
xor ecx, 0xb6f9c2f9
and ecx, 0xbf522325
mov al, byte [rbx]
cmp ecx, 0x877c6934
ja 0x180222e54
jmp 0x180222a25
cmp al, 0
je 0x180222abd
jmp 0x180222baf
mov rdi, rsi
add rdi, 0x118
mov rcx, rdi
call fcn.1802ca4a0
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x1802227cf
mov eax, dword [0x18051d078]
xor edx, edx
div dword [0x18051d07c]
xor eax, 0x10ecf56a
add eax, 0xf05d2339
imul eax, eax, 0xa2e77069
cmp eax, 0x5db95dc0
jb 0x180222e61
mov eax, dword [0x18051d080]
or eax, dword [0x18051d084]
mov ecx, 0x343bd9b1
xor edx, edx
div ecx
mov ebx, eax
add ebx, 0x1c132eda
xor ebx, 0xdcc4d20e
mov rcx, rdi
call fcn.180273e10
cmp ebx, 0x597f22d8
je 0x180222e61
jmp 0x180222ab8
jmp 0x1802227cf
mov byte [rbx], 0
mov rcx, rsi
call fcn.180220900
mov rbx, rsi
add rbx, 0xe0
mov rdi, rsi
add rdi, 0xe8
mov r14, qword [rsi + 0xe8]
mov rsi, qword [rsi + 0xf0]
cmp rsi, 0
sete al
test al, 1
jne 0x180222b8b
jmp 0x180222afb
xor r15d, r15d
jmp 0x180222b00
imul rcx, r15, 0x18
mov rax, r14
add rax, rcx
add r15, 1
mov rdx, qword [rax]
cmp rdx, 0
je 0x180222b28
mov rcx, qword [rax + 8]
mov r8d, 1
call fcn.1802cbf20
jmp 0x180222b28
mov eax, dword [0x18051d088]
and eax, dword [0x18051d08c]
or eax, 0x9acc5266
and eax, 0x6c947624
imul eax, eax, 0xd09b079e
cmp eax, 0x99cb3cfa
je 0x180222e7a
jmp 0x180222b51
mov eax, dword [0x18051d090]
xor edx, edx
div dword [0x18051d094]
or eax, 0x2c5143d
imul ecx, eax, 0xa66c3095
and ecx, 0x3bf1ffbf
cmp r15, rsi
sete al
cmp ecx, 0x61265fc5
jae 0x180222b51
jmp 0x180222b80
test al, 1
jne 0x180222b89
jmp 0x180222b00
jmp 0x180222b8b
mov rax, qword [rbx]
cmp rax, 0
je 0x18022256f
mov rcx, qword [rdi]
imul rdx, rax, 0x18
mov r8d, 8
call fcn.1802cbf20
jmp 0x18022256f
mov r14, rsi
add r14, 0x148
mov rdi, rsi
add rdi, 0x170
mov rax, qword [rsi + 0x170]
lock dec qword [rax]
sete al
test al, 1
jne 0x180222bda
jmp 0x180222c90
mov eax, dword [0x18051d098]
or eax, dword [0x18051d09c]
xor eax, 0xee26151c
add eax, 0x8392df5f
and eax, 0x2558018c
cmp eax, 0xce9bd563
ja 0x180222e8b
jmp 0x180222c02
mov eax, dword [0x18051d0a0]
mov ecx, dword [0x18051d0a4]
or eax, ecx
xor eax, 0xebad487e
mov ecx, 0xc78fd0b7
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0x1fbe1291
cmp eax, 0x57fc8192
je 0x180222c02
jmp 0x180222c31
mov eax, dword [0x18051d0a8]
xor edx, edx
div dword [0x18051d0ac]
xor eax, 0x650b75fe
imul eax, eax, 0x1021f317
xor eax, 0x6c1e50de
cmp eax, 0x2b284049
jbe 0x180222e9c
mov ebp, dword [0x18051d0b0]
and ebp, dword [0x18051d0b4]
sub ebp, 0xf7dae23d
or ebp, 0xbae04029
xor ebp, 0x4ccddd0c
mov rcx, rdi
call fcn.180272550
cmp ebp, 0x8edae1b5
jbe 0x180222e9c
jmp 0x180222c8e
jmp 0x180222c90
mov r8, qword [r14]
movabs rax, 0x8000000000000005
cmp r8, rax
sete al
test al, 1
jne 0x180222abd
jmp 0x180222cad
movabs rax, 0x8000000000000000
mov rcx, r8
xor rcx, rax
mov rax, rcx
sub rax, 5
mov eax, 5
cmovb rax, rcx
mov ecx, 0x148
mov rdx, rax
sub rdx, 4
jb 0x180222d10
jmp 0x180222cdd
sub rax, 4
jne 0x180222d23
jmp 0x180222ce5
mov rax, rsi
add rax, 0x150
mov r8, qword [rax]
movabs rax, 0x8000000000000002
cmp r8, rax
setl al
mov ecx, 0x150
test al, 1
jne 0x180222abd
jmp 0x180222d23
mov rax, rsi
add rax, 0x150
mov r8, qword [rax]
mov ecx, 0x150
jmp 0x180222d23
mov eax, dword [str.V__]
or eax, dword [0x18051d0bc]
mov r9d, 0xc8cccd70
xor edx, edx
div r9d
and eax, 0xda219bc0
sub eax, 0xa94cc55e
cmp eax, 0x39b61b35
jbe 0x180222eb1
mov edx, dword [0x18051d0c0]
imul edx, dword [0x18051d0c4]
add edx, 0xd74ddf8b
add edx, 0xf4ccc2c
xor edx, 0xe2861bb4
cmp r8, 0
sete al
cmp edx, 0x56a1acfd
je 0x180222eb1
test al, 1
jne 0x180222abd
jmp 0x180222d8b
mov rax, rsi
add rax, rcx
add eax, ecx
add rax, 8
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1802cbf20
jmp 0x180222abd
out 0x4a, eax
sti
std
invalid
ja 0x180222d8f
outsb dx, byte [rsi]
mov cl, 0x80
iretd
pop rcx
mov dword [rdi - 0x9055146], 0xfdf900a7
jmp 0x1802225b2
sar dword [rdi + 0x2dcdd636], 1
int 0x62
jmp 0x180222611
adc eax, 0xf45823b3
push 0xffffffffa3e97441
clc
invalid
push rcx
in al, dx
mov esi, 0x1736fc81
jmp 0x180222712
nop
adc byte [rdi + 6], 0x55
sbb dword [0x192317934], esp
retf 0x4ce9
mov es, word [rdi - 0x42]
insd dword [rdi], dx
invalid
movsb byte [rdi], byte [rsi]
cli
sti
leave
fdiv st(6), st(0)
retf
pop rdi
int 0x69
invalid
and ebx, dword [rdi + 0x3a846a6b]
movsb byte [rdi], byte [rsi]
fucompi st(1)
xchg esi, eax
sti
invalid
stosd dword [rdi], eax
pop rbp
lahf
invalid
bnd jmp 0x1abf5d75b
invalid
xchg ebp, eax
adc eax, 0xea347a71
cmp dword [rdi], eax
mov rcx, rdi
call fcn.180272550
jmp 0x180222c5a
fld qword [rbx]
cmpsd dword [rsi], dword [rdi]
int3