Function at 0x180477e90
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov al, byte [rsi + 0xb8]
movzx eax, al
test eax, eax
je 0x180477ec2
jmp 0x180477eac
sub eax, 3
je 0x180478177
jmp 0x180477eb7
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x1807a5628]
imul eax, dword [0x1807a562c]
sub eax, 0x338a23d6
imul eax, eax, 0xc24ed701
and eax, 0x3636bd99
cmp eax, 0xfd396d9e
jae 0x180478640
mov eax, dword [0x1807a5630]
sub eax, dword [0x1807a5634]
imul eax, eax, 0xd35817ee
imul eax, eax, 0x58241491
mov ecx, 0xda2f9d37
xor edx, edx
div ecx
mov r8, qword [rsi]
cmp eax, 0x43dfe952
jae 0x180478640
jmp 0x180477f1b
mov eax, dword [0x1807a5638]
imul eax, dword [0x1807a563c]
or eax, 0x70013e3b
mov ecx, 0x67c11f4a
xor edx, edx
div ecx
sub eax, 0xbdb39672
cmp eax, 0xf094ff1f
ja 0x18047864d
mov eax, dword [0x1807a5640]
xor eax, dword [0x1807a5644]
mov ecx, 0xbc2c7904
xor edx, edx
div ecx
sub eax, 0x2e2806ef
or eax, 0x98371b3c
cmp r8, 0
sete cl
cmp eax, 0x4a970b62
je 0x18047864d
jmp 0x180477f79
mov eax, dword [0x1807a5648]
or eax, dword [0x1807a564c]
xor eax, 0xb2bb679b
add eax, 0x53755404
mov r9d, 0x7c75f358
xor edx, edx
div r9d
cmp eax, 0x3350b270
jae 0x18047865e
jmp 0x180477fa7
mov eax, dword [0x1807a5650]
imul eax, dword [0x1807a5654]
mov r9d, 0xc9f94661
xor edx, edx
div r9d
and eax, 0xa0bd11e9
mov r9d, 0x88b652ad
xor edx, edx
div r9d
cmp eax, 0xcf99c2bf
jae 0x180477fa7
test cl, 1
jne 0x180477ff7
jmp 0x180477fdd
mov rax, rsi
add rax, 8
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180477ff7
mov eax, dword [0x1807a5658]
xor edx, edx
div dword [0x1807a565c]
sub eax, 0x2b11d0d6
mov ecx, 0x6172b3a3
xor edx, edx
div ecx
imul eax, eax, 0x3c4ace0c
cmp eax, 0xc88b4a8b
je 0x18047866f
jmp 0x180478026
mov eax, dword [0x1807a5660]
and eax, dword [0x1807a5664]
or eax, 0x426dfb3a
xor eax, 0x8f163a93
or eax, 0x28dc067e
mov rcx, rsi
add rcx, 0x18
cmp eax, 0xef375d09
ja 0x180478026
jmp 0x180478051
mov eax, dword [0x1807a5668]
imul eax, dword [0x1807a566c]
mov r8d, 0xc21965a9
xor edx, edx
div r8d
and eax, 0xc746daaf
sub eax, 0x6fe73ca3
cmp eax, 0x3f5d3dee
jbe 0x180478680
jmp 0x180478080
mov eax, dword [0x1807a5670]
imul eax, dword [0x1807a5674]
sub eax, 0xed39fd0a
or eax, 0xf7a6d487
or eax, 0xe6ccfe6e
mov r8, qword [rcx]
cmp eax, 0xdffa2468
jbe 0x180478080
jmp 0x1804780a8
cmp r8, 0
je 0x180477eb7
mov eax, dword [0x1807a5678]
xor edx, edx
div dword [0x1807a567c]
mov ecx, 0xd4d10f32
xor edx, edx
div ecx
sub eax, 0x725088a5
imul eax, eax, 0x7cbb47b1
cmp eax, 0x1369c540
jbe 0x180478691
mov eax, dword [0x1807a5680]
imul eax, dword [0x1807a5684]
mov ecx, 0x525c0a99
xor edx, edx
div ecx
mov ecx, 0x32c60082
xor edx, edx
div ecx
add eax, 0xe4131131
mov rcx, qword [rsi + 0x20]
cmp eax, 0xabbf972f
jb 0x180478691
jmp 0x180478114
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x1807a5688]
or eax, dword [0x1807a568c]
imul eax, eax, 0x1e7f229d
or eax, 0x377572d1
imul eax, eax, 0x754a0459
cmp eax, 0xd71b2bf
jbe 0x18047869e
mov eax, dword [0x1807a5690]
xor eax, dword [0x1807a5694]
and eax, 0x713c52c9
imul eax, eax, 0xfb279087
imul eax, eax, 0xa00b0f51
cmp eax, 0xa3e0361b
jae 0x18047869e
jmp 0x180477eb7
mov eax, dword [0x1807a5698]
xor edx, edx
div dword [0x1807a569c]
and eax, 0xe4eb03ec
and eax, 0x391965c3
and eax, 0x3bc86494
cmp eax, 0x6533ba44
je 0x1804786af
jmp 0x1804781a1
mov eax, dword [0x1807a56a0]
imul eax, dword [0x1807a56a4]
add eax, 0xcabc046b
imul ecx, eax, 0x2fd3e309
add ecx, 0x9257dfc2
mov al, byte [rsi + 0xb0]
cmp ecx, 0xa447e58e
je 0x1804781a1
jmp 0x1804781cf
cmp al, 0
sete al
test al, 1
jne 0x1804781dd
jmp 0x1804782af
mov rcx, rsi
add rcx, 0x90
mov eax, dword [0x1807a56a8]
or eax, dword [str.Xi__B]
sub eax, 0x68cf25e9
add eax, 0x6786062b
and eax, 0x150ce9be
cmp eax, 0x6ae026a5
ja 0x1804786c0
jmp 0x18047820f
mov eax, dword [0x1807a56b0]
xor eax, dword [0x1807a56b4]
mov r8d, 0x691769a0
xor edx, edx
div r8d
add eax, 0x59b82b4a
add eax, 0x9467e0f6
cmp eax, 0x3bcaf9f3
jb 0x18047820f
jmp 0x180478239
mov r8, qword [rcx]
cmp r8, 0
je 0x1804782af
mov eax, dword [0x1807a56b8]
xor edx, edx
div dword [0x1807a56bc]
add eax, 0x8f491a7f
xor eax, 0xf16399e0
xor eax, 0x1f77f453
cmp eax, 0xd6fbdebe
jae 0x1804786cd
mov eax, dword [0x1807a56c0]
add eax, dword [0x1807a56c4]
add eax, 0x7afa138f
imul eax, eax, 0x94f6dff
imul ecx, eax, 0x32981293
mov rax, rsi
add rax, 0x98
cmp ecx, 0xe5419676
je 0x1804786cd
jmp 0x18047829e
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov rbx, rsi
add rbx, 0xbb
mov al, byte [rsi + 0xbb]
cmp al, 0
sete al
test al, 1
jne 0x1804782ca
jmp 0x180478343
mov r14, rsi
add r14, 0xba
mov al, byte [rsi + 0xba]
mov ecx, dword [0x1807a56c8]
and ecx, dword [0x1807a56cc]
sub ecx, 0xaa1788b7
and ecx, 0xe93684bf
imul ecx, ecx, 0x5b197ccd
cmp ecx, 0x7ab8e3ab
je 0x1804786de
mov edx, dword [0x1807a56d0]
xor edx, dword [0x1807a56d4]
xor edx, 0xb183bbc5
and edx, 0xdc76ee35
and edx, 0xeb8d6a9b
cmp al, 0
sete cl
cmp edx, 0xfdc03a20
ja 0x1804786de
jmp 0x180478335
test cl, 1
jne 0x1804784c5
jmp 0x18047856d
mov rax, rsi
add rax, 0x40
mov rdi, qword [rax]
mov eax, dword [0x1807a56d8]
add eax, dword [0x1807a56dc]
imul eax, eax, 0x2428ab25
or eax, 0x7401559d
sub eax, 0xe00029cb
cmp eax, 0xd80f3d78
je 0x1804786eb
mov ecx, dword [0x1807a56e0]
imul ecx, dword [0x1807a56e4]
or ecx, 0x1bbae72c
and ecx, 0x5cdc36cc
and ecx, 0xc622e094
cmp rdi, 0
sete al
cmp ecx, 0x8c4ad594
jae 0x1804786eb
test al, 1
jne 0x1804782ca
jmp 0x1804783b0
mov eax, dword [0x1807a56e8]
add eax, dword [0x1807a56ec]
sub eax, 0x5f4bdadd
or eax, 0xbc65ef28
xor eax, 0xea161907
cmp eax, 0x7a5ebdf
je 0x1804786fc
mov eax, dword [0x1807a56f0]
and eax, dword [0x1807a56f4]
imul eax, eax, 0xaf043fad
mov ecx, 0x398df22d
xor edx, edx
div ecx
or eax, 0x5186af73
mov r14, rsi
add r14, 0x48
cmp eax, 0xfec789ac
jae 0x1804786fc
jmp 0x18047840a
mov eax, dword [0x1807a56f8]
and eax, dword [0x1807a56fc]
and eax, 0x60241a3b
mov ecx, 0xae20163b
xor edx, edx
div ecx
sub eax, 0x93f3e578
cmp eax, 0x95459ae7
jae 0x18047870d
jmp 0x180478436
mov eax, dword [0x1807a5700]
xor eax, dword [0x1807a5704]
xor eax, 0xaa7a6642
xor eax, 0x34d7fad0
imul ebp, eax, 0x6dd39fb1
mov rcx, qword [r14]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xd0542b93
jae 0x180478436
jmp 0x18047846d
mov eax, dword [0x1807a5708]
imul eax, dword [0x1807a570c]
mov ecx, 0xb831ff7c
xor edx, edx
div ecx
and eax, 0xdd0359b5
sub eax, 0x5d4a1981
cmp eax, 0x23621e7e
je 0x18047872b
mov eax, dword [0x1807a5710]
add eax, dword [0x1807a5714]
imul eax, eax, 0xedb15a62
and eax, 0x5b1fbfd2
imul eax, eax, 0xc78b7fd1
cmp eax, 0xddd18ce4
jae 0x18047872b
jmp 0x1804782ca
mov eax, dword [0x1807a5718]
add eax, dword [0x1807a571c]
or eax, 0xc88b2ec0
mov ecx, 0x4d73adb5
xor edx, edx
div ecx
add eax, 0xa585a4ab
cmp eax, 0x681452af
jbe 0x180478738
jmp 0x1804784f1
mov eax, dword [0x1807a5720]
sub eax, dword [0x1807a5724]
and eax, 0x1cda7a75
add eax, 0x186d81a1
or eax, 0xa9ccd9d7
mov byte [r14], 0
cmp eax, 0x515450d7
jbe 0x1804784f1
jmp 0x180478519
mov byte [rbx], 0
mov eax, dword [0x1807a5728]
add eax, dword [0x1807a572c]
add eax, 0xe29733a9
and eax, 0x27804816
sub eax, 0x7ef203a
cmp eax, 0x3516086
je 0x180478749
jmp 0x180478544
mov eax, dword [0x1807a5730]
imul eax, dword [str.m.MK]
or eax, 0x8c90ec09
imul eax, eax, 0xdaeb2267
or eax, 0xe24882b2
cmp eax, 0x541c9f40
jb 0x180478544
jmp 0x180477eb7
mov rcx, rsi
add rcx, 0x58
mov eax, dword [0x1807a5738]
xor edx, edx
div dword [0x1807a573c]
or eax, 0x2a0e81b7
imul eax, eax, 0x215ec203
or eax, 0xe47a30a3
cmp eax, 0x229fb707
je 0x180478756
jmp 0x18047859f
mov eax, dword [0x1807a5740]
or eax, dword [0x1807a5744]
mov r8d, 0xb9fe6fa4
xor edx, edx
div r8d
xor eax, 0xc87751d1
add eax, 0xcf43d564
mov rdi, qword [rcx]
cmp eax, 0x2bceb7e6
jb 0x18047859f
jmp 0x1804785cc
cmp rdi, 0
je 0x1804784c5
mov rsi, qword [rsi + 0x60]
mov eax, dword [0x1807a5748]
sub eax, dword [0x1807a574c]
and eax, 0x192ba958
xor eax, 0xf19ae9f0
xor eax, 0x165b7cf8
cmp eax, 0xe3d1a171
jb 0x180478767
jmp 0x180478602
mov ebp, dword [0x1807a5750]
add ebp, dword [0x1807a5754]
sub ebp, 0x5175b48b
xor ebp, 0x5bb1c245
add ebp, 0xd628774e
mov rcx, rsi
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xe1ae3eb0
je 0x180478602
jmp 0x18047863b
jmp 0x1804784c5
jl 0x180478679
cmc
add al, 0x36
mov ch, 0x85
in eax, dx
jmp 0x180477eea
push rsi
invalid
adc bh, byte [rdi + 0x32]
sti
and eax, 0x1d0436da
out dx, al
sub dh, byte [rdi]
jmp 0x180477fa5
invalid
ret
ror bh, 3
fist word [rcx]
add eax, 0xe18b0521
imul ebx, dword [rdi], 0xffffffe9
in eax, dx
stc
invalid
invalid
pop rbx
rcr byte [rsi], cl
outsd dx, dword [rsi]
test dword [rax - 0x5854dc9b], edi
and al, 0xfc
jmp 0x18047814a
invalid
cmp ecx, dword [rbp + rcx*8 + 0x37cb8fcd]
shr ecx, 1
sti
invalid
in eax, 0x28
sbb byte [rdi], bl
invalid
stosd dword [rdi], eax
cli
push rsp
xchg edi, eax
lodsd eax, dword [rsi]
cmp dword [rsp + rbx*2 - 0x17], esi
sbb esp, edi
invalid
pop rax
add dl, dh
adc eax, 0x368a0f7a
sub dword [rsi + 0x78e9cb68], esp
cld
invalid
invalid
movabs byte [0x49edb38d44245a63], al
mov ecx, dword [rsi]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x180478434
mov dl, 0x5a
invalid
invalid
xchg esi, eax
out dx, al
or dword [rdi + rdx*8 + 0x23], edi
imul cl
in al, dx
std
invalid
jl 0x1804787cc
movabs dword [0x58425b9195b9fc40], eax
jmp 0x18047859d
sar byte [rdi - 0x5d], cl
or al, dl
add eax, 0x5cd7678e
cmp edi, dword [rbx + 0x48f18948]
mov edx, edi
mov r8d, 1
call fcn.1804cafa0
jmp 0x180478600
add eax, 0x32cf8f