Function at 0x18042f4d0
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 r12, r8
mov rbx, rdx
mov rsi, rcx
mov rcx, rbx
add rcx, 0x60
call fcn.18064bef0
mov r13, rsi
add r13, 8
mov rax, qword [rsi + 8]
cmp rax, 0
je 0x18042f5bb
mov eax, dword [0x18079dd70]
add eax, dword [0x18079dd74]
xor eax, 0x5a40d97f
sub eax, 0xdfbd0c13
and eax, 0x59f27483
cmp eax, 0x46706397
jbe 0x18042ff94
jmp 0x18042f532
mov eax, dword [0x18079dd78]
add eax, dword [0x18079dd7c]
add eax, 0xcd997ef6
imul esi, eax, 0xeb119f2a
add esi, 0x6bb7fa95
lea rcx, [0x1806c7108]
call fcn.18063bc30
cmp esi, 0xca824f1e
ja 0x18042f532
jmp 0x18042f565
mov eax, dword [0x18079dd80]
imul eax, dword [0x18079dd84]
mov ecx, 0xd5c9f339
xor edx, edx
div ecx
add eax, 0xb9a61cb6
and eax, 0x7296e6d0
cmp eax, 0xd232352a
ja 0x18042ffb1
jmp 0x18042f592
mov eax, dword [0x18079dd88]
add eax, dword [0x18079dd8c]
imul eax, eax, 0x781dad74
mov ecx, 0x70205f3
xor edx, edx
div ecx
sub eax, 0x56c8177f
cmp eax, 0xd00630b0
ja 0x18042f592
ud2
mov qword [r13], 0xffffffffffffffff
add rsi, 0x10
mov r14, qword [rsi]
xor eax, eax
cmp r14, 0
je 0x18042fba4
mov r10, r14
add r10, 0x40
mov rdi, qword [r14 + 0x58]
cmp rdi, 0
je 0x18042f85f
mov rcx, qword [r10]
mov rax, qword [r14 + 0x50]
xor edx, edx
cmp rax, rcx
mov r8, rcx
cmovb r8, rdx
sub rax, r8
mov r8, rcx
sub r8, rax
cmp r8, rdi
setb r11b
mov rdx, rax
add rdx, rdi
xor r9d, r9d
sub rdi, r8
cmovb rdi, r9
test r11b, 1
cmovne rdx, rcx
mov r8, qword [r14 + 0x48]
mov rcx, rax
shl rcx, 3
mov qword [rsp + 0x50], r8
mov rbp, r8
add rbp, rcx
mov rcx, rdx
sub rcx, rax
mov qword [rsp + 0x40], rcx
cmp rdx, rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r10
je 0x18042f761
mov byte [rsp + 0x2d], r11b
xor r12d, r12d
jmp 0x18042f664
mov rax, r12
add r12, 1
mov r15, qword [rbp + rax*8]
mov rcx, r15
call fcn.18063b3a0
test al, 1
jne 0x18042f681
jmp 0x18042f73f
mov qword [rsp + 0x48], rbp
mov eax, dword [0x18079dd90]
xor edx, edx
div dword [0x18079dd94]
or eax, 0x73eef061
add eax, 0x2c59a4aa
sub eax, 0x82373723
cmp eax, 0xb05a5bed
je 0x18042ffbe
jmp 0x18042f6b0
mov eax, dword [0x18079dd98]
and eax, dword [0x18079dd9c]
mov ecx, 0xd3a1d7e7
xor edx, edx
div ecx
and eax, 0xce8b3a85
mov ecx, 0x96ab14c
xor edx, edx
div ecx
mov ebp, eax
mov rcx, r15
call fcn.18063bbc0
cmp ebp, 0x62ea1053
ja 0x18042f6b0
jmp 0x18042f6e7
mov eax, dword [0x18079dda0]
add eax, dword [0x18079dda4]
add eax, 0x9d61ae15
sub eax, 0xef2c51da
mov ecx, 0xe3098737
xor edx, edx
div ecx
cmp eax, 0xf7ad08a1
mov rbp, qword [rsp + 0x48]
ja 0x18042ffd7
mov eax, dword [0x18079dda8]
and eax, dword [0x18079ddac]
imul eax, eax, 0xba8e7f1a
xor eax, 0x6324e1e3
and eax, 0x8a895120
cmp eax, 0x53baa2b9
je 0x18042ffd7
jmp 0x18042f73f
cmp r12, qword [rsp + 0x40]
sete al
test al, 1
jne 0x18042f750
jmp 0x18042f664
mov r12, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov r11b, byte [rsp + 0x2d]
jmp 0x18042f761
mov eax, dword [0x18079ddb0]
or eax, dword [0x18079ddb4]
add eax, 0xe1cec61e
mov ecx, 0x8c5fbc1c
xor edx, edx
div ecx
add eax, 0x374f78cb
cmp eax, 0x219fb7b2
je 0x18042ffe4
jmp 0x18042f78d
mov eax, dword [0x18079ddb8]
add eax, dword [0x18079ddbc]
sub eax, 0xac810905
sub eax, 0xf8c2bef9
and eax, 0xeb4cc4b5
cmp eax, 0xc4577678
je 0x18042f78d
test r11b, 1
jne 0x18042f7ba
jmp 0x18042f85f
xor r12d, r12d
jmp 0x18042f7bf
mov rax, r12
add r12, 1
mov rcx, qword [rsp + 0x50]
mov r15, qword [rcx + rax*8]
mov rcx, r15
call fcn.18063b3a0
test al, 1
jne 0x18042f7dd
jmp 0x18042f844
mov eax, dword [0x18079ddc0]
xor edx, edx
div dword [0x18079ddc4]
and eax, 0xe04ad0e7
mov ecx, 0xfd2ac37d
xor edx, edx
div ecx
mov ecx, 0xcb77c340
xor edx, edx
div ecx
cmp eax, 0xb3703db5
jae 0x18042fff5
mov ebp, dword [0x18079ddc8]
imul ebp, dword [0x18079ddcc]
or ebp, 0x2909d652
and ebp, 0xef1efd0a
sub ebp, 0x403d6080
mov rcx, r15
call fcn.18063bbc0
cmp ebp, 0xde47e1f2
jae 0x18042fff5
jmp 0x18042f842
jmp 0x18042f844
cmp r12, rdi
sete al
test al, 1
jne 0x18042f853
jmp 0x18042f7bf
mov r12, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
jmp 0x18042f85f
mov r8, qword [r10]
cmp r8, 0
je 0x18042f8d2
mov eax, dword [0x18079ddd0]
sub eax, dword [0x18079ddd4]
imul eax, eax, 0x51ebcff4
sub eax, 0xa8ba651e
imul eax, eax, 0x9525d2ee
cmp eax, 0xa96e01b8
ja 0x18043000a
jmp 0x18042f892
mov eax, dword [0x18079ddd8]
sub eax, dword [0x18079dddc]
mov ecx, 0x7f124148
xor edx, edx
div ecx
sub eax, 0xff36475
and eax, 0x7b089e56
mov rcx, qword [r14 + 0x48]
mov rdx, r8
shl rdx, 3
cmp eax, 0x264e9629
je 0x18042f892
jmp 0x18042f8c5
mov r8d, 8
call fcn.1804cafa0
jmp 0x18042f8d2
mov eax, dword [0x18079dde0]
or eax, dword [0x18079dde4]
and eax, 0x9dc44309
add eax, 0x5ff9bff1
mov ecx, 0x53faa85
xor edx, edx
div ecx
cmp eax, 0xfc54f8c6
je 0x18043001b
mov eax, dword [0x18079dde8]
sub eax, dword [0x18079ddec]
imul eax, eax, 0x9dab7bac
imul ecx, eax, 0x488e8cd1
add ecx, 0x241a68d3
mov rax, qword [r14]
cmp ecx, 0x645a8504
jae 0x18043001b
jmp 0x18042f92b
mov ecx, dword [0x18079ddf0]
sub ecx, dword [0x18079ddf4]
or ecx, 0x2976cd62
sub ecx, 0xf4045eb2
or ecx, 0xff946734
cmp ecx, 0x53e1522b
jbe 0x180430028
mov ecx, dword [0x18079ddf8]
add ecx, dword [0x18079ddfc]
or ecx, 0x63d2c238
and ecx, 0xcf100ff
imul edx, ecx, 0x92fe56ce
cmp rax, 2
sete cl
cmp edx, 0x1bea9840
jbe 0x180430028
jmp 0x18042f988
test cl, 1
jne 0x18042f9ec
jmp 0x18042f98f
mov eax, dword [0x18079de00]
xor edx, edx
div dword [0x18079de04]
sub eax, 0xfa33f95
xor eax, 0x2be0dd30
xor eax, 0x8aed903e
cmp eax, 0x16eafa9b
je 0x180430035
mov eax, dword [0x18079de08]
and eax, dword [0x18079de0c]
xor eax, 0xf3103bb8
imul eax, eax, 0x1371b5d6
imul edi, eax, 0xdacf638d
mov rcx, r14
call fcn.180427330
cmp edi, 0x38c73f00
jbe 0x180430035
jmp 0x18042f9ea
jmp 0x18042f9ec
mov eax, dword [0x18079de10]
imul eax, dword [0x18079de14]
or eax, 0xe950aa09
imul eax, eax, 0x596152dd
mov ecx, 0xdc460a12
xor edx, edx
div ecx
cmp eax, 0x80703983
ja 0x18043004e
mov eax, dword [0x18079de18]
and eax, dword [0x18079de1c]
sub eax, 0x21f21333
imul eax, eax, 0x7b349873
mov ecx, 0x5c4f426d
xor edx, edx
div ecx
mov rcx, r14
add rcx, 0x60
cmp eax, 0x30630126
jae 0x18043004e
jmp 0x18042fa4c
cmp dword [r14 + 0x88], 0x3b9aca00
je 0x18042fb38
mov r8, r14
add r8, 0x68
mov eax, dword [0x18079de20]
xor eax, dword [0x18079de24]
or eax, 0xcef389ea
imul eax, eax, 0x2932d51f
sub eax, 0x43826036
cmp eax, 0x124d2599
jb 0x18043005b
jmp 0x18042fa8d
mov eax, dword [0x18079de28]
and eax, dword [0x18079de2c]
mov r9d, 0x29c9f990
xor edx, edx
div r9d
or eax, 0x88d5e199
add eax, 0xf368725f
mov r15, qword [r8]
cmp eax, 0xf8aa5f24
je 0x18042fa8d
jmp 0x18042faba
cmp r15, 0
je 0x18042fb38
mov rdi, r12
mov r12, qword [rcx]
shl r15, 3
mov eax, dword [0x18079de30]
xor edx, edx
div dword [0x18079de34]
sub eax, 0x4bfc14d0
add eax, 0x36c69a9e
add eax, 0x4d00b333
cmp eax, 0x71e95c2b
jae 0x18043006c
mov eax, dword [0x18079de38]
xor edx, edx
div dword [0x18079de3c]
mov ebp, eax
sub ebp, 0x5c4c27e0
sub ebp, 0xe9155bd
or ebp, 0xbde28390
mov rcx, r12
mov rdx, r15
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x117cb642
jbe 0x18043006c
jmp 0x18042fb33
mov r12, rdi
jmp 0x18042fb38
mov rcx, r14
mov edx, 0x100
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18079de40]
imul eax, dword [0x18079de44]
sub eax, 0x403a0e4c
add eax, 0xc95070c3
xor eax, 0x6339cf98
cmp eax, 0xe48aa1d
jb 0x18043008a
jmp 0x18042fb74
mov ecx, dword [0x18079de48]
sub ecx, dword [0x18079de4c]
sub ecx, 0xc9da3a84
sub ecx, 0x1f88e5e3
xor ecx, 0xb444c6a5
mov rax, qword [r13]
cmp ecx, 0x16ec095a
je 0x18042fb74
jmp 0x18042fba0
add rax, 1
mov qword [rsi], rbx
mov qword [r13], rax
call fcn.180645b70
mov rbx, rax
mov rdi, rbx
add rdi, 0x50
movzx eax, byte [rbx + 0x50]
test rax, rax
mov bpl, 2
je 0x18042fc39
jmp 0x18042fbc8
mov rcx, rax
sub rcx, 1
je 0x18042fcf7
jmp 0x18042fbd7
sub rax, 2
je 0x18042fd66
jmp 0x18042fbe3
mov eax, dword [0x18079de50]
or eax, dword [0x18079de54]
sub eax, 0x108d2593
sub eax, 0x60ab6040
mov ecx, 0x9ba0b60f
xor edx, edx
div ecx
cmp eax, 0x8353044b
je 0x180430097
mov eax, dword [0x18079de58]
or eax, dword [0x18079de5c]
or eax, 0xcb855d7f
mov ecx, 0x92e5e228
xor edx, edx
div ecx
sub eax, 0xefb8cfa9
cmp eax, 0x869ce97
je 0x180430097
ud2
mov eax, dword [0x18079de60]
add eax, dword [0x18079de64]
and eax, 0xd953f80
mov ecx, 0xeb5d135a
xor edx, edx
div ecx
add eax, 0x1d25d9
cmp eax, 0x2c4f02f3
je 0x1804300a4
jmp 0x18042fc65
mov eax, dword [0x18079de68]
xor edx, edx
div dword [0x18079de6c]
mov ebp, eax
sub ebp, 0xfb634422
and ebp, 0x3b062e80
sub ebp, 0xb5b4606d
lea rdx, [0x180477810]
mov rcx, rbx
call fcn.180666c30
cmp ebp, 0x62343772
jae 0x18042fc65
jmp 0x18042fca0
mov eax, dword [0x18079de70]
xor edx, edx
div dword [0x18079de74]
imul eax, eax, 0xc9ad8c86
sub eax, 0x2df24879
or eax, 0x3aa59ae9
cmp eax, 0x7fb0a331
je 0x1804300c0
jmp 0x18042fccb
mov eax, dword [0x18079de78]
imul eax, dword [0x18079de7c]
imul eax, eax, 0x697630cd
imul eax, eax, 0xd15a3b11
xor eax, 0xb212e91f
mov byte [rdi], 1
cmp eax, 0x30f54cf
je 0x18042fccb
jmp 0x18042fcf5
jmp 0x18042fcf7
mov rcx, rbx
add rcx, 0x4c
mov bpl, byte [rbx + 0x4c]
add rbx, 0x4d
mov eax, dword [0x18079de80]
imul eax, dword [0x18079de84]
or eax, 0x63f5454e
and eax, 0xd5b0c087
imul eax, eax, 0x13a4205a
cmp eax, 0xeb55a206
ja 0x1804300d4
mov eax, dword [0x18079de88]
xor eax, dword [0x18079de8c]
mov r8d, 0xccfba71
xor edx, edx
div r8d
and eax, 0x52ce6b55
and eax, 0x46931ea5
mov dl, byte [rbx]
mov byte [rcx], 1
mov byte [rbx], 0x80
cmp eax, 0xb87e6c14
ja 0x1804300d4
jmp 0x18042fd64
jmp 0x18042fd66
mov byte [rsp + 0x2e], bpl
mov byte [rsp + 0x2f], dl
mov rcx, r12
call fcn.18063bbb0
cmp bpl, 2
je 0x18042fd89
lea rcx, [rsp + 0x2e]
call fcn.180640670
jmp 0x18042fd89
mov rax, qword [r13]
mov ecx, dword [0x18079de90]
imul ecx, dword [0x18079de94]
and ecx, 0x97a7bb83
sub ecx, 0xf6b46376
and ecx, 0x9ff0aff0
cmp ecx, 0x413e7a67
ja 0x1804300eb
jmp 0x18042fdba
mov edx, dword [0x18079de98]
or edx, dword [0x18079de9c]
and edx, 0xba8b220d
xor edx, 0x501fb91
sub edx, 0xba6c21fd
cmp rax, 0
sete cl
cmp edx, 0xb6ce8b4c
jae 0x18042fdba
jmp 0x18042fde9
test cl, 1
jne 0x18042fdfe
jmp 0x18042fdf0
lea rcx, [0x1806c7120]
call fcn.18063bc30
ud2
mov eax, dword [0x18079dea0]
add eax, dword [0x18079dea4]
imul eax, eax, 0x7d0097f1
mov ecx, 0xb2cba6c1
xor edx, edx
div ecx
or eax, 0x402750c9
cmp eax, 0xd471c926
jae 0x1804300fc
mov eax, dword [0x18079dea8]
sub eax, dword [0x18079deac]
xor eax, 0xca3bc9f9
and eax, 0xa72cb567
mov ecx, 0x6cd67550
xor edx, edx
div ecx
mov qword [r13], 0xffffffffffffffff
mov rdi, qword [rsi]
cmp eax, 0x3f9a57d
jae 0x1804300fc
jmp 0x18042fe60
mov eax, dword [0x18079deb0]
and eax, dword [0x18079deb4]
sub eax, 0x31f7fd0a
and eax, 0xd508f7cd
mov ecx, 0x4638451
xor edx, edx
div ecx
cmp eax, 0x2987e3d5
ja 0x180430115
mov eax, dword [0x18079deb8]
or eax, dword [0x18079debc]
add eax, 0xb2f032c1
imul eax, eax, 0xf24c8e34
and eax, 0xb71ce9a6
mov qword [rsi], 0
cmp eax, 0x1c5be8e5
je 0x180430115
jmp 0x18042feba
cmp rdi, 0
jne 0x18042ff6c
mov eax, dword [0x18079dec0]
xor eax, dword [0x18079dec4]
and eax, 0xebad793f
mov ecx, 0x6fa1c728
xor edx, edx
div ecx
sub eax, 0xb743b0b3
cmp eax, 0x5b17d9b4
je 0x180430129
mov eax, dword [0x18079dec8]
xor edx, edx
div dword [0x18079decc]
xor eax, 0x9efaea04
and eax, 0x3fa3093d
imul eax, eax, 0x81c494dd
ud2
mov qword [r13], 0
mov rcx, rdi
add rcx, 0x60
call fcn.18064bf20
mov rax, rdi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
jmp [rbx + rbx*2]
sub al, 0x5b
invalid
or dword [rax + rbx*2 + 0xb], 0x76
xor eax, 0xbd14f3d7
or esi, dword [rsi + 0x35]
xlatb
adc al, 0xbd
invalid
jne 0x18042ffc1
lodsb al, byte [rsi]
jne 0x18042ffb0
and ebx, dword [rcx - 0x75]
jmp 0x18042f716
int3
push rdi
mov bh, 0xfe
pop rdx
invalid
mov ecx, edi
call fcn.18063bbc0
jmp 0x18042f80d
fldenv [rdx - 7]
retf
sub dword [rcx - 0x7d], esi
invalid
mov ebp, 0xfc176ed3
invalid
test dword [rdi + 0x78], edx
fidiv word [rdi - 0x61]
sbb al, 0x57
cmc
sahf
jb 0x18043008e
mov ecx, esi
call fcn.180427330
jmp 0x18042f9b7
mov esp, 0xbfbb0ce9
mov al, 0x57
jmp 0x18042fa18
mov es, word [rbp - 0x1aa91566]
jo 0x1804300d2
or esi, dword [rsi + rbp*4 - 0x5e016c0]
invalid
loop 0x18042fffe
int1
mov eax, 0xb0634c10
mov rcx, r12
mov rdx, r15
mov r8d, 8
call fcn.1804cafa0
jmp 0x18042faf2
push rbx
invalid
invalid
invalid
invalid
invalid
invalid
sub dword [rcx], 0x49
or al, 0x25
test eax, 0x8294767a
div dword [rsi + rax*8]
add dword [rcx], eax
mov byte [rbx], 0x80
jmp 0x18042fd2e
mov eax, 0x87c88dfb
in al, 0xec
sar dword [0x16a3ee03d], 0xbc
cld
invalid
ror ch, cl
fsub st(2), st(0)
push rdi
in al, dx
mov dr5, rsi
movabs al, byte [0xffff0045c74962ff]
invalid
push rsi
invalid
invalid