Function at 0x180491720
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r13, rdx
mov r11, rcx
mov rbp, r13
add rbp, 0x41
cmp byte [rbp], 0
sete cl
mov eax, dword [0x1807a8758]
xor edx, edx
div dword [0x1807a875c]
mov r8d, 0xf26954e
xor edx, edx
div r8d
xor eax, 0x1a162716
mov r8d, 0x72d59181
xor edx, edx
div r8d
cmp eax, 0xa97fa7c1
je 0x180492142
mov eax, dword [0x1807a8760]
xor edx, edx
div dword [0x1807a8764]
and eax, 0xd4d51b24
xor eax, 0x20f3695c
and eax, 0x3e4e5bd9
cmp eax, 0x4ba94f97
je 0x180492142
test cl, 1
jne 0x1804917aa
jmp 0x180491f4d
mov eax, dword [0x1807a8768]
imul eax, dword [0x1807a876c]
or eax, 0x72d301f3
add eax, 0xa3d531da
and eax, 0xa0e0f3
cmp eax, 0x3554e60c
je 0x180492153
jmp 0x1804917d3
mov eax, dword [0x1807a8770]
imul eax, dword [0x1807a8774]
mov ecx, 0xa3313369
xor edx, edx
div ecx
xor eax, 0x5c0797ab
imul ecx, eax, 0x9fc6e7fe
mov rdi, qword [r13 + 0x10]
mov rsi, qword [r13 + 0x18]
mov rbx, r13
add rbx, 0x20
mov rax, r13
add rax, 0x28
mov r15, qword [r13 + 0x20]
cmp ecx, 0x52186ec1
jbe 0x1804917d3
jmp 0x180491818
mov r14, qword [rax]
cmp r14, r15
setb al
cmp r14, rsi
seta cl
or al, cl
test al, 1
jne 0x180491e59
mov r12, r13
add r12, 0x30
mov al, byte [r13 + 0x38]
movzx r10d, al
cmp al, 4
seta al
mov cl, byte [r12 + r10 - 1]
test al, 1
mov byte [rsp + 0x2f], cl
jne 0x18049185e
jmp 0x180491854
mov qword [rsp + 0x30], r10
jmp 0x180491adb
jmp 0x180491860
mov eax, dword [0x1807a8778]
xor eax, dword [0x1807a877c]
xor eax, 0x3052162
xor eax, 0xf824fd06
add eax, 0xcd7b00fe
cmp eax, 0x2fc8d068
je 0x180492160
jmp 0x180491888
mov eax, dword [0x1807a8780]
or eax, dword [0x1807a8784]
mov ecx, 0xe8a1fd3
xor edx, edx
div ecx
and eax, 0x5d18802a
add eax, 0xde946744
mov r8, r14
sub r8, r15
mov r9, rdi
add r9, r15
cmp r8, 0x10
setb cl
cmp eax, 0x1c03c16b
je 0x180491888
test cl, 1
jne 0x1804918ff
jmp 0x1804918c8
mov qword [rsp + 0x30], r10
mov r12, r11
mov cl, byte [rsp + 0x2f]
mov rdx, r9
call fcn.180688b70
mov r8, rax
mov rcx, rdx
cmp r8, 1
sete al
mov r11, r12
mov r10, qword [rsp + 0x30]
test al, 1
jne 0x1804918fa
jmp 0x180491e43
jmp 0x1804919f0
cmp r14, r15
sete al
test al, 1
jne 0x180491de1
jmp 0x18049190f
xor ecx, ecx
jmp 0x180491913
mov al, byte [rsp + 0x2f]
cmp byte [r9 + rcx], al
je 0x1804919ee
mov r12, r10
mov eax, dword [0x1807a8788]
sub eax, dword [0x1807a878c]
sub eax, 0x42472bb7
xor eax, 0xfb394ec8
add eax, 0x4a9edf7
cmp eax, 0x11cb31c6
jb 0x18049216d
jmp 0x18049194c
mov eax, dword [0x1807a8790]
sub eax, dword [0x1807a8794]
mov r10d, 0x3dd12a04
xor edx, edx
div r10d
sub eax, 0xd1397f6b
mov r10d, 0xd4b84df7
xor edx, edx
div r10d
mov rdx, rcx
add rdx, 1
cmp eax, 0x8f29771e
je 0x18049194c
jmp 0x180491983
mov eax, dword [0x1807a8798]
and eax, dword [0x1807a879c]
imul eax, eax, 0x3b72843a
and eax, 0xe22c4231
sub eax, 0x3be4b4d2
cmp eax, 0xe068fed5
jae 0x18049217e
mov r10, r12
jmp 0x1804919af
mov ecx, dword [0x1807a87a0]
imul ecx, dword [0x1807a87a4]
add ecx, 0xb301298e
or ecx, 0xe99994b9
and ecx, 0x2909f6e5
cmp rdx, r8
sete al
cmp ecx, 0x17eb6b93
jbe 0x1804919af
jmp 0x1804919de
test al, 1
mov rcx, rdx
jne 0x180491ddf
jmp 0x180491913
jmp 0x1804919f0
mov eax, dword [0x1807a87a8]
add eax, dword [0x1807a87ac]
mov r8d, 0x1f70a0b7
xor edx, edx
div r8d
imul eax, eax, 0x58b037ef
imul eax, eax, 0x1342a9df
cmp eax, 0x72deca11
jbe 0x18049218b
jmp 0x180491a20
mov eax, dword [0x1807a87b0]
xor edx, edx
div dword [0x1807a87b4]
and eax, 0xf2a4cbfd
imul edx, eax, 0x26fec8bf
add edx, 0x5a143976
mov r8, r15
add r8, 1
add r8, rcx
mov qword [rbx], r8
cmp r8, r10
setb al
cmp r8, rsi
seta r9b
or al, r9b
cmp edx, 0x170f1855
jbe 0x180491a20
test al, 1
jne 0x180491a6d
jmp 0x180491d89
cmp r14, r8
setb cl
mov eax, dword [0x1807a87b8]
xor edx, edx
div dword [0x1807a87bc]
xor eax, 0x254c741e
xor eax, 0x8a654d3c
imul eax, eax, 0x9ff4b586
cmp eax, 0x4b1c34a9
je 0x1804921a5
mov eax, dword [0x1807a87c0]
xor edx, edx
div dword [0x1807a87c4]
mov r9d, 0x53083463
xor edx, edx
div r9d
and eax, 0xa6beb584
add eax, 0x449c389b
cmp eax, 0x7464f99
je 0x1804921a5
test cl, 1
mov r15, r8
jne 0x180491e55
jmp 0x180491860
mov r8, r14
sub r8, r15
mov r9, rdi
add r9, r15
cmp r8, 0x10
jae 0x180491c3f
mov eax, dword [0x1807a87c8]
imul eax, dword [0x1807a87cc]
sub eax, 0xc2503bbf
xor eax, 0x51358790
xor eax, 0xec973f82
cmp eax, 0x7e0a5c51
je 0x1804921b6
jmp 0x180491b1a
mov eax, dword [0x1807a87d0]
imul eax, dword [0x1807a87d4]
or eax, 0xf9faafbf
imul ecx, eax, 0xfe50a4ad
sub ecx, 0x6fba1764
cmp r14, r15
sete al
cmp ecx, 0xb58c05ac
ja 0x180491b1a
jmp 0x180491b48
test al, 1
jne 0x180491de5
jmp 0x180491b52
xor ecx, ecx
mov qword [rsp + 0x38], r12
jmp 0x180491b5b
mov eax, dword [0x1807a87d8]
or eax, dword [0x1807a87dc]
imul eax, eax, 0xabc07c9d
imul eax, eax, 0x3d587174
sub eax, 0xfab3776a
cmp eax, 0xca0fa5da
je 0x1804921c3
mov r12b, byte [rsp + 0x2f]
jmp 0x180491b8a
mov eax, dword [0x1807a87e0]
xor edx, edx
div dword [0x1807a87e4]
mov r10d, 0x8431d0f1
xor edx, edx
div r10d
mov r10d, 0x3087592
xor edx, edx
div r10d
sub eax, 0x8c86e559
cmp byte [r9 + rcx], r12b
sete dl
cmp eax, 0x2a77436b
jbe 0x180491b8a
test dl, 1
jne 0x180491cca
jmp 0x180491bcc
add rcx, 1
mov eax, dword [0x1807a87e8]
sub eax, dword [0x1807a87ec]
mov r10d, 0x21035cee
xor edx, edx
div r10d
sub eax, 0x41bdafa3
add eax, 0x515b92c9
cmp eax, 0x8adac366
je 0x1804921d4
mov eax, dword [0x1807a87f0]
imul eax, dword [0x1807a87f4]
mov r10d, 0x141f772a
xor edx, edx
div r10d
xor eax, 0xb07b2285
add eax, 0x1877bc2b
cmp rcx, r8
sete dl
cmp eax, 0xbead0ebf
je 0x1804921d4
jmp 0x180491c31
test dl, 1
jne 0x180491de3
jmp 0x180491b5b
mov qword [rsp + 0x38], r12
mov r12, r11
mov rdx, r9
call fcn.180688b70
mov r8, rax
mov rcx, rdx
cmp r8, 1
sete r9b
mov eax, dword [0x1807a87f8]
or eax, dword [0x1807a87fc]
mov r10d, 0x3a71e101
xor edx, edx
div r10d
imul eax, eax, 0xa7df3226
xor eax, 0x559ca028
cmp eax, 0x50539ad0
mov r11, r12
je 0x1804921e1
jmp 0x180491c8f
mov eax, dword [0x1807a8800]
imul eax, dword [0x1807a8804]
xor eax, 0xe737deb0
or eax, 0x2a2cbdf4
mov r10d, 0xf47c973b
xor edx, edx
div r10d
cmp eax, 0x59a87696
jae 0x180491c8f
test r9b, 1
jne 0x180491cc3
jmp 0x180491e45
mov r10, qword [rsp + 0x30]
jmp 0x180491cd1
mov r10, qword [rsp + 0x30]
jmp 0x180491cd1
add r15, 1
add r15, rcx
mov qword [rbx], r15
cmp r15, r10
setb al
cmp r15, rsi
seta cl
or al, cl
test al, 1
jne 0x180491cef
jmp 0x180491d0b
cmp r14, r15
setb al
test al, 1
mov cl, byte [rsp + 0x2f]
mov r12, qword [rsp + 0x38]
jne 0x180491e57
jmp 0x180491adb
mov eax, dword [0x1807a8808]
and eax, dword [0x1807a880c]
sub eax, 0x23653ca6
or eax, 0x2b34dab5
xor eax, 0x6ae053fe
cmp eax, 0xc0e86e4b
ja 0x1804921f2
jmp 0x180491d33
mov eax, dword [0x1807a8810]
imul eax, dword [0x1807a8814]
sub eax, 0x45827b62
or eax, 0x1b48421e
xor eax, 0x113205c
mov r12, r15
sub r12, r10
mov rcx, rdi
add rcx, r12
cmp eax, 0x3bc8d821
jbe 0x180491d33
mov qword [rsp + 0x40], r11
jmp 0x180491d69
mov rdx, qword [rsp + 0x38]
mov r8, r10
call fcn.1806a7e40
cmp eax, 0
mov r11, qword [rsp + 0x40]
je 0x180491f3e
jmp 0x180491cef
ud2
jmp 0x180491de7
jmp 0x180491de7
jmp 0x180491de7
jmp 0x180491de7
mov eax, dword [0x1807a8828]
add eax, dword [0x1807a882c]
or eax, 0x7e01d1e7
add eax, 0x89f02ef
mov ecx, 0xb0c0b784
xor edx, edx
div ecx
cmp eax, 0xb86181f5
ja 0x180492210
mov eax, dword [0x1807a8830]
and eax, dword [0x1807a8834]
and eax, 0xcbb7024f
imul eax, eax, 0xa30d3a61
mov ecx, 0x943fb151
xor edx, edx
div ecx
mov qword [rbx], r14
cmp eax, 0x2c47bd62
jae 0x180492210
jmp 0x180491e41
jmp 0x180491e59
jmp 0x180491e47
jmp 0x180491e47
mov qword [rbx], r14
cmp r8, 0
je 0x180491e59
jmp 0x180491f40
jmp 0x180491e59
jmp 0x180491e59
mov byte [rbp], 1
cmp byte [r13 + 0x40], 0
sete dl
mov rcx, qword [r13]
add r13, 8
mov rax, qword [r13]
mov r8, rax
sub r8, rcx
sete r8b
and dl, r8b
test dl, 1
jne 0x180491f4d
mov edx, dword [0x1807a8838]
xor edx, dword [0x1807a883c]
xor edx, 0xa963e142
imul edx, edx, 0x518f482a
sub edx, 0x31cd49fd
cmp edx, 0x4b1ee7f7
jb 0x180492220
jmp 0x180491eb3
mov edx, dword [0x1807a8840]
imul edx, dword [0x1807a8844]
sub edx, 0x136661ea
and edx, 0xbf1838f0
and edx, 0xee4071f7
mov r12, rax
sub r12, rcx
cmp edx, 0x3469a102
jae 0x180491eb3
jmp 0x180491ee2
mov eax, dword [0x1807a8848]
sub eax, dword [0x1807a884c]
sub eax, 0xbe87b61d
add eax, 0xb392e62f
mov r8d, 0x4697ebc9
xor edx, edx
div r8d
cmp eax, 0x35a94c47
je 0x18049222d
mov eax, dword [0x1807a8850]
imul eax, dword [0x1807a8854]
sub eax, 0xbdaf8498
mov r8d, 0xa1d8aec
xor edx, edx
div r8d
imul eax, eax, 0x31ef9c77
cmp eax, 0x7fe139e5
je 0x18049222d
jmp 0x180491f5f
jmp 0x180491f40
mov rcx, qword [r13]
sub r12, rcx
mov qword [r13], r15
jmp 0x180491f5f
movabs rax, 0x8000000000000000
mov qword [r11], rax
jmp 0x1804920dd
add rdi, rcx
xor r14d, r14d
cmp r12, 0
jl 0x18049200b
cmp r12, 0
sete al
mov ebx, 1
test al, 1
jne 0x18049206f
jmp 0x180491f85
mov eax, dword [0x1807a8858]
xor eax, dword [0x1807a885c]
xor eax, 0x23ea1260
imul eax, eax, 0xf4a5e1a6
mov ecx, 0x73bbd1ad
xor edx, edx
div ecx
cmp eax, 0x42580c8e
ja 0x18049223a
jmp 0x180491fb2
mov eax, dword [0x1807a8860]
sub eax, dword [0x1807a8864]
sub eax, 0x93ec9a1f
and eax, 0x7c201485
mov ecx, 0x28633752
xor edx, edx
div ecx
mov cl, byte [0x1807afe04]
cmp eax, 0xac2dcbb
jae 0x180491fb2
mov rsi, r11
jmp 0x180491fe3
mov rcx, r12
mov edx, 1
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
sete al
mov r14d, 1
test al, 1
mov r11, rsi
jne 0x18049200b
jmp 0x180492009
jmp 0x18049206f
mov eax, dword [0x1807a8868]
or eax, dword [0x1807a886c]
xor eax, 0x2d8df9dc
mov ecx, 0x7781a21f
xor edx, edx
div ecx
add eax, 0x7c456453
cmp eax, 0x5cc734d8
je 0x18049224d
mov eax, dword [0x1807a8870]
and eax, dword [0x1807a8874]
mov ecx, 0xa78fa28b
xor edx, edx
div ecx
imul esi, eax, 0x11148341
add esi, 0xb2aab337
mov rcx, r14
mov rdx, r12
call fcn.18063bc30
cmp esi, 0xe8cef76b
jae 0x18049224d
ud2
mov eax, dword [0x1807a8878]
sub eax, dword [0x1807a887c]
xor eax, 0x77d9e0f
or eax, 0x313b53f4
imul eax, eax, 0x90a39a9c
cmp eax, 0x6b292f64
ja 0x180492269
jmp 0x180492098
mov eax, dword [0x1807a8880]
sub eax, dword [0x1807a8884]
or eax, 0x29b0b7bb
sub eax, 0x11a2ca7e
imul esi, eax, 0x4d84f71d
mov rcx, rbx
mov rdx, rdi
mov r8, r12
mov r14, r11
call fcn.1806a7400
mov r11, r14
mov qword [r11], r12
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], r12
cmp esi, 0xbfb21923
je 0x180492098
jmp 0x1804920dd
mov eax, dword [0x1807a8888]
xor edx, edx
div dword [0x1807a888c]
xor eax, 0xe8ac8f35
sub eax, 0xa091b833
imul eax, eax, 0x987b1ca4
cmp eax, 0x718e3bb7
jae 0x180492295
jmp 0x180492108
mov eax, dword [0x1807a8890]
xor edx, edx
div dword [0x1807a8894]
mov ecx, 0x2897ee35
xor edx, edx
div ecx
imul eax, eax, 0xb3b6090a
or eax, 0x5bc90a96
cmp eax, 0x8eb89fee
jae 0x180492108
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
or al, 0xaa
std
xchg ebp, eax
cmc
mov ebx, dword [rbp + rsi*4 + 0xf]
add al, 0xc5
mov bl, 0xe9
and eax, 0xc8fffff6
cmp edx, dword [rax + rdi - 0x996e297]
jmp 0x1804917d1
enter 0xffffffffffff943b, 0x38
imul ebx, dword [0x1f23317ca], 0x50fffff6
push rax
mov edi, 0x4a044cf9
and eax, 0xfff719e9
dec ebx
or al, 0xf4
jae 0x1804921db
retf
invalid
rol byte [rax - 0x43], 0x36
call 0x169a0d84d
invalid
iretd
int1
fstp xword [rsi]
outsb dx, byte [rsi]
mov edi, 0x8253bfff
jmp 0x1673227bb
adc eax, 0x13c7d5f6
fisubr word [rbp - 0x6aa17]
invalid
invalid
xchg esp, eax
push rsp
mov ebx, 0xba03eebf
jmp 0x180491bfc
mov edx, 0xfffa1be9
jmp [rax - 0x34]
push 0x69309cc
mov ch, 0x16
fabs
invalid
retf
xchg ecx, eax
xchg r9, rax
pop rbx
add ebp, ecx
jmp 0x180491d31
sti
invalid
jge 0x1804921ff
sub byte [rdi + 0x4c1aec2a], dl
mov dword [rbx], esi
jmp 0x180491e11
push rdx
imul rdi, qword [r14 + 0x7402f0bf], 0xffffffffffffffe9
test ah, bh
invalid
test byte [rdx + 0x47], bh
invalid
xor byte [0x1ca944c6f], bh
sub eax, edx
mov al, byte [0x1807afe04]
jmp 0x180491fb0
jo 0x1804921f7
test dword [rcx + 0x529d0e63], 0x6698f640
mov rcx, r14
mov rdx, r12
call fcn.18063bc30
jmp 0x180492035
mov bl, 0xaf
xor rax, 0x48fe1e21
mov ecx, ebx
mov rdx, rdi
mov r8, r12
mov rsi, r11
call fcn.1806a7400
mov r11, rsi
mov qword [r11], r12
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], r12
jmp 0x180492096
retf 0x8961