Function at 0x180423cd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 0x18
movzx ecx, byte [rax]
mov eax, dword [0x18079c720]
xor eax, dword [0x18079c724]
or eax, 0xccee2458
imul eax, eax, 0x988bccb8
mov r8d, 0x8edc8569
xor edx, edx
div r8d
cmp eax, 0x6750814a
je 0x18042445d
mov eax, dword [0x18079c728]
or eax, dword [0x18079c72c]
and eax, 0x53831ceb
imul eax, eax, 0xc97e6c99
mov r8d, 0xe3e03c86
xor edx, edx
div r8d
cmp eax, 0x9a31897d
ja 0x18042445d
test ecx, ecx
je 0x180423d6e
jmp 0x180423d49
mov eax, ecx
sub eax, 3
je 0x180423e3c
jmp 0x180423d56
sub ecx, 4
je 0x180423fcb
jmp 0x180423d61
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x18079c730]
sub eax, dword [0x18079c734]
xor eax, 0xfffd3e60
add eax, 0x8dfe4758
and eax, 0xe0b980f6
cmp eax, 0xa3cb1be9
jae 0x18042446e
mov eax, dword [0x18079c738]
or eax, dword [0x18079c73c]
add eax, 0xae6c280f
xor eax, 0xbbc00958
imul eax, eax, 0x674f28b1
mov r8, qword [rsi]
cmp eax, 0x83c90760
je 0x18042446e
jmp 0x180423dc0
mov eax, dword [0x18079c740]
xor edx, edx
div dword [0x18079c744]
add eax, 0x74d50d9c
xor eax, 0x4f00478
sub eax, 0x65255c58
cmp eax, 0x46bf36b
je 0x18042447f
mov eax, dword [0x18079c748]
imul eax, dword [0x18079c74c]
sub eax, 0xca3a1a9f
mov ecx, 0x6b9d07c9
xor edx, edx
div ecx
xor eax, 0x4ec9f472
cmp r8, 0
sete cl
cmp eax, 0x8387e3c0
je 0x18042447f
test cl, 1
jne 0x180423d61
jmp 0x180423e25
mov rcx, qword [rsi + 8]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180423d61
mov eax, dword [0x18079c750]
xor eax, dword [0x18079c754]
mov ecx, 0xf6fd87fb
xor edx, edx
div ecx
imul eax, eax, 0xd682442c
imul eax, eax, 0x4dbc89e0
cmp eax, 0x47096179
jae 0x180424490
mov eax, dword [0x18079c758]
xor edx, edx
div dword [0x18079c75c]
imul eax, eax, 0x769e99ae
imul ecx, eax, 0xb0181a4
add ecx, 0xa35f8463
mov ax, word [rsi + 0x20]
cmp ecx, 0x72146e74
je 0x180424490
jmp 0x180423e9a
cmp ax, 3
sete al
test al, 1
jne 0x180423eaa
jmp 0x180423d61
mov rsi, qword [rsi + 0x28]
mov eax, dword [0x18079c760]
and eax, dword [0x18079c764]
sub eax, 0x9457b71
or eax, 0x79076659
sub eax, 0x4ffac037
cmp eax, 0x39de30e3
jae 0x18042449d
jmp 0x180423ed6
mov edi, dword [0x18079c768]
add edi, dword [0x18079c76c]
add edi, 0xc37ee98a
xor edi, 0x28cf2ae9
add edi, 0xbfb5b676
mov rcx, rsi
call fcn.18063b340
mov cl, al
cmp edi, 0xa9f19348
jbe 0x180423ed6
jmp 0x180423f08
mov eax, dword [0x18079c770]
or eax, dword [0x18079c774]
add eax, 0xe89a86da
add eax, 0xed4ee033
sub eax, 0x2c14c537
cmp eax, 0x5bce02da
ja 0x1804244b6
mov eax, dword [0x18079c778]
xor eax, dword [0x18079c77c]
mov r8d, 0xd312c728
xor edx, edx
div r8d
and eax, 0x3ce7f569
mov r8d, 0x7e496069
xor edx, edx
div r8d
cmp eax, 0x8c6ae47e
jae 0x1804244b6
test cl, 1
jne 0x180423f6a
jmp 0x180423d61
mov eax, dword [0x18079c780]
or eax, dword [0x18079c784]
or eax, 0x84023ae0
xor eax, 0xba1d4adc
xor eax, 0x7e1bf3f2
cmp eax, 0x86c2cc76
je 0x1804244c3
jmp 0x180423f92
mov eax, dword [0x18079c788]
xor edx, edx
div dword [0x18079c78c]
mov edi, eax
sub edi, 0x3b1f35fe
and edi, 0x61849845
xor edi, 0xd73242f6
mov rcx, rsi
call fcn.18063bbe0
cmp edi, 0xa623b4fe
ja 0x180423f92
jmp 0x180423fc6
jmp 0x180423d61
mov eax, dword [0x18079c790]
or eax, dword [0x18079c794]
and eax, 0xd4977c63
sub eax, 0x8af1c40d
imul eax, eax, 0x187dd6a2
cmp eax, 0x98c88e65
jae 0x1804244dc
mov eax, dword [0x18079c798]
or eax, dword [0x18079c79c]
xor eax, 0xb303dbf9
imul edi, eax, 0x5e78c543
sub edi, 0xc3bf2961
mov rcx, rsi
add rcx, 0x50
call fcn.1804291e0
mov ecx, dword [rsi + 0x28]
cmp edi, 0x20fcc3b
jb 0x1804244dc
jmp 0x18042402c
mov eax, dword [0x18079c7a0]
and eax, dword [0x18079c7a4]
or eax, 0xa8ae2648
and eax, 0x433c5216
add eax, 0x24d4f1ee
cmp eax, 0x512826e2
ja 0x1804244f9
mov eax, dword [0x18079c7a8]
sub eax, dword [0x18079c7ac]
or eax, 0xbd96bc78
sub eax, 0x61558ec0
mov r8d, 0x7c68270f
xor edx, edx
div r8d
cmp ecx, 0
sete dl
cmp eax, 0xf117da47
je 0x1804244f9
jmp 0x180424086
test dl, 1
jne 0x1804241d0
jmp 0x180424091
mov rax, rsi
add rax, 0x40
mov rax, qword [rax]
cmp rax, 0
sete cl
test cl, 1
jne 0x1804241d0
jmp 0x1804240ad
mov ecx, dword [0x18079c7b0]
xor ecx, dword [0x18079c7b4]
imul ecx, ecx, 0xb32cd3c1
imul ecx, ecx, 0x7dc780b0
sub ecx, 0x7469c1c4
cmp ecx, 0xcec712c6
jb 0x18042450a
mov ecx, dword [0x18079c7b8]
imul ecx, dword [0x18079c7bc]
imul ecx, ecx, 0xcd9c254c
imul ecx, ecx, 0x9caad736
add ecx, 0xdc3beea1
mov rdi, qword [rsi + 0x30]
cmp ecx, 0x6f356de2
jae 0x18042450a
jmp 0x180424108
mov ecx, dword [0x18079c7c0]
xor ecx, dword [0x18079c7c4]
and ecx, 0x49cab5d7
add ecx, 0x8976b69a
xor ecx, 0xb2e92661
cmp ecx, 0x5b0df4c3
jae 0x18042451b
mov ecx, dword [0x18079c7c8]
and ecx, dword [0x18079c7cc]
imul ecx, ecx, 0x2f406094
imul ecx, ecx, 0x39d01e1e
or ecx, 0xeaea05b4
mov rbx, rax
shl rbx, 5
cmp ecx, 0xed1d7d8e
jae 0x18042451b
jmp 0x180424165
mov eax, dword [0x18079c7d0]
sub eax, dword [0x18079c7d4]
xor eax, 0xef304e8b
imul eax, eax, 0xdd5b0c76
and eax, 0x1659ee08
cmp eax, 0xb69b74e7
je 0x180424528
mov eax, dword [0x18079c7d8]
xor eax, dword [str.z_fj]
mov ecx, 0x33659873
xor edx, edx
div ecx
and eax, 0x34dbf713
mov ecx, 0x4ffc8d07
xor edx, edx
div ecx
mov ebp, eax
mov rcx, rdi
mov rdx, rbx
mov r8d, 4
call fcn.1804cafa0
cmp ebp, 0xd53669e9
je 0x180424528
jmp 0x1804241d0
mov eax, dword [0x18079c7e0]
and eax, dword [0x18079c7e4]
and eax, 0x3dae3ea9
or eax, 0xb96564b7
add eax, 0x82d2809d
cmp eax, 0x615af6e0
je 0x180424546
jmp 0x1804241f8
mov eax, dword [0x18079c7e8]
imul eax, dword [0x18079c7ec]
or eax, 0xd3b53c91
mov ecx, 0x2a5fe0e4
xor edx, edx
div ecx
imul eax, eax, 0xf62ba191
mov r8, rsi
add r8, 0x20
cmp eax, 0x3390d09c
je 0x1804241f8
jmp 0x180424229
mov eax, dword [0x18079c7f0]
or eax, dword [0x18079c7f4]
mov ecx, 0x6de16dd8
xor edx, edx
div ecx
and eax, 0xfa34c5d5
mov ecx, 0x23e0d725
xor edx, edx
div ecx
cmp eax, 0x711d882
je 0x180424557
jmp 0x180424259
mov edx, dword [0x18079c7f8]
add edx, dword [0x18079c7fc]
sub edx, 0x58ede5ed
or edx, 0xb22ea532
or edx, 0x3a8b3e73
mov rcx, qword [r8]
cmp rcx, 0
sete al
cmp edx, 0x7f58fe5f
jbe 0x180424259
jmp 0x18042428b
mov edx, dword [0x18079c800]
imul edx, dword [0x18079c804]
and edx, 0x5ee50316
sub edx, 0x5988842b
imul edx, edx, 0xb6d8806c
cmp edx, 0x7f145cc4
je 0x180424564
jmp 0x1804242b8
mov edx, dword [0x18079c808]
and edx, dword [0x18079c80c]
imul edx, edx, 0x29a3e4ae
sub edx, 0x86a71ef7
add edx, 0x50502df5
cmp edx, 0x8ba563f5
ja 0x1804242b8
test al, 1
jne 0x180423d61
jmp 0x1804242e8
mov rax, rcx
and rax, 3
lea rdx, [0x1806c82dc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
stc
stosb byte [rdi], al
jb 0x1804244df
movabs r10, 0xa8e9c7978ac5ec1e
clc
invalid
in al, dx
invalid
mov ebx, 0x51c463fd
sti
out dx, eax
sahf
sti
jae 0x180424464
adc eax, 0xbcfffff9
invalid
mov esp, 0x8f539bf0
fld st(4)
push rax
insb byte [rdi], dx
sbb al, byte [rbp - 0x6a716df]
invalid
invalid
push rbx
out dx, al
std
movabs eax, dword [0x48d6b652ce50c6a8]
mov ecx, esi
call fcn.18063b340
jmp 0x180423ed4
and dword [rdx - 0x6f], ebp
xlatb
add eax, 0xe93b9026
imul edi, edx, 0xffffffff
inc edi
stc
clc
xchg byte [rbx + riz*8 + 0x26], al
out dx, eax
invalid
invalid
ja 0x18042451b
jnp 0x1804244e7
invalid
adc al, byte [rdi]
push 0x6d580057
pop rdi
mov rcx, rsi
mov ecx, esi
add rcx, 0x50
call fcn.1804291e0
jmp 0x180423ff2
invalid
add byte [rbp - 0x70], dl
invalid
jb 0x1804244e9
push 0x41416128
in eax, 0xe9
or bh, ah
invalid
test byte [rax - 0x3df407ba], bh
movabs al, byte [0x41da8948f98948e6]
mov eax, 4
call fcn.1804cafa0
jmp 0x18042418c
push rbx
mov eax, esp
mov ecx, 0x239f295d
adc dword [rbx - 0x6016b64f], ebp
cld
invalid
xbegin 0x1fc2478d5
xor byte [rcx + rbp*8 - 0x30d], ch
push rax
movabs byte [0x7b34153ae4f40c71], al
pop rax
mov bh, 0xe9
std
invalid