Function at 0x180423590
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x18079c630]
and eax, dword [0x18079c634]
mov ecx, 0xb9069ced
xor edx, edx
div ecx
or eax, 0x9a7c18e6
and eax, 0x8aa1b46b
cmp eax, 0x95108bd
je 0x180423bcd
mov eax, dword [0x18079c638]
or eax, dword [0x18079c63c]
add eax, 0xbbab77b6
mov ecx, 0xe5c66f7c
xor edx, edx
div ecx
xor eax, 0x4e20e815
mov rcx, rsi
add rcx, 0x10
cmp eax, 0xb3c67ea0
jae 0x180423bcd
jmp 0x1804235f8
mov eax, dword [str.5KU_g]
or eax, dword [0x18079c644]
xor eax, 0x4a9943f2
imul eax, eax, 0x12fce393
xor eax, 0x59e5b956
cmp eax, 0x68b1e623
jae 0x180423bda
mov edx, dword [0x18079c648]
imul edx, dword [0x18079c64c]
and edx, 0xa276cbca
or edx, 0x4e3eb510
and edx, 0x5306e173
mov al, byte [rcx]
cmp edx, 0xda993024
ja 0x180423bda
jmp 0x18042364e
movzx ecx, al
sub al, 3
je 0x1804236c0
jmp 0x180423657
sub ecx, 4
je 0x1804237f2
jmp 0x180423662
mov eax, dword [0x18079c650]
xor edx, edx
div dword [0x18079c654]
add eax, 0xdf5c3e9b
mov ecx, 0xbf1037b7
xor edx, edx
div ecx
add eax, 0x909cee15
cmp eax, 0x45ad87a7
jbe 0x180423beb
jmp 0x180423690
mov eax, dword [0x18079c658]
add eax, dword [0x18079c65c]
or eax, 0x71c4cdda
mov ecx, 0x8c27421d
xor edx, edx
div ecx
imul eax, eax, 0xd45e58f1
cmp eax, 0x8161b464
jbe 0x180423690
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov rax, rsi
add rax, 0x18
cmp word [rax], 3
sete al
test al, 1
jne 0x1804236d4
jmp 0x180423662
add rsi, 0x20
mov rsi, qword [rsi]
mov eax, dword [0x18079c660]
add eax, dword [0x18079c664]
and eax, 0xe9e24cc1
or eax, 0x41a82fe3
sub eax, 0xbb5ecaaf
cmp eax, 0x82c3cccc
jbe 0x180423bf8
jmp 0x180423703
mov edi, dword [0x18079c668]
and edi, dword [0x18079c66c]
or edi, 0xad0a1580
xor edi, 0xb3945ab3
xor edi, 0xecd2758b
mov rcx, rsi
call fcn.18063b340
cmp edi, 0x64624ef8
jbe 0x180423703
test al, 1
jne 0x18042373a
jmp 0x180423662
mov eax, dword [0x18079c670]
and eax, dword [0x18079c674]
mov ecx, 0x2eb7c529
xor edx, edx
div ecx
or eax, 0xcc0773ec
or eax, 0xb4d28e70
cmp eax, 0x652e4535
je 0x180423c0d
mov eax, dword [0x18079c678]
xor edx, edx
div dword [0x18079c67c]
mov edi, eax
and edi, 0x805f5cba
xor edi, 0x3ed1b5bb
or edi, 0x844d3969
mov rcx, rsi
call fcn.18063bbe0
cmp edi, 0x5c0cec09
je 0x180423c0d
jmp 0x18042379c
mov eax, dword [str.gwK]
or eax, dword [0x18079c684]
imul eax, eax, 0x568d826
xor eax, 0xded6719d
and eax, 0x3a5385b1
cmp eax, 0xcbec744b
ja 0x180423c22
mov eax, dword [0x18079c688]
add eax, dword [0x18079c68c]
sub eax, 0x74b0cfb5
mov ecx, 0x2c3c2f7d
xor edx, edx
div ecx
and eax, 0xfe930ede
cmp eax, 0x42cfe341
jae 0x180423c22
jmp 0x180423662
mov rcx, rsi
add rcx, 0x48
call fcn.1804291e0
mov rcx, rsi
add rcx, 0x20
mov eax, dword [0x18079c690]
imul eax, dword [0x18079c694]
or eax, 0x787bd49
mov r8d, 0x283e1562
xor edx, edx
div r8d
sub eax, 0xe514b6a
cmp eax, 0x8ff88979
jb 0x180423c2f
mov edx, dword [0x18079c698]
add edx, dword [0x18079c69c]
add edx, 0x7a4c1bca
xor edx, 0x4b5fef83
and edx, 0x78a5b306
mov eax, dword [rcx]
cmp edx, 0x96ff5d64
jae 0x180423c2f
jmp 0x180423860
cmp eax, 0
je 0x1804238f0
mov rbx, qword [rsi + 0x38]
cmp rbx, 0
sete al
test al, 1
jne 0x1804238f0
jmp 0x18042387a
mov rax, rsi
add rax, 0x28
mov rdi, qword [rax]
mov eax, dword [0x18079c6a0]
add eax, dword [0x18079c6a4]
mov ecx, 0xf9a1c88b
xor edx, edx
div ecx
imul eax, eax, 0x41dc5e4c
and eax, 0xe95321ff
cmp eax, 0x1f067608
jae 0x180423c40
mov eax, dword [0x18079c6a8]
sub eax, dword [0x18079c6ac]
imul eax, eax, 0x14801955
imul ebp, eax, 0x69699953
and ebp, 0x8a5ceeea
mov rdx, rbx
shl rdx, 5
mov rcx, rdi
mov r8d, 4
call fcn.1804cafa0
cmp ebp, 0x1419a01c
ja 0x180423c40
jmp 0x1804238f0
mov eax, dword [0x18079c6b0]
add eax, dword [0x18079c6b4]
mov ecx, 0x6c9507be
xor edx, edx
div ecx
xor eax, 0x8ebd9673
sub eax, 0x42cbe6af
cmp eax, 0x77e409f4
je 0x180423c62
mov ecx, dword [0x18079c6b8]
add ecx, dword [0x18079c6bc]
add ecx, 0x4c2b2599
and ecx, 0xf88c1b4b
or ecx, 0x947f85e9
mov rax, rsi
add rax, 0x18
cmp ecx, 0xe14b812
je 0x180423c62
jmp 0x18042394d
mov rcx, qword [rax]
cmp rcx, 0
sete r8b
mov eax, dword [0x18079c6c0]
xor edx, edx
div dword [0x18079c6c4]
imul eax, eax, 0x81d62150
xor eax, 0x490887bf
sub eax, 0x84f3f47a
cmp eax, 0x5f2708e
jbe 0x180423c73
jmp 0x180423983
mov eax, dword [0x18079c6c8]
and eax, dword [0x18079c6cc]
add eax, 0x4b1fe50d
add eax, 0x9f6c3108
imul eax, eax, 0xe98622e9
cmp eax, 0x69f4811a
jae 0x180423983
test r8b, 1
jne 0x180423662
jmp 0x1804239b2
mov eax, dword [0x18079c6d0]
or eax, dword [0x18079c6d4]
add eax, 0x5ed3cf4d
imul eax, eax, 0xbb4e4164
and eax, 0x8b642641
cmp eax, 0x9b188343
je 0x180423c80
jmp 0x1804239db
mov eax, dword [0x18079c6d8]
or eax, dword [0x18079c6dc]
imul eax, eax, 0x459c8446
add eax, 0xe668010f
imul edx, eax, 0x89d7ed77
mov rax, rcx
and rax, 3
cmp edx, 0x3f2bb162
je 0x1804239db
jmp 0x180423a09
lea rdx, [0x1806c82cc]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
sbb byte [rbx + 0x75], bl
push rdx
out dx, al
pop rbx
fidivr word [rax - 0x61417]
inc dword [rbx + 0x47611185]
jmp 0x19f27eb71
add dword [rbp - 0x16b89eef], 0xffffff8d
scasd eax, dword [rdi]
in eax, 0x1e
loope 0x180423c2e
jmp 0x18042361f
mov cl, 0x9f
in eax, dx
wait
in al, dx
out dx, al
invalid
cdq
adc r15d, dword [r11 - 0x2acf79c9]
mov rcx, rsi
call fcn.18063b340
jmp 0x180423701
mov ah, 0x23
mov bh, 0x5f
cwde
sbb dword [rax], ecx
jnp 0x180423c5e
mov ecx, esi
int1
call fcn.18063bbe0
jmp 0x180423764
loop 0x180423c4f
ficomp dword [rsi]
invalid
call [rsi]
and dword [rsi + rax - 0xeddbc2e], eax
pop rdi
add eax, ebp
mov ebp, ecx
sti
invalid
invalid
in al, dx
xchg ebx, eax
fisub word [rax]
movsd dword [rdi], dword [rsi]
loope 0x180423c17
loope 0x180423c91
mov edx, ebx
shl rdx, 5
mov rcx, rdi
mov r8d, 4
call fcn.1804cafa0
jmp 0x1804238af
cld
invalid
fild qword [rbx]
hlt
push rdi
jg 0x180423c7a
shl byte [rdx + rsi*2 - 0x54], 1
mov ch, 0xe9
add ebp, edi
invalid
push rdi
and dl, byte [rsi + rsi*4 - 0x7b1e6c41]
jmp 0x1804239d9
mov edx, 0xe992976e
mov al, 0xfd
invalid