Function at 0x18049c4e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [r14]
test rax, rax
je 0x18049c512
jmp 0x18049c501
sub rax, 1
je 0x18049c6ec
jmp 0x18049c50d
jmp 0x18049c9c6
add r14, 8
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
jl 0x18049c688
mov al, byte [0x1807afe04]
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
mov eax, dword [0x1807a99f8]
and eax, dword [0x1807a99fc]
xor eax, 0xecc340e
add eax, 0x9f3ed5bf
and eax, 0xf09ad9fa
cmp eax, 0x3aeb9522
ja 0x18049cd32
jmp 0x18049c56e
mov eax, dword [0x1807a9a00]
xor eax, dword [0x1807a9a04]
add eax, 0x99170216
imul eax, eax, 0xb05e041c
mov ecx, 0xe2a2e7eb
xor edx, edx
div ecx
cmp rbx, 0
sete cl
cmp eax, 0xd9fca56a
je 0x18049c56e
jmp 0x18049c59e
test cl, 1
jne 0x18049c5a5
jmp 0x18049c5b6
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
ud2
mov eax, dword [0x1807a9a08]
or eax, dword [str.g_z]
sub eax, 0x7eaa25a3
add eax, 0x66083d3b
mov ecx, 0xb9cefbd5
xor edx, edx
div ecx
cmp eax, 0x9cb9feca
jae 0x18049cd3f
mov eax, dword [0x1807a9a10]
add eax, dword [0x1807a9a14]
and eax, 0xe780e7bf
mov ecx, 0xb10f7b37
xor edx, edx
div ecx
xor eax, 0x16a9fadb
mov r15, r12
add r15, 0x1b8
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
lea rcx, [0x1806c4300]
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
cmp eax, 0xcab71618
ja 0x18049cd3f
jmp 0x18049c63c
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x98
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xc8
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r15
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rsi, rax
cmp rsi, 0
jne 0x18049c68c
jmp 0x18049cd20
ud2
mov eax, dword [0x1807a9a18]
imul eax, dword [0x1807a9a1c]
and eax, 0xe884d7ec
or eax, 0x8f762ea1
and eax, 0xe90923bb
cmp eax, 0xbd5b5983
ja 0x18049cd72
jmp 0x18049c6b5
mov eax, dword [0x1807a9a20]
and eax, dword [0x1807a9a24]
add eax, 0x4a9d3e18
imul edi, eax, 0xf6f3f631
or edi, 0xb13ff9b7
mov rcx, r14
mov rdx, rsi
call fcn.180643620
cmp edi, 0xc0cfc223
jbe 0x18049c6b5
jmp 0x18049c6e7
jmp 0x18049cd20
add r14, 8
mov eax, dword [0x1807a9a28]
imul eax, dword [0x1807a9a2c]
add eax, 0x5a65b2b5
xor eax, 0xe9c2b2c4
xor eax, 0x2525dea1
cmp eax, 0x57f154c5
jbe 0x18049cd8a
jmp 0x18049c719
mov eax, dword [0x1807a9a30]
mov ecx, dword [0x1807a9a34]
xor edx, edx
div ecx
xor eax, 0xdb4fe496
imul ecx, eax, 0x28d76614
or ecx, 0x358876f5
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
setl al
cmp ecx, 0x849dffa8
je 0x18049c719
test al, 1
jne 0x18049c8ea
jmp 0x18049c761
mov eax, dword [0x1807a9a38]
sub eax, dword [0x1807a9a3c]
or eax, 0xbeb4314c
sub eax, 0xa1b5f5e5
or eax, 0x9cdaff07
cmp eax, 0x99dbd4d7
jb 0x18049cd9e
mov eax, dword [0x1807a9a40]
and eax, dword [0x1807a9a44]
add eax, 0x3ce37172
add eax, 0x9cdf3738
imul eax, eax, 0x88a73e70
mov cl, byte [0x1807afe04]
cmp eax, 0x9fed4ccc
jbe 0x18049cd9e
jmp 0x18049c7b6
mov eax, dword [0x1807a9a48]
xor edx, edx
div dword [0x1807a9a4c]
xor eax, 0xec19e78b
imul eax, eax, 0x9c988644
sub eax, 0x8114910f
cmp eax, 0x5d7e7db7
jbe 0x18049cdb1
jmp 0x18049c7e1
mov eax, dword [0x1807a9a50]
add eax, dword [0x1807a9a54]
sub eax, 0xf38fedd7
and eax, 0x3aa2614c
mov ecx, 0x97257da7
xor edx, edx
div ecx
mov ebp, eax
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
sete al
cmp ebp, 0xbc62d24d
ja 0x18049c7e1
jmp 0x18049c825
mov ecx, dword [0x1807a9a58]
or ecx, dword [0x1807a9a5c]
imul ecx, ecx, 0x34604051
xor ecx, 0x81e4f437
xor ecx, 0xd0899459
cmp ecx, 0x2b8c0b2
je 0x18049cdcd
jmp 0x18049c851
mov ecx, dword [0x1807a9a60]
sub ecx, dword [0x1807a9a64]
sub ecx, 0x41998a36
and ecx, 0xec64d232
xor ecx, 0x94e2cc70
cmp ecx, 0x8745481d
je 0x18049c851
test al, 1
jne 0x18049c880
jmp 0x18049c941
mov eax, dword [0x1807a9a68]
imul eax, dword [0x1807a9a6c]
or eax, 0xacb64bfe
imul eax, eax, 0x7d79f777
xor eax, 0xda250e19
cmp eax, 0x4837caa4
jb 0x18049cdda
mov eax, dword [0x1807a9a70]
add eax, dword [0x1807a9a74]
mov ecx, 0xf5cc18d4
xor edx, edx
div ecx
mov esi, eax
xor esi, 0x7a81e93d
xor esi, 0xb5d2c08e
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
cmp esi, 0x56bbaaa5
jbe 0x18049cdda
jmp 0x18049c8e8
ud2
mov eax, dword [0x1807a9a78]
imul eax, dword [0x1807a9a7c]
sub eax, 0x4dc82c11
add eax, 0x525d9235
mov ecx, 0x1c7dadea
xor edx, edx
div ecx
cmp eax, 0xeb358470
jae 0x18049cdfa
mov eax, dword [0x1807a9a80]
and eax, dword [0x1807a9a84]
or eax, 0xa3247b70
sub eax, 0x2480ed0e
or eax, 0xffcaf041
ud2
mov r15, r12
add r15, 0x80
mov r14, r12
add r14, 0x10
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
lea rax, [0x1806c3fe0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x98
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xc8
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r15
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rcx, r14
mov rdx, rax
call fcn.180641500
jmp 0x18049cd20
add r14, 8
mov eax, dword [0x1807a9a88]
and eax, dword [0x1807a9a8c]
and eax, 0xffa57261
or eax, 0x5ec36e06
mov ecx, 0xd94ef2f6
xor edx, edx
div ecx
cmp eax, 0xb6cadf53
je 0x18049ce09
jmp 0x18049c9f6
mov ecx, dword [str.COJER_n]
mov eax, dword [0x1807a9a94]
imul ecx, eax
add ecx, 0x30e76628
imul rax, rcx, 0x19ecd931
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1e
or ecx, 0xe57de6ec
mov r12, qword [r14]
mov r15, r12
add r15, 0x10
mov eax, 1
lock xadd qword [r12], rax
cmp ecx, 0xea8bdcff
je 0x18049c9f6
jmp 0x18049ca44
mov ecx, dword [0x1807a9a98]
or ecx, dword [0x1807a9a9c]
and ecx, 0x3b3b6d9d
sub ecx, 0x625973eb
and ecx, 0x61891cb5
cmp ecx, 0xb8a59fd0
jae 0x18049ce1d
jmp 0x18049ca70
mov ecx, dword [0x1807a9aa0]
or ecx, dword [0x1807a9aa4]
imul ecx, ecx, 0x873ff6f1
add ecx, 0x4701e7da
imul edx, ecx, 0x701a5daa
cmp rax, 0
setl cl
cmp edx, 0x97665fec
je 0x18049ca70
test cl, 1
jne 0x18049cc12
jmp 0x18049caa8
mov eax, dword [0x1807a9aa8]
and eax, dword [0x1807a9aac]
mov ecx, 0xcf4fed0e
xor edx, edx
div ecx
sub eax, 0x5fffacf0
sub eax, 0x579d1507
cmp eax, 0x21b91d0d
jb 0x18049ce2e
jmp 0x18049cad4
mov eax, dword [0x1807a9ab0]
or eax, dword [0x1807a9ab4]
mov ecx, 0xafd09700
xor edx, edx
div ecx
and eax, 0xbdbf92f1
mov ecx, 0xd0d882cd
xor edx, edx
div ecx
mov cl, byte [0x1807afe04]
cmp eax, 0xb9fe4e55
jae 0x18049cad4
jmp 0x18049cb06
mov eax, dword [0x1807a9ab8]
sub eax, dword [0x1807a9abc]
mov ecx, 0x1038fe0a
xor edx, edx
div ecx
add eax, 0x8330c2a2
mov ecx, 0x6c0683a3
xor edx, edx
div ecx
cmp eax, 0x82044009
jae 0x18049ce41
mov eax, dword [0x1807a9ac0]
imul eax, dword [0x1807a9ac4]
imul ebp, eax, 0xc6512c8f
sub ebp, 0x3276fda4
or ebp, 0xd7c110af
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp ebp, 0x92fd5cf3
jbe 0x18049ce41
jmp 0x18049cb73
cmp rbx, 0
jne 0x18049cb8a
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
ud2
mov r14, r12
add r14, 0xd0
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
mov rax, rbx
add rax, 0x10
lea rcx, [0x1806c40d0]
mov qword [rax], rcx
mov qword [rbx + 0x18], 0
mov rax, rbx
add rax, 0x20
mov qword [rax], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x98
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xc8
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r14
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rsi, rax
cmp rsi, 0
jne 0x18049cc63
jmp 0x18049cd20
ud2
mov eax, dword [0x1807a9ad8]
sub eax, dword [0x1807a9adc]
sub eax, 0x912aec64
mov ecx, 0x95e27e61
xor edx, edx
div ecx
xor eax, 0x571ff861
cmp eax, 0xbf2c68a1
je 0x18049ce72
jmp 0x18049cc8f
mov eax, dword [0x1807a9ae0]
imul eax, dword [0x1807a9ae4]
mov ecx, 0xe54b5586
xor edx, edx
div ecx
mov edi, eax
add edi, 0x7c327b3
xor edi, 0x2aab05b4
mov rcx, r15
mov rdx, rsi
xor r8d, r8d
call fcn.180655f40
cmp edi, 0x1d18d92c
je 0x18049cc8f
jmp 0x18049cccb
mov eax, dword [0x1807a9ae8]
imul eax, dword [0x1807a9aec]
add eax, 0x600dc5b7
mov ecx, 0x69dfe3df
xor edx, edx
div ecx
add eax, 0x85051d13
cmp eax, 0xb9e96cac
ja 0x18049ce8d
jmp 0x18049ccf8
mov eax, dword [0x1807a9af0]
xor edx, edx
div dword [0x1807a9af4]
imul eax, eax, 0xb909b7d0
add eax, 0x6a2fe184
imul eax, eax, 0x76a10211
cmp eax, 0x592973a5
je 0x18049ccf8
jmp 0x18049cd20
mov rax, rbx
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
sbb al, 0x7a
cmp edi, dword es:[rdx - 0x162cc07e]
sub eax, 0xabfffff8
stosd dword [rdi], eax
mov dword [rax - 0x7e3991dd], eax
sub eax, 0xcc03c748
add byte [rax], al
add byte [rax - 0x39], cl
or byte [r8], al
add byte [rax], al
add byte [rax - 0x73], cl
add eax, 0x2275a3
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
jmp 0x18049c5e0
sub eax, 0xbcf0d079
jg 0x18049cdab
mov rcx, r14
mov rdx, rsi
call fcn.180643620
jmp 0x18049c6b3
pop rdi
add dword [rcx + 0x2f], ebp
or bh, byte [rdi]
sub dword [rdi + 0x49], eax
mov eax, dword [rsi]
lock inc qword [rax]
jmp 0x18049c717
adc eax, 0x167dfe91
mov ch, 0x7d
jb 0x18049cd31
add eax, 0x313058
jmp 0x18049c787
add cl, ch
invalid
and byte [rsi - 0x66b3de63], ah
mov eax, 0x100b91f
add byte [rax], al
mov edx, 0x80
call fcn.1804caf90
jmp 0x18049c7df
mov bh, 0xe8
xchg ebp, eax
push rcx
xchg ebx, eax
xchg dword [rcx - 0x58a16b0], ecx
invalid
push 0xffffffffbf2a0428
push rsi
and al, byte [rcx + 0x40f9310f]
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
jmp 0x18049c8a8
sub al, 0x88
sub eax, 0x3b568aff
xchg byte [rdi], cl
or ebp, ecx
or al, 0xfb
invalid
pop rdi
cld
invalid
pushfq
cmp eax, ecx
cmp byte ds:[rbx], ah
cmp edx, dword [rdx - 0x64b33812]
jmp 0x18049ca6e
adc cl, byte [rdi - 0x26]
pop rdi
invalid
xchg ebx, eax
sub ebp, edi
hlt
mov edi, 0x2ce6d765
invalid
invalid