Function at 0x180357060
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov eax, dword [0x180788c30]
and eax, dword [0x180788c34]
imul eax, eax, 0xc7bfa4ed
xor eax, 0xa369bfbb
imul eax, eax, 0xb1dfaf6a
cmp eax, 0xb4768fb5
je 0x1803576dd
jmp 0x180357097
mov eax, dword [0x180788c38]
imul eax, dword [0x180788c3c]
and eax, 0x214a142e
or eax, 0xae144c70
and eax, 0x27253735
cmp eax, 0x5957848a
je 0x180357097
xor eax, eax
test r9b, 1
jne 0x1803576c7
jmp 0x1803570c8
mov eax, dword [0x180788c40]
or eax, dword [0x180788c44]
and eax, 0x7fca692d
or eax, 0xb4ee3d10
add eax, 0x850bdde4
cmp eax, 0x84466dc2
ja 0x1803576ee
jmp 0x1803570f0
mov eax, dword [0x180788c48]
and eax, dword [0x180788c4c]
sub eax, 0x2f010f15
and eax, 0xb53c937f
sub eax, 0xa49653fb
mov r9, rdx
add r9, 1
cmp eax, 0xed5aabdb
jae 0x1803570f0
jmp 0x18035711b
mov r10, qword [rcx]
mov r11, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
mov rdi, rax
add rdi, 0xfffffffffffffffc
mov rsi, r11
add rsi, rdi
cmp rax, 4
jae 0x180357460
cmp rax, 0
sete bl
cmp rax, 1
sete sil
mov rdi, r11
add rdi, 1
cmp rax, 2
sete byte [rsp + 7]
mov r14, r11
add r14, 2
cmp rax, 3
sete byte [rsp + 6]
tzcnt ecx, r8d
movzx eax, cx
mov rdx, r9
add rdx, rax
mov r12, r10
add r12, rdx
mov al, 1
test bl, 1
jne 0x1803576c1
mov r13b, byte [r12]
mov eax, dword [0x180788c50]
add eax, dword [0x180788c54]
add eax, 0x3c4f4ddf
add eax, 0xf329f84f
sub eax, 0x30249366
cmp eax, 0xf70e3039
jae 0x1803576ff
mov eax, dword [0x180788c58]
and eax, dword [0x180788c5c]
or eax, 0x2b63546d
sub eax, 0xad13b313
or eax, 0x11a77729
mov r15b, byte [r11]
cmp eax, 0xfb626f1e
je 0x1803576ff
jmp 0x1803571e0
mov eax, dword [0x180788c60]
imul eax, dword [0x180788c64]
xor eax, 0xaaa7459a
or eax, 0xb372c772
xor eax, 0x85c9792c
cmp eax, 0x544655ab
jae 0x180357710
jmp 0x180357209
mov eax, dword [0x180788c68]
xor edx, edx
div dword [0x180788c6c]
and eax, 0x3232d60c
mov ebp, 0x3ced5f6
xor edx, edx
div ebp
imul edx, eax, 0xd8d3b830
cmp r13b, r15b
sete al
cmp edx, 0x5bdab4ff
jae 0x180357209
test al, 1
jne 0x180357242
jmp 0x180357395
mov eax, dword [0x180788c70]
sub eax, dword [0x180788c74]
sub eax, 0xd9f92d57
and eax, 0x468f12d0
mov ebp, 0x340983f5
xor edx, edx
div ebp
cmp eax, 0x7cbd3147
je 0x18035771d
mov eax, dword [0x180788c78]
xor eax, dword [0x180788c7c]
mov ebp, 0xd2107560
xor edx, edx
div ebp
sub eax, 0x291aca25
or eax, 0xfc85e537
cmp eax, 0x1a5b437c
je 0x18035771d
mov al, 1
test sil, 1
jne 0x1803576c1
jmp 0x1803572a4
mov rax, r12
add rax, 1
mov al, byte [rax]
mov dl, byte [rdi]
cmp al, dl
jne 0x180357395
mov al, 1
test byte [rsp + 7], 1
jne 0x1803576c1
jmp 0x1803572c6
mov eax, dword [0x180788c80]
sub eax, dword [0x180788c84]
add eax, 0x708233c
and eax, 0x6d23cf66
sub eax, 0xf6ea04ca
cmp eax, 0xe0cf70dd
jae 0x18035772a
mov eax, dword [0x180788c88]
xor edx, edx
div dword [0x180788c8c]
xor eax, 0x6049c598
add eax, 0x948ffee0
add eax, 0x798fb923
mov r13, r12
add r13, 2
cmp eax, 0x7561ad3b
ja 0x18035772a
jmp 0x18035731d
mov eax, dword [0x180788c90]
and eax, dword [0x180788c94]
xor eax, 0x71b8a36c
mov ebp, 0xf30083e1
xor edx, edx
div ebp
or eax, 0x9b3dfb2c
cmp eax, 0x7bc69e90
jb 0x18035773b
mov eax, dword [0x180788c98]
imul eax, dword [0x180788c9c]
mov ebp, 0x478050f2
xor edx, edx
div ebp
or eax, 0xa68f95b0
sub eax, 0x108c4e75
mov dl, byte [r13]
cmp dl, byte [r14]
sete dl
cmp eax, 0xb180d516
ja 0x18035773b
jmp 0x18035737e
xor dl, 0xff
mov al, byte [rsp + 6]
xor al, 0xff
or dl, al
mov al, 1
test dl, 1
jne 0x180357395
jmp 0x1803576c1
mov ax, 1
shl ax, cl
xor ax, 0xffff
and r8w, ax
mov eax, dword [0x180788ca0]
xor eax, dword [0x180788ca4]
and eax, 0xb119724d
add eax, 0x710af5d1
add eax, 0xda6d7b44
cmp eax, 0x8b00ca41
jb 0x180357748
jmp 0x1803573cc
mov eax, dword [0x180788ca8]
sub eax, dword [0x180788cac]
sub eax, 0x8d44e38f
or eax, 0x995b2fc6
xor eax, 0xabff00a6
cmp r8w, 0
sete cl
cmp eax, 0xb4d6d2ae
ja 0x1803573cc
jmp 0x1803573f8
mov eax, dword [0x180788cb0]
add eax, dword [0x180788cb4]
add eax, 0xa4c8bae
mov ebp, 0xbf887335
xor edx, edx
div ebp
xor eax, 0xa85bee32
cmp eax, 0x55ab9b87
jb 0x180357755
mov eax, dword [0x180788cb8]
or eax, dword [0x180788cbc]
mov ebp, 0x7a3bfa59
xor edx, edx
div ebp
xor eax, 0xfa148808
mov ebp, 0x44318dc4
xor edx, edx
div ebp
cmp eax, 0xc45a865a
ja 0x180357755
xor eax, eax
test cl, 1
jne 0x1803576c1
jmp 0x18035716c
mov eax, dword [0x180788cc0]
add eax, dword [0x180788cc4]
add eax, 0xfd7cccd4
xor eax, 0xf98e00d6
sub eax, 0xba8915a
cmp eax, 0x1e0295ef
jbe 0x180357766
jmp 0x180357488
mov eax, dword [0x180788cc8]
and eax, dword [0x180788ccc]
sub eax, 0xe1623e5a
sub eax, 0x194ca941
imul ecx, eax, 0x7a9c65fd
cmp rdi, 0
setg al
cmp ecx, 0x16748313
je 0x180357488
jmp 0x1803574b5
test al, 1
jne 0x1803574be
jmp 0x180357638
jmp 0x1803574c0
tzcnt ecx, r8d
movzx eax, cx
mov rdx, r9
add rdx, rax
mov rbx, r10
add rbx, rdx
mov r14, rbx
add r14, rdi
mov r15, r11
mov eax, dword [rbx]
cmp eax, dword [r15]
jne 0x1803575a9
add rbx, 4
add r15, 4
mov eax, dword [0x180788cd0]
add eax, dword [0x180788cd4]
sub eax, 0xac8bdbcf
or eax, 0x64dc164a
mov ebp, 0xba9a4d30
xor edx, edx
div ebp
cmp eax, 0x404831ee
jae 0x180357773
jmp 0x18035751c
mov edx, dword [0x180788cd8]
and edx, dword [0x180788cdc]
and edx, 0x6fcf21a5
add edx, 0x234575ff
and edx, 0xa8e9e61e
cmp rbx, r14
setb al
cmp edx, 0x42aeea47
je 0x18035751c
jmp 0x18035754a
mov edx, dword [0x180788ce0]
and edx, dword [0x180788ce4]
xor edx, 0x5f1a11d5
sub edx, 0x966884f
xor edx, 0x3e1e3d4
cmp edx, 0xcca118a3
jae 0x180357780
mov edx, dword [0x180788ce8]
imul edx, dword [0x180788cec]
xor edx, 0x98f18abb
or edx, 0x68eacf56
and edx, 0x34e16511
cmp edx, 0x801537ef
ja 0x180357780
test al, 1
jne 0x1803574dd
jmp 0x1803575cc
jmp 0x1803575ab
mov ax, 1
shl ax, cl
xor ax, 0xffff
and r8w, ax
xor eax, eax
cmp r8w, 0
je 0x1803576c3
jmp 0x1803574c0
mov eax, dword [r14]
cmp eax, dword [rsi]
sete bl
mov eax, dword [0x180788cf0]
and eax, dword [0x180788cf4]
or eax, 0xd5c7a56a
mov ebp, 0x77a1ba0a
xor edx, edx
div ebp
or eax, 0x7e943e43
cmp eax, 0x68d5cee0
jb 0x18035778d
mov eax, dword [0x180788cf8]
or eax, dword [0x180788cfc]
and eax, 0x3e29d840
mov ebp, 0x28a6dda
xor edx, edx
div ebp
xor eax, 0x9618c79b
cmp eax, 0xdb5f4742
je 0x18035778d
mov al, 1
test bl, 1
jne 0x1803576c3
jmp 0x1803575ab
add r10, rdi
mov eax, dword [0x180788d00]
xor eax, dword [0x180788d04]
sub eax, 0x55818d47
xor eax, 0x2cd3fe72
or eax, 0x13f8ddfb
cmp eax, 0x71065454
jbe 0x18035779e
mov eax, dword [0x180788d08]
add eax, dword [0x180788d0c]
add eax, 0x1755edfc
add eax, 0x50486622
sub eax, 0x2a781ffe
mov edx, dword [rsi]
cmp eax, 0xe1ddbb88
ja 0x18035779e
jmp 0x18035768b
jmp 0x18035768d
tzcnt ecx, r8d
movzx eax, cx
mov r11, r9
add r11, rax
cmp dword [r10 + r11], edx
sete al
test al, 1
jne 0x1803576c5
mov r11w, 1
shl r11w, cl
xor r11w, 0xffff
and r8w, r11w
cmp r8w, 0
je 0x1803576c5
jmp 0x18035768d
jmp 0x1803576c7
jmp 0x1803576c7
jmp 0x1803576c7
and al, 1
movzx eax, al
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
pushfq
fstp xword [rsi - 0x404d11df]
jae 0x180357762
ret
adc al, 0x28
lodsb al, byte [rsi]
ret 0xd26e
and dword [rbx], esp
fimul word [rbp + riz*2 - 0x761f1337]
jrcxz 0x180357747
mov esi, 0xfffaa5e9
dec dword [rdi - 0x13]
in eax, dx
or al, byte [rdx]
xchg edx, eax
in al, dx
sahf
jmp 0x180357207
mov ds, word [rcx - 0x507f0769]
invalid
clc
sub byte [rdi + 0x42e912fe], 0xfb
invalid
jmp 0x18035726c
mov ebx, 0xab0789c
iretd
invalid
call [rsi + 0x47ce4cbf]
test al, 0
sahf
mov edi, 0x4b47ce4c
test al, 0
jmp 0x1803573ca
sbb byte [rdi], 0x94
fisub word [rbx + rbp*4 + 0x75]
mov ebx, 0xbce96e08
cld
invalid
mov esp, 0x59fffffc
pop rcx
rcl dword [rax - 0x721f5002], 0x73
jmp 0x180357486
fimul word [rcx]
xchg edx, eax
fucompi st(5)
imul edi, ebp, 0xffffffa8
jmp 0x18035751a
js 0x180357720
jrcxz 0x180357725
pop rsp
jrcxz 0x180357715
pop rax
jmp 0x180357574
and cl, byte [rcx + 0x55]
stosd dword [rdi], eax
invalid
push rsi
outsd dx, dword [rsi]
ret 0x156