Function at 0x180457200
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov dl, byte [rcx]
movzx eax, dl
sub dl, 3
jb 0x18045740c
jmp 0x180457223
mov rdx, rax
sub rdx, 3
je 0x180457420
jmp 0x180457232
sub rax, 4
je 0x180457501
jmp 0x18045723e
mov rax, rcx
add rax, 8
mov edx, dword [0x1807a23b0]
xor edx, dword [0x1807a23b4]
add edx, 0x2d4e9e6
and edx, 0x472f770d
or edx, 0xe0502610
cmp edx, 0x5bfccce3
je 0x180457a76
jmp 0x180457271
mov edx, dword [0x1807a23b8]
sub edx, dword [0x1807a23bc]
imul edx, edx, 0xfb7efeb9
sub edx, 0x84012e4b
add edx, 0xb8b5f080
mov r8, qword [rax]
cmp r8, 0
sete r9b
cmp edx, 0x36ed46ee
jbe 0x180457271
jmp 0x1804572a4
mov eax, dword [0x1807a23c0]
or eax, dword [0x1807a23c4]
sub eax, 0x4beac95c
xor eax, 0x3dd40ced
mov r10d, 0xa0a9a9ba
xor edx, edx
div r10d
cmp eax, 0x4b6d311e
jae 0x180457a87
mov eax, dword [0x1807a23c8]
imul eax, dword [0x1807a23cc]
sub eax, 0x7bd3c4ec
sub eax, 0x4565dad8
and eax, 0xc8fd4278
cmp eax, 0x1614d5ab
jbe 0x180457a87
xor ebx, ebx
test r9b, 1
mov edi, 0
jne 0x180457399
jmp 0x18045730a
mov rdi, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r8
lea r8, [rsp + 0x48]
add r8, 0x38
mov eax, dword [0x1807a23d0]
and eax, dword [0x1807a23d4]
or eax, 0xe814b90f
or eax, 0x86448c91
mov r9d, 0xacb72bdb
xor edx, edx
div r9d
cmp eax, 0xb6a88cb6
je 0x180457a98
jmp 0x18045736a
mov eax, dword [0x1807a23d8]
xor edx, edx
div dword [0x1807a23dc]
imul eax, eax, 0x377982be
sub eax, 0x28837fc2
and eax, 0x185ed19
mov qword [r8], rcx
cmp eax, 0xfbfd9dfb
je 0x18045736a
mov ebx, 1
jmp 0x180457399
mov eax, dword [0x1807a23e0]
xor eax, dword [0x1807a23e4]
xor eax, 0xb83c3f78
or eax, 0xdbcf54b5
and eax, 0x9edb50b1
cmp eax, 0x905925c3
jbe 0x180457aa8
mov eax, dword [0x1807a23e8]
xor edx, edx
div dword [0x1807a23ec]
sub eax, 0x1939320c
or eax, 0xa9c8126e
mov ecx, 0x8ef06073
xor edx, edx
div ecx
mov esi, eax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x48]
call fcn.180456470
cmp esi, 0xdce6a63b
je 0x180457aa8
jmp 0x18045740c
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1807a23f0]
and eax, dword [0x1807a23f4]
add eax, 0x23eda3d3
and eax, 0x60fab3a4
imul eax, eax, 0xd700600b
cmp eax, 0xfcce20b2
ja 0x180457ad1
mov eax, dword [0x1807a23f8]
xor eax, dword [0x1807a23fc]
sub eax, 0x74cf32cc
sub eax, 0x95f7ef1
mov r8d, 0xc3f35c9f
xor edx, edx
div r8d
mov rdx, rcx
add rdx, 8
cmp eax, 0x971343a8
jae 0x180457ad1
jmp 0x18045747c
mov r8, qword [rdx]
cmp r8, 0
sete al
test al, 1
jne 0x18045740c
jmp 0x18045748c
add rcx, 0x10
mov eax, dword [0x1807a2400]
xor edx, edx
div dword [0x1807a2404]
or eax, 0xad5b9a5d
or eax, 0x6beeb108
mov r9d, 0x9d2950ec
xor edx, edx
div r9d
cmp eax, 0x6af8943f
jae 0x180457ade
jmp 0x1804574c0
mov edx, dword [0x1807a2408]
add edx, dword [0x1807a240c]
or edx, 0x175061a4
sub edx, 0xac4fcc8a
add edx, 0x2c575daa
mov rax, qword [rcx]
cmp edx, 0xe83393da
jae 0x1804574c0
jmp 0x1804574eb
mov rcx, rax
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x18045740c
mov eax, dword [0x1807a2410]
sub eax, dword [0x1807a2414]
add eax, 0xefcfe96a
imul eax, eax, 0xa9979db7
or eax, 0x462a232e
cmp eax, 0x8a320861
jb 0x180457aeb
jmp 0x18045752a
mov eax, dword [0x1807a2418]
add eax, dword [0x1807a241c]
and eax, 0x2afc22da
or eax, 0x23fce27e
xor eax, 0xc193627e
mov rdi, rcx
add rdi, 8
mov rsi, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x18]
cmp eax, 0x62266564
jb 0x18045752a
jmp 0x18045755d
cmp rbx, 0
sete cl
mov eax, dword [0x1807a2420]
and eax, dword [0x1807a2424]
and eax, 0x3041b75d
and eax, 0x7bfd4b40
imul eax, eax, 0x516de336
cmp eax, 0x21d30211
jbe 0x180457afc
mov eax, dword [0x1807a2428]
sub eax, dword [0x1807a242c]
mov r8d, 0x370cc47d
xor edx, edx
div r8d
mov r8d, 0xf12f5785
xor edx, edx
div r8d
or eax, 0xbbb5d569
cmp eax, 0x13864436
je 0x180457afc
test cl, 1
jne 0x1804579a3
jmp 0x1804575c8
lea rax, [rsp + 0x90]
add rax, 8
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x90]
add rax, 0x10
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x90]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
add rax, 0x28
mov qword [rsp + 0x28], rax
lea rbp, [rsp + 0x90]
add rbp, 0x30
lea r14, [rsp + 0x90]
add r14, 0x38
mov eax, dword [0x1807a2430]
sub eax, dword [0x1807a2434]
or eax, 0x5aef0b28
sub eax, 0x18f19103
add eax, 0xb703b6e6
cmp eax, 0x631a7695
jbe 0x180457b09
mov eax, dword [0x1807a2438]
xor edx, edx
div dword [0x1807a243c]
sub eax, 0xfd78a7cb
xor eax, 0x115ec60a
sub eax, 0xba427afc
lea r15, [rsp + 0x90]
add r15, 0x20
lea r12, [rsp + 0x90]
add r12, 0x40
cmp eax, 0x4c4cc243
jbe 0x180457b09
xor ecx, ecx
jmp 0x18045768e
mov eax, dword [0x1807a2440]
or eax, dword [0x1807a2444]
and eax, 0x97d6f683
or eax, 0xc1e9335f
mov r8d, 0x705ac933
xor edx, edx
div r8d
cmp eax, 0x76976ac9
je 0x180457b16
jmp 0x1804576bc
mov eax, dword [0x1807a2448]
imul eax, dword [0x1807a244c]
and eax, 0xd9c20a49
xor eax, 0xfa7c57d9
imul edx, eax, 0xedd5aa01
mov rax, rcx
shl rax, 5
mov r8, rsi
add r8, rax
mov r13, rcx
add r13, 1
movzx eax, byte [r8]
cmp edx, 0xc971c02e
je 0x1804576bc
mov rcx, rax
sub rcx, 3
jb 0x18045793b
jmp 0x180457708
mov rcx, rax
sub rcx, 3
je 0x18045779a
jmp 0x180457717
sub rax, 4
je 0x180457887
jmp 0x180457723
mov rax, r8
add rax, 8
mov rcx, qword [rax]
xor edx, edx
cmp rcx, 0
mov eax, 0
je 0x180457779
mov rax, qword [r8 + 0x18]
add r8, 0x10
mov rdx, qword [r8]
mov r8, qword [rsp + 0x40]
mov qword [r8], 0
mov r8, qword [rsp + 0x38]
mov qword [r8], rcx
mov r8, qword [rsp + 0x30]
mov qword [r8], rdx
mov r8, qword [rsp + 0x28]
mov qword [r8], 0
mov qword [rbp], rcx
mov qword [r14], rdx
mov edx, 1
mov qword [rsp + 0x90], rdx
mov qword [r15], rdx
mov qword [r12], rax
lea rcx, [rsp + 0x90]
call fcn.180456470
jmp 0x18045793b
mov eax, dword [0x1807a2450]
and eax, dword [0x1807a2454]
and eax, 0xd7a01da1
imul eax, eax, 0x21090e0c
mov ecx, 0x3389f28b
xor edx, edx
div ecx
cmp eax, 0xa9c72141
jae 0x180457b27
jmp 0x1804577c7
mov eax, dword [0x1807a2458]
xor edx, edx
div dword [0x1807a245c]
mov ecx, 0xb4752188
xor edx, edx
div ecx
or eax, 0xa202134e
add eax, 0x2be36d68
mov rcx, r8
add rcx, 8
cmp eax, 0x915364e9
je 0x1804577c7
jmp 0x1804577f8
mov eax, dword [0x1807a2460]
imul eax, dword [0x1807a2464]
and eax, 0x9a61ce79
mov r9d, 0xb437a5f8
xor edx, edx
div r9d
and eax, 0xb27fea49
cmp eax, 0x1e001bfa
je 0x180457b38
mov eax, dword [0x1807a2468]
or eax, dword [0x1807a246c]
mov r9d, 0x6e0f49c1
xor edx, edx
div r9d
mov r9d, 0x69f46eec
xor edx, edx
div r9d
sub eax, 0xacc8ab15
mov rdx, qword [rcx]
cmp rdx, 0
sete r9b
cmp eax, 0x5016b44d
jbe 0x180457b38
jmp 0x180457864
test r9b, 1
jne 0x18045793b
jmp 0x180457870
add r8, 0x10
mov rcx, qword [r8]
mov r8d, 1
call fcn.1804cafa0
jmp 0x18045793b
mov eax, dword [0x1807a2470]
xor edx, edx
div dword [str._aab_9]
and eax, 0x903d3f3b
sub eax, 0x810b98db
or eax, 0x57eff00c
cmp eax, 0x66118603
je 0x180457b45
mov eax, dword [0x1807a2478]
imul eax, dword [0x1807a247c]
add eax, 0x5e468df4
imul eax, eax, 0x8feddf5b
add eax, 0x70f18548
mov rcx, r8
add rcx, 8
cmp eax, 0x6bd5806f
jb 0x180457b45
jmp 0x1804578e0
call fcn.180496180
mov eax, dword [0x1807a2480]
sub eax, dword [0x1807a2484]
imul eax, eax, 0x4b536d08
imul eax, eax, 0x77c97cb3
or eax, 0x989e8656
cmp eax, 0x63bb7978
jbe 0x180457b56
mov eax, dword [0x1807a2488]
xor edx, edx
div dword [0x1807a248c]
xor eax, 0x19db267
mov ecx, 0x436dcfb1
xor edx, edx
div ecx
add eax, 0x90aef95b
cmp eax, 0x1ea2150b
jb 0x180457b56
jmp 0x18045793b
cmp r13, rbx
sete al
mov ecx, dword [0x1807a2490]
and ecx, dword [0x1807a2494]
sub ecx, 0xd57a8ddd
and ecx, 0xfab6c9e5
imul ecx, ecx, 0x1b57c86b
cmp ecx, 0x2bc6b0d6
jbe 0x180457b67
mov ecx, dword [0x1807a2498]
add ecx, dword [0x1807a249c]
or ecx, 0x39d76b89
add ecx, 0x72881bfe
sub ecx, 0xa0b00bbe
cmp ecx, 0xcf23e13c
jae 0x180457b67
test al, 1
mov rcx, r13
jne 0x1804579a1
jmp 0x18045768e
jmp 0x1804579a3
mov rdi, qword [rdi]
mov eax, dword [0x1807a24a0]
sub eax, dword [0x1807a24a4]
or eax, 0xf1df4fd2
imul eax, eax, 0xc9e006a
add eax, 0x9ebf3cb4
cmp eax, 0xbd04ce82
jae 0x180457b78
jmp 0x1804579cf
mov eax, dword [0x1807a24a8]
xor edx, edx
div dword [0x1807a24ac]
xor eax, 0x560d74d9
or eax, 0x1621ed6a
imul ecx, eax, 0x47af707c
cmp rdi, 0
sete al
cmp ecx, 0xa69e0f6e
jb 0x1804579cf
jmp 0x1804579fe
test al, 1
jne 0x18045740c
jmp 0x180457a08
shl rdi, 5
mov eax, dword [str.21]
add eax, dword [0x1807a24b4]
sub eax, 0xd22c1d07
sub eax, 0x92f6f664
div dh
xchg edx, eax
and eax, 0x1762f0e1
cmp eax, 0xc6879c7b
ja 0x180457b89
jmp 0x180457a34
mov eax, dword [0x1807a24b8]
xor edx, edx
div dword [str._vyp:]
mov ebx, eax
sub ebx, 0x31505037
add ebx, 0x5f43a24f
or ebx, 0x912669d5
mov rcx, rsi
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
cmp ebx, 0x6ca97c10
jb 0x180457a34
jmp 0x180457a71
jmp 0x18045740c
and byte [rdx], dh
xchg edx, eax
invalid
pop rdi
lodsb al, byte [rsi]
movsd dword [rdi], dword [rsi]
or byte [rbp - 0x15], bh
cdq
jle 0x180457a1e
invalid
or ebx, dword [rbx + rbx*2]
movsb byte [rdi], byte [rsi]
xor al, 0xbc
mov bh, 0x25
mov qword [r8], rcx
jmp 0x180457368
mov esp, 0x894925b7
or cl, ch
sar al, 0xff
call qword [rax + 0x43]
cli
push rax
cli
sub byte [rdx], cl
sub dword [rsi - 0x5c], edi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x48]
call fcn.180456470
jmp 0x1804573bf
mov bl, 0xf5
invalid
out dx, eax
hlt
hlt
jnp 0x180457a9d
test bl, al
xchg ebp, eax
xor ebp, dword [rdx + riz*4 - 0x17]
invalid
lahf
adc al, 0x1b
invalid
or byte [rax + 0x4341c335], ch
loopne 0x180457b6d
mov dl, 0x2c
and ebp, ecx
xchg ebx, eax
sti
invalid
jle 0x180457b0a
invalid
invalid
pop rcx
loope 0x180457b41
invalid
ja 0x180457b2a
loopne 0x180457b3f
invalid
invalid
xchg ebp, eax
xor al, 0x96
cmpsd dword [rsi], dword [rdi]
loop 0x180457b0a
mov dl, 0x11
mov ebx, 0xe94c41f6
cmpsb byte [rsi], byte [rdi]
std
invalid
leave
invalid
or byte [rcx - 0x34], dh
mov dh, byte fs:[rdi - 0x17]
std
invalid
sti
invalid
invalid