Function at 0x180351c50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov r8, qword [rsi]
cmp r8, 0
sete al
test al, 1
jne 0x180351ce1
jmp 0x180351c73
mov eax, dword [0x1807881d0]
and eax, dword [0x1807881d4]
mov ecx, 0x1f2e5258
xor edx, edx
div ecx
add eax, 0x6692ff00
sub eax, 0xfc173c04
cmp eax, 0x58a9e776
jbe 0x180352422
jmp 0x180351c9f
mov eax, dword [0x1807881d8]
xor edx, edx
div dword [0x1807881dc]
imul ecx, eax, 0xe333df73
add ecx, 0x4973d468
xor ecx, 0x73c753df
mov rax, rsi
add rax, 8
cmp ecx, 0x6279bed0
je 0x180351c9f
jmp 0x180351cd0
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov r15, rsi
add r15, 0x20
mov rax, rsi
add rax, 0x28
mov rdi, qword [rax]
mov rcx, rsi
add rcx, 0x30
mov eax, dword [0x1807881e0]
or eax, dword [0x1807881e4]
mov r8d, 0x4b19051b
xor edx, edx
div r8d
or eax, 0xe988484f
and eax, 0x10f63ef
cmp eax, 0x8cf40b21
ja 0x180352433
jmp 0x180351d27
mov eax, dword [0x1807881e8]
and eax, dword [0x1807881ec]
mov r8d, 0x3359a740
xor edx, edx
div r8d
add eax, 0xea942906
and eax, 0x32c710ec
mov r12, qword [rcx]
cmp r12, 0
sete dl
cmp eax, 0xa0bb9cf4
jae 0x180351d27
test dl, 1
jne 0x180351ecd
jmp 0x180351d64
xor ecx, ecx
jmp 0x180351d68
mov eax, dword [0x1807881f0]
xor edx, edx
div dword [0x1807881f4]
mov r8d, 0x4ea4ee85
xor edx, edx
div r8d
mov r8d, 0x3403e87e
xor edx, edx
div r8d
mov r8d, 0x6b01b51f
xor edx, edx
div r8d
cmp eax, 0x1616c44d
jae 0x180352440
mov r8d, dword [0x1807881f8]
sub r8d, dword [0x1807881fc]
sub r8d, 0xec02b605
xor r8d, 0x78386eb1
and r8d, 0xc3ccac50
mov r13, rcx
add r13, 1
imul rdx, rcx, 0x28
mov rax, rdi
add rax, rdx
add rax, 8
mov rbx, qword [rax]
cmp rbx, 0
sete dl
cmp r8d, 0x698cead9
jae 0x180352440
test dl, 1
jne 0x180351eb9
jmp 0x180351dfc
mov r14, qword [rax + 8]
mov eax, dword [0x180788200]
xor edx, edx
div dword [0x180788204]
and eax, 0x46edb8f0
or eax, 0xff7b899
sub eax, 0x1ebb9937
cmp eax, 0x58d41f49
je 0x180352451
mov eax, dword [str.M_CNn_]
and eax, dword [0x18078820c]
or eax, 0x95065d7b
or eax, 0xaecc32d0
mov ecx, 0xe18215c2
xor edx, edx
div ecx
mov ebp, eax
mov rcx, r14
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x8f544d21
je 0x180352451
jmp 0x180351e68
mov eax, dword [0x180788210]
or eax, dword [0x180788214]
or eax, 0x5fc0ec62
add eax, 0xb08bd888
sub eax, 0x8b5b2558
cmp eax, 0xbb5733c2
jae 0x18035246f
jmp 0x180351e90
mov eax, dword [0x180788218]
or eax, dword [0x18078821c]
or eax, 0x8670f606
imul eax, eax, 0x5f36ff3
mov ecx, 0xaf963874
xor edx, edx
div ecx
cmp eax, 0x3a9d205a
jae 0x180351e90
jmp 0x180351eb9
cmp r13, r12
sete al
test al, 1
mov rcx, r13
jne 0x180351ecb
jmp 0x180351d68
jmp 0x180351ecd
mov eax, dword [0x180788220]
and eax, dword [0x180788224]
imul eax, eax, 0x4c2499aa
add eax, 0x59094dee
imul eax, eax, 0x48ec561a
cmp eax, 0xd8a96ff2
ja 0x18035247c
jmp 0x180351ef7
mov eax, dword [str.KbEe]
add eax, dword [0x18078822c]
imul eax, eax, 0x34e30469
mov ecx, 0x1f8d9274
xor edx, edx
div ecx
mov ecx, 0x76b9619d
xor edx, edx
div ecx
mov rcx, qword [r15]
cmp eax, 0xa4a48a9e
je 0x180351ef7
jmp 0x180351f27
mov eax, dword [0x180788230]
xor edx, edx
div dword [0x180788234]
xor eax, 0xd2ddf169
and eax, 0xca178188
or eax, 0x51bbab74
cmp eax, 0x6216aa74
jbe 0x180352489
jmp 0x180351f51
mov eax, dword [0x180788238]
sub eax, dword [0x18078823c]
imul eax, eax, 0xbc0b75f9
xor eax, 0x243deaad
imul eax, eax, 0xc77ef392
cmp rcx, 0
sete r8b
cmp eax, 0x6a1407a8
je 0x180351f51
jmp 0x180351f7f
mov eax, dword [0x180788240]
xor edx, edx
div dword [0x180788244]
xor eax, 0xc94f636
and eax, 0x403e88af
imul eax, eax, 0x2e93d3bc
cmp eax, 0xcccc664f
jae 0x180352496
mov eax, dword [0x180788248]
xor eax, dword [0x18078824c]
or eax, 0x6f98d5e7
xor eax, 0x1f51b006
or eax, 0x6bb62bd5
cmp eax, 0x4cebc99
jb 0x180352496
test r8b, 1
jne 0x180352036
jmp 0x180351fd6
imul rdx, rcx, 0x28
mov rcx, rdi
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x180788250]
imul eax, dword [0x180788254]
xor eax, 0xae1deee7
add eax, 0x19767112
imul eax, eax, 0xd8a66d99
cmp eax, 0xd95c7bdc
je 0x1803524a3
jmp 0x180352012
mov eax, dword [0x180788258]
or eax, dword [0x18078825c]
and eax, 0x39fbcd9d
add eax, 0x5b25dcce
sub eax, 0xcfbc6937
cmp eax, 0xacc45b2b
jbe 0x180352012
jmp 0x180352036
mov rcx, rsi
add rcx, 0x88
call fcn.180462800
mov eax, dword [0x180788260]
add eax, dword [0x180788264]
mov ecx, 0x9b20e828
xor edx, edx
div ecx
or eax, 0x89bd7628
sub eax, 0xe770e115
cmp eax, 0xf4ac3c95
je 0x1803524b0
mov eax, dword [0x180788268]
add eax, dword [0x18078826c]
and eax, 0x428986a4
sub eax, 0x38f88e4
mov ecx, 0x7465b2df
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x38
cmp eax, 0x2329dafe
ja 0x1803524b0
jmp 0x1803520a2
mov rdi, qword [rcx]
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x180352188
cmp rdi, 0
sete al
mov ecx, dword [0x180788270]
imul ecx, dword [0x180788274]
and ecx, 0xb3628f0b
or ecx, 0xd7ab3849
and ecx, 0xd5ac8a08
cmp ecx, 0xa839cdbe
jbe 0x1803524c1
jmp 0x1803520ec
mov ecx, dword [0x180788278]
or ecx, dword [0x18078827c]
xor ecx, 0x625ca6e5
imul ecx, ecx, 0xd9b10bf7
add ecx, 0x2667f781
cmp ecx, 0xfba5b464
jae 0x1803520ec
test al, 1
jne 0x180352188
jmp 0x180352118
mov rax, rsi
add rax, 0x40
mov rbx, qword [rax]
mov eax, dword [0x180788280]
sub eax, dword [0x180788284]
add eax, 0xf3477782
mov ecx, 0xa24f93f4
xor edx, edx
div ecx
sub eax, 0x38963750
cmp eax, 0x9f5d3ac9
je 0x1803524ce
jmp 0x18035214e
mov ebp, dword [0x180788288]
imul ebp, dword [0x18078828c]
add ebp, 0x9327e54b
add ebp, 0xa03db7c6
sub ebp, 0x76620f8d
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x66f50802
jb 0x18035214e
jmp 0x180352188
mov rcx, rsi
add rcx, 0x58
mov eax, dword [0x180788290]
sub eax, dword [0x180788294]
imul eax, eax, 0xf36dc68c
imul eax, eax, 0xb1bf519
mov r8d, 0xc4c7992b
xor edx, edx
div r8d
cmp eax, 0xc85fa78d
jae 0x1803524f0
jmp 0x1803521bf
mov eax, dword [0x180788298]
xor edx, edx
div dword [0x18078829c]
and eax, 0xbaff555f
sub eax, 0xcf3c531c
mov r8d, 0xd8515eb9
xor edx, edx
div r8d
mov edx, dword [rcx]
cmp eax, 0x666a2d77
ja 0x1803521bf
jmp 0x1803521ed
mov eax, edx
sub eax, 4
jb 0x180352265
jmp 0x1803521f6
sub edx, 6
je 0x180352265
jmp 0x1803521fd
mov rdi, qword [rsi + 0x60]
mov eax, dword [0x1807882a0]
add eax, dword [0x1807882a4]
sub eax, 0x281ae282
mov ecx, 0xa722b719
xor edx, edx
div ecx
sub eax, 0x2cfcfcce
cmp eax, 0x14d36c3c
je 0x180352501
jmp 0x18035222d
mov eax, dword [0x1807882a8]
add eax, dword [0x1807882ac]
imul eax, eax, 0x295ec5e1
mov ecx, 0x994798ef
xor edx, edx
div ecx
mov ebx, eax
sub ebx, 0x53647989
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp ebx, 0x587f6b2a
jbe 0x18035222d
jmp 0x180352263
jmp 0x180352265
mov eax, dword [0x1807882b0]
imul eax, dword [0x1807882b4]
or eax, 0x4d908e14
and eax, 0xb184cc21
add eax, 0xddd3f118
cmp eax, 0xe023e9d5
jae 0x18035251b
jmp 0x18035228e
mov eax, dword [0x1807882b8]
and eax, dword [0x1807882bc]
sub eax, 0xbb325642
add eax, 0xcbec5542
or eax, 0xc70ae12b
mov rcx, rsi
add rcx, 0x68
cmp eax, 0x9407326a
jb 0x18035228e
jmp 0x1803522b9
mov eax, dword [0x1807882c0]
add eax, dword [0x1807882c4]
imul eax, eax, 0x19c1945e
and eax, 0xd51520fd
sub eax, 0xc9c4ac86
cmp eax, 0x4df3e96a
je 0x18035252c
mov eax, dword [0x1807882c8]
and eax, dword [0x1807882cc]
xor eax, 0x2c7d67bb
mov r8d, 0xf018693b
xor edx, edx
div r8d
and eax, 0x62b2db11
mov edx, dword [rcx]
cmp eax, 0xeb4c77d0
jae 0x18035252c
jmp 0x180352310
mov eax, edx
sub eax, 4
jb 0x18035232c
jmp 0x180352319
sub edx, 6
je 0x18035232c
jmp 0x180352320
mov rcx, qword [rsi + 0x70]
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x18035232c
mov rax, rsi
add rax, 0x78
mov ecx, dword [rax]
mov eax, dword [str._V]
add eax, dword [0x1807882d4]
mov r8d, 0x3e46c2bb
xor edx, edx
div r8d
sub eax, 0x98fbc026
xor eax, 0x417acd32
cmp eax, 0x8968dd79
je 0x18035253d
mov eax, dword [str.Cg_ns]
add eax, dword [0x1807882dc]
and eax, 0xa9baee8c
xor eax, 0x4ef73eac
xor eax, 0xbb12bf7a
cmp eax, 0xb8acc1b
jbe 0x18035253d
mov eax, ecx
sub eax, 4
jb 0x180352401
jmp 0x180352390
sub ecx, 6
je 0x180352401
jmp 0x180352397
mov rbx, rsi
add rbx, 0x80
mov eax, dword [0x1807882e0]
or eax, dword [0x1807882e4]
imul eax, eax, 0x337f707e
or eax, 0x54fc0ce5
add eax, 0xf514315b
cmp eax, 0x71a6d553
jb 0x18035254e
jmp 0x1803523ca
mov eax, dword [0x1807882e8]
or eax, dword [0x1807882ec]
add eax, 0x52a5d75a
mov ecx, 0xb3d1d66b
xor edx, edx
div ecx
mov edi, eax
xor edi, 0xdd706f32
mov rcx, qword [rbx]
call qword [sym.imp.kernel32.dll_CloseHandle]
fisttp qword [rax - 0x75]
or edi, edi
adc eax, 0x362f1b
cmp edi, 0xf1f84d89
je 0x1803523ca
jmp 0x1803523ff
jmp 0x180352401
add rsi, 0xa8
mov rcx, rsi
call fcn.180461c60
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp ebp, esp
test byte [rcx + 0x70], cl
int 0x5f
jb 0x1803523eb
popfq
or edx, dword [rax - 0x79517]
call rbp
imul ebp, edx, 0xffffff91
invalid
invalid
push rsp
mov word [rbx + rdi*2], es
and eax, dword [rbp - 0x4d]
js 0x18035245b
mov bl, byte [0x179870da6]
invalid
jae 0x18035248e
invalid
int1
mov rdx, rbx
mov r8d, 1
call fcn.1804cafa0
jmp 0x180351e28
mov esi, 0x6a4350e7
and ecx, ebp
adc bh, dl
invalid
lodsb al, byte [rsi]
movabs al, byte [0x6ce9fdc6e6102e74]
cli
invalid
insd dword [rdi], dx
add ebp, esi
and dword [rcx - 0x46163c24], esi
cli
invalid
mov cl, 0xdc
ret
test eax, 0xe23dc18b
xlatb
jns 0x180352508
jmp 0x180351fa8
je 0x1803524b5
test dword [eax], edx
hlt
invalid
ret 0x6552
mov ecx, 0x5cc3a2d4
in al, dx
jmp 0x18035206f
xchg dword [rdx - 0x66721326], ebx
jno 0x1803524b3
sbb al, 0xfc
invalid
xlatb
test byte [rdi - 0x2a], cl
pushfq
xor cl, bh
hlt
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x18035214c
xlatb
invalid
rol byte [rbx], 0x31
and eax, 0xfa10ff68
cli
xor qword [r10], rbx
cli
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x18035222b
movabs dword [0x77c3fb154655c29c], eax
invalid
ret
jrcxz 0x1803524da
movabs dword [0x9a2f65366ae8fa91], eax
js 0x180352522
invalid
movabs dword [0xa723b82246fffffd], eax
scasb al, byte [rdi]
and r15b, byte [rax - 0x51b558dd]
lodsd eax, dword [rsi]
add byte [rdi], 0x66
loope 0x180352533
adc edi, esi
invalid
pop rdi
xor al, dl
mov eax, 0xddfd2b78
movsb byte [rdi], byte [rsi]
invalid