Function at 0x1803f3680
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov r15, r14
add r15, 0x28
mov eax, dword [0x1807976b8]
imul eax, dword [0x1807976bc]
or eax, 0xddfb8c5d
sub eax, 0x20eb4b2a
xor eax, 0x5b3cc5e2
cmp eax, 0x1d9665c
jbe 0x1803f3da8
mov ebp, dword [0x1807976c0]
sub ebp, dword [0x1807976c4]
xor ebp, 0xe7e65c3a
and ebp, 0x9713c8ee
sub ebp, 0xd101a26f
mov rcx, r15
mov rdx, rbx
call fcn.18041e640
mov rdi, rax
cmp ebp, 0x5f03e6a7
je 0x1803f3da8
jmp 0x1803f3704
cmp rdi, 0
je 0x1803f395b
mov r8, qword [rdi]
mov eax, dword [0x1807976c8]
or eax, dword [0x1807976cc]
xor eax, 0xb0b7c87e
sub eax, 0x73029cf7
mov ecx, 0x645b0bb7
xor edx, edx
div ecx
cmp eax, 0x3a6ebec3
ja 0x1803f3dc0
mov ecx, dword [0x1807976d0]
or ecx, dword [0x1807976d4]
or ecx, 0xf3cb1c07
or ecx, 0x5adc2556
xor ecx, 0xdb0d34e2
mov rax, r8
add rax, 0x10
cmp ecx, 0xbaec05af
je 0x1803f3dc0
jmp 0x1803f376e
cmp qword [rax], 0
jne 0x1803f3778
ud2
mov r15, r8
add r15, 0x18
mov r13, qword [r14]
movabs rax, 0x8000000000000005
cmp r13, rax
jne 0x1803f3796
jmp 0x1803f3a77
lea rcx, [rsp + 0xd0]
mov rdx, r15
mov r8, rbx
call fcn.180438ab0
mov r12, qword [rsp + 0xd0]
mov rax, r12
sub rax, 0xf
je 0x1803f37f0
jmp 0x1803f37bc
mov rax, r12
sub rax, 0x10
je 0x1803f389c
jmp 0x1803f37cb
lea rdx, [rsp + 0xd0]
add rdx, 8
lea rcx, [rsp + 0x48]
add rcx, 8
mov r8d, 0x80
call fcn.1806a7400
jmp 0x1803f389c
mov eax, dword [str.__V]
and eax, dword [0x1807976dc]
or eax, 0x89137af
or eax, 0x743a34bc
imul eax, eax, 0x264106b5
cmp eax, 0x143da086
jb 0x1803f3dd1
mov eax, dword [0x1807976e0]
sub eax, dword [0x1807976e4]
mov ecx, 0xc44f2840
xor edx, edx
div ecx
sub eax, 0xea3fa7a0
xor eax, 0xfa96ab54
mov rcx, r14
add rcx, 8
lea rdx, [rsp + 0x20]
add rdx, 8
cmp eax, 0x434f61f7
je 0x1803f3dd1
jmp 0x1803f3853
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
movabs rax, 0x8000000000000005
mov qword [r14], rax
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x48]
lea r8, [rsp + 0x20]
mov rdx, r15
call fcn.180439a00
mov r12, qword [rsp + 0x48]
jmp 0x1803f38ed
mov eax, dword [0x1807976e8]
imul eax, dword [0x1807976ec]
xor eax, 0x9f1f55e2
and eax, 0xc7a1d41c
imul eax, eax, 0x3915f7c3
cmp eax, 0xbc1db87d
ja 0x1803f3de2
jmp 0x1803f38c6
mov eax, dword [0x1807976f0]
xor edx, edx
div dword [0x1807976f4]
or eax, 0xcf5f28b2
sub eax, 0x61efd9e
imul eax, eax, 0xcef6c204
cmp eax, 0xb532f027
je 0x1803f38c6
jmp 0x1803f38ed
mov eax, dword [0x1807976f8]
and eax, dword [0x1807976fc]
mov ecx, 0xe0db7dec
xor edx, edx
div ecx
imul eax, eax, 0x8f31dd3f
sub eax, 0x219d5fea
cmp eax, 0xb7964a15
jbe 0x1803f3df3
mov eax, dword [0x180797700]
and eax, dword [0x180797704]
sub eax, 0xcb219659
and eax, 0x24af3105
and eax, 0x9aeebf97
cmp eax, 0x9c2469af
ja 0x1803f3df3
mov rax, r12
sub rax, 0xf
je 0x1803f39b9
jmp 0x1803f3949
mov rax, r12
sub rax, 0x10
je 0x1803f3c0a
jmp 0x1803f3b84
mov eax, dword [0x180797708]
add eax, dword [0x18079770c]
and eax, 0xa71ad28e
sub eax, 0xd3ea7d48
sub eax, 0x701d2641
cmp eax, 0x2e278188
je 0x1803f3e00
mov eax, dword [0x180797710]
and eax, dword [0x180797714]
xor eax, 0xa77ec836
mov ecx, 0x4e5e2d62
xor edx, edx
div ecx
sub eax, 0xb4e57f38
mov qword [rsi], 0x10
cmp eax, 0xa0a6c88c
jae 0x1803f3e00
jmp 0x1803f39b4
jmp 0x1803f3bf3
mov eax, dword [0x180797718]
and eax, dword [0x18079771c]
xor eax, 0x3150ec9a
or eax, 0x4c4788
imul eax, eax, 0x776de6f0
cmp eax, 0x6107a08e
jbe 0x1803f3e18
mov eax, dword [0x180797720]
and eax, dword [0x180797724]
sub eax, 0xd7eac98
sub eax, 0x2a274df7
and eax, 0x67564e05
mov r8, qword [rdi]
cmp eax, 0x9922b4d5
ja 0x1803f3e18
jmp 0x1803f3a0b
mov rcx, r8
add rcx, 0x10
mov eax, dword [0x180797728]
add eax, dword [0x18079772c]
xor eax, 0xce5c25b5
xor eax, 0x4d8c175
mov r9d, 0x4cbd49a1
xor edx, edx
div r9d
cmp eax, 0x2b6a27bd
je 0x1803f3e29
jmp 0x1803f3a40
mov edx, dword [0x180797730]
or edx, dword [0x180797734]
sub edx, 0x12dc5208
add edx, 0x7db749a
and edx, 0x8e8c898a
cmp qword [rcx], 0
sete al
cmp edx, 0x35bb9b8d
jae 0x1803f3a40
test al, 1
jne 0x1803f3a73
jmp 0x1803f3a77
ud2
add r8, 0x18
mov rcx, rsi
mov rdx, r8
mov r8, rbx
call fcn.180437d70
mov rax, qword [rdi]
xor edi, edi
xchg qword [rax + 0x158], rdi
test rdi, rdi
je 0x1803f3b2f
jmp 0x1803f3aa0
mov rax, rdi
sub rax, 1
je 0x1803f3bf3
jmp 0x1803f3aaf
mov rax, qword [rdi]
mov ecx, dword [0x180797738]
sub ecx, dword [0x18079773c]
imul ecx, ecx, 0xa6bfc74d
imul ecx, ecx, 0x58b8963a
and ecx, 0xb6c63929
cmp ecx, 0xef51a8c4
je 0x1803f3e3a
jmp 0x1803f3ade
mov r8d, dword [0x180797740]
imul r8d, dword [0x180797744]
and r8d, 0x5cc9ef1e
add r8d, 0x75c7f4b8
xor r8d, 0x7106c48a
mov rcx, qword [rdi + 8]
mov rdx, qword [rax + 8]
cmp r8d, 0x41f6e4ab
jb 0x1803f3ade
jmp 0x1803f3b15
call rdx
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
jmp 0x1803f3bf3
ud2
mov eax, dword [0x180797758]
or eax, dword [0x18079775c]
mov ecx, 0xb1381505
xor edx, edx
div ecx
and eax, 0xd8a703da
add eax, 0x7d19deb6
cmp eax, 0xd49801f9
je 0x1803f3e5c
mov eax, dword [0x180797760]
or eax, dword [0x180797764]
add eax, 0x99e51226
xor eax, 0x59c16a2
or eax, 0x27bfcaa
lea rdx, [rsp + 0x48]
add rdx, 8
mov rcx, rsi
add rcx, 8
cmp eax, 0x38988233
je 0x1803f3e5c
jmp 0x1803f3be6
mov r8d, 0x80
call fcn.1806a7400
jmp 0x1803f3c0a
mov rax, rsi
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsi], r12
mov rax, qword [rdi]
mov ecx, dword [0x180797768]
xor ecx, dword [0x18079776c]
or ecx, 0x6f3e1ab1
or ecx, 0xbb52fc25
and ecx, 0x860f041c
cmp ecx, 0x3c007cbc
je 0x1803f3e69
jmp 0x1803f3c3c
mov ecx, dword [0x180797770]
mov edx, dword [0x180797774]
imul ecx, edx
imul ecx, ecx, 0x8677ec8c
add ecx, 0x9ca9ec20
xor edi, edi
xchg qword [rax + 0x158], rdi
cmp ecx, 0x624ed953
je 0x1803f3c3c
jmp 0x1803f3c6a
mov eax, dword [0x180797778]
or eax, dword [0x18079777c]
imul eax, eax, 0xbafe3128
mov ecx, 0xb9adeb0c
xor edx, edx
div ecx
xor eax, 0x59398583
cmp eax, 0xf1dfb25f
je 0x1803f3e7f
mov eax, dword [0x180797780]
xor eax, dword [0x180797784]
mov ecx, 0x79427aaf
xor edx, edx
div ecx
imul eax, eax, 0x6da8bd79
and eax, 0xebf9e842
cmp eax, 0xf3765
jb 0x1803f3e7f
test rdi, rdi
je 0x1803f3da4
jmp 0x1803f3ccb
mov rax, rdi
sub rax, 1
je 0x1803f3bf3
jmp 0x1803f3cda
mov eax, dword [str.zPPR]
and eax, dword [0x18079778c]
and eax, 0xf34cab11
sub eax, 0x688c8da1
or eax, 0xc712a27e
cmp eax, 0x413b0b8
jb 0x1803f3e90
mov eax, dword [0x180797790]
add eax, dword [0x180797794]
mov ecx, 0xfe8def90
xor edx, edx
div ecx
xor eax, 0xd677adcb
sub eax, 0xd9f3ab18
mov rcx, qword [rdi]
mov rbx, qword [rdi + 8]
mov r14, qword [rcx + 8]
cmp eax, 0x82086e1e
jbe 0x1803f3e90
jmp 0x1803f3d37
mov eax, dword [0x180797798]
or eax, dword [0x18079779c]
xor eax, 0xabdca6ee
add eax, 0x91900eec
add eax, 0xc930af90
cmp eax, 0xd2121c16
je 0x1803f3e9d
jmp 0x1803f3d5f
mov eax, dword [0x1807977a0]
xor eax, dword [0x1807977a4]
and eax, 0x341e9c6e
imul ebp, eax, 0xc792b123
and ebp, 0xf0d36002
mov rcx, rbx
call r14
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0xebd8dfc8
je 0x1803f3d5f
jmp 0x1803f3d9f
jmp 0x1803f3bf3
ud2
int3
invalid
and eax, ebx
adc bh, byte [rdi - 0x5a]
invalid
invalid
add eax, 0xc120c10a
ret 0xe962
movabs al, byte [0xee260a2d0e87d9a9]
pop rsp
rcr byte [rdi + 0x48], 1
mov dword [rsi], 0x10
jmp 0x1803f3981
mov ebx, edi
loop 0x1803f3e21
and bh, byte [rax - 0x7eca40f9]
popfq
imul cl
mov bh, 0xfb
invalid
sbb dword [rbp - 0x448160a], 0xf6bdffff
hlt
mov ebp, 0x48bff4f6
jne 0x1803f3ea8
mov gs, word [0x18528bd40]
cld
invalid
xlatb
push rsi
sbb bh, dl
push rcx
mov ebx, 0x67334497
xlatb
jmp 0x1803f3adc
fstp qword [rsi + 0x6021549e]
adc al, 0x7b
jmp 0x1803f3bae
cmp dword [rdi], 0x77
movabs al, byte [0x8748c931ee9450b6]
mov byte [rax + 1], bl
add byte [rax], al
jmp 0x1803f3c3a
cmp eax, eax
xor al, 0xc3
ret 0x783c
leave
movabs dword [0x63e9da0cb2f6351d], eax
invalid
invalid
call r14
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
jmp 0x1803f3d5d