Function at 0x180346d50
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 al, byte [rsi + 0xe8]
movzx eax, al
mov ecx, dword [0x180786c10]
or ecx, dword [0x180786c14]
imul ecx, ecx, 0xc18026d4
and ecx, 0x8ab8cbd9
and ecx, 0x6e2ea176
cmp ecx, 0xb1f343d6
jae 0x180347848
jmp 0x180346d98
mov ecx, dword [0x180786c18]
sub ecx, dword [0x180786c1c]
xor ecx, 0xabfb65f0
xor ecx, 0xf14c7fde
or ecx, 0xca152ce9
cmp ecx, 0xa14cac59
jbe 0x180346d98
mov ecx, eax
sub eax, 5
ja case.0x180346dd3.1
lea rax, [0x1806c46c8]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsi]
cmp r8, 0
je 0x180346e5b
mov r9, rsi
add r9, 8
mov eax, dword [0x180786c20]
sub eax, dword [0x180786c24]
and eax, 0xae2912df
mov ecx, 0x205ebb53
xor edx, edx
div ecx
mov ecx, 0xa8cf950
xor edx, edx
div ecx
cmp eax, 0x5f07807f
je 0x180347859
jmp 0x180346e26
mov eax, dword [0x180786c28]
add eax, dword [0x180786c2c]
or eax, 0x5c08c3dd
sub eax, 0xa5f72a3e
add eax, 0x2b5a3a48
mov rcx, qword [r9]
cmp eax, 0x4a4ce28f
jbe 0x180346e26
jmp 0x180346e4d
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180786c30]
add eax, dword [0x180786c34]
imul eax, eax, 0x8aabd3d6
and eax, 0x321953da
sub eax, 0x87d87f3b
cmp eax, 0x20ddd20a
jbe 0x180347866
jmp 0x180346e84
mov eax, dword [0x180786c38]
sub eax, dword [0x180786c3c]
imul eax, eax, 0xf582bad1
sub eax, 0x78330968
mov ecx, 0xfdc42391
xor edx, edx
div ecx
mov rdi, qword [rsi + 0x18]
cmp eax, 0x9d23813d
ja 0x180346e84
jmp 0x180346eb1
mov eax, dword [0x180786c40]
add eax, dword [0x180786c44]
sub eax, 0xf6553039
sub eax, 0xaccf3c41
imul eax, eax, 0x5c9aaf3f
cmp eax, 0x336ba9f4
jb 0x180347873
mov eax, dword [0x180786c48]
imul eax, dword [0x180786c4c]
mov ecx, 0x532c7888
xor edx, edx
div ecx
or eax, 0x779c7d7
mov ecx, 0xf59491a1
xor edx, edx
div ecx
cmp rdi, 0
sete cl
cmp eax, 0x5088e429
jae 0x180347873
jmp 0x180346f10
mov eax, dword [0x180786c50]
xor eax, dword [0x180786c54]
or eax, 0x416befa5
and eax, 0x24701f0c
xor eax, 0x1c8d4955
cmp eax, 0x2b06a063
ja 0x180347884
jmp 0x180346f38
mov eax, dword [0x180786c58]
add eax, dword [0x180786c5c]
add eax, 0xa91c461
imul eax, eax, 0xe181a9f9
mov r8d, 0x27d02d86
xor edx, edx
div r8d
cmp eax, 0x96c01c0b
jae 0x180346f38
test cl, 1
jne 0x18034702a
jmp 0x180346f6c
mov eax, dword [0x180786c60]
xor edx, edx
div dword [0x180786c64]
sub eax, 0xacbc8620
imul eax, eax, 0x331e8ca4
or eax, 0x61c11dc7
cmp eax, 0xb566c716
ja 0x180347895
jmp 0x180346f97
mov ecx, dword [0x180786c68]
or ecx, dword [0x180786c6c]
add ecx, 0x851e49ad
sub ecx, 0xb2ebd6f6
add ecx, 0x56c5b91f
mov rax, rsi
add rax, 0x20
cmp ecx, 0xe1508fb9
jae 0x180346f97
jmp 0x180346fc6
mov rbx, qword [rax]
mov eax, dword [0x180786c70]
xor eax, dword [0x180786c74]
and eax, 0xd08181b1
xor eax, 0x4c7478c4
add eax, 0x97d17735
cmp eax, 0x8b38a0bd
jb 0x1803478a6
jmp 0x180346ff1
mov ebp, dword [0x180786c78]
and ebp, dword [0x180786c7c]
sub ebp, 0x2781afdd
and ebp, 0x7d6cdad2
and ebp, 0xccbd7173
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x37c881ba
je 0x180346ff1
jmp 0x18034702a
mov rbx, rsi
add rbx, 0x30
mov rdi, rsi
add rdi, 0x38
mov r14, qword [rsi + 0x38]
mov rsi, qword [rsi + 0x40]
cmp rsi, 0
sete cl
mov eax, dword [0x180786c80]
xor edx, edx
div dword [0x180786c84]
imul eax, eax, 0x1c9229cd
xor eax, 0x4bc97473
and eax, 0x6137c615
cmp eax, 0x42f8402f
ja 0x1803478c8
mov eax, dword [0x180786c88]
add eax, dword [0x180786c8c]
or eax, 0xededc0b2
sub eax, 0xf444c52d
or eax, 0x76c3859a
cmp eax, 0x8262293a
je 0x1803478c8
test cl, 1
jne 0x180347145
jmp 0x1803470a1
xor r15d, r15d
jmp 0x1803470a6
imul rax, r15, 0x18
mov rcx, r14
add rcx, rax
add r15, 1
mov r8, qword [rcx]
cmp r8, 0
je 0x180347134
mov eax, dword [0x180786c90]
imul eax, dword [0x180786c94]
mov r9d, 0x58226f6d
xor edx, edx
div r9d
sub eax, 0xa0f52b01
xor eax, 0xb3ece8ed
cmp eax, 0x45ddad9f
jb 0x1803478d9
jmp 0x1803470ec
mov eax, dword [0x180786c98]
imul eax, dword [0x180786c9c]
mov r9d, 0x25ade644
xor edx, edx
div r9d
imul edx, eax, 0xacba6c8d
and edx, 0xdcffdd70
mov rax, rcx
add rax, 8
cmp edx, 0xb9d3111
jb 0x1803470ec
jmp 0x180347121
mov rcx, qword [rax]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180347134
cmp r15, rsi
sete al
test al, 1
jne 0x180347143
jmp 0x1803470a6
jmp 0x180347145
mov rbx, qword [rbx]
cmp rbx, 0
sete al
test al, 1
jne case.0x180346dd3.1
jmp 0x180347159
mov eax, dword [0x180786ca0]
or eax, dword [0x180786ca4]
imul eax, eax, 0x8328b8a2
xor eax, 0x220be64e
and eax, 0xa3970a12
cmp eax, 0x13db40b1
jbe 0x1803478ea
mov eax, dword [0x180786ca8]
sub eax, dword [0x180786cac]
imul eax, eax, 0xe4c9e14d
or eax, 0xd762a31c
mov ecx, 0x125a0b44
xor edx, edx
div ecx
mov rsi, qword [rdi]
cmp eax, 0xa10ed108
jae 0x1803478ea
jmp 0x1803471b0
mov eax, dword [0x180786cb0]
xor edx, edx
div dword [0x180786cb4]
and eax, 0xcff4abfa
and eax, 0x3e1ce974
mov ecx, 0xfc294a7
xor edx, edx
div ecx
cmp eax, 0x886283fd
ja 0x1803478f7
jmp 0x1803471de
mov eax, dword [0x180786cb8]
xor edx, edx
div dword [0x180786cbc]
mov edi, eax
sub edi, 0xfac08717
add edi, 0xe4fdeebd
and edi, 0xa9cb93b3
imul rdx, rbx, 0x18
mov rcx, rsi
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0xf4fb38ea
jae 0x1803471de
jmp 0x18034721c
mov eax, dword [0x180786cc0]
imul eax, dword [0x180786cc4]
xor eax, 0x6acc10a1
mov ecx, 0x15ad1a79
xor edx, edx
div ecx
add eax, 0x5a006454
cmp eax, 0x848d621d
jae 0x18034791a
jmp 0x180347249
mov eax, dword [0x180786cc8]
sub eax, dword [0x180786ccc]
sub eax, 0x3a338566
mov ecx, 0xf9e9a073
xor edx, edx
div ecx
and eax, 0x39835def
cmp eax, 0x7ae8ed25
jae 0x180347249
jmp case.0x180346dd3.1
mov al, byte [rsi + 0x108]
cmp al, 0
sete al
test al, 1
jne 0x180347288
jmp 0x18034763e
mov r14, rsi
add r14, 0xf0
mov rbx, rsi
add rbx, 0xf8
mov rdx, qword [rsi + 0xf8]
mov r12, qword [rsi + 0x100]
cmp r12, 0
je 0x180347403
xor r13d, r13d
jmp 0x1803472b9
imul rax, r13, 0x18
mov rbp, rdx
add rbp, rax
add r13, 1
mov rdi, qword [rbp]
cmp rdi, 0
je 0x18034739d
mov qword [rsp + 0x20], rdx
add rbp, 8
mov eax, dword [0x180786cd0]
xor edx, edx
div dword [0x180786cd4]
and eax, 0xe8c65afe
add eax, 0x57531622
imul eax, eax, 0xa240fcd1
cmp eax, 0x242ff676
je 0x180347927
jmp 0x180347309
mov r15d, dword [0x180786cd8]
xor r15d, dword [0x180786cdc]
or r15d, 0xc0138e57
or r15d, 0xecc371e3
or r15d, 0xf93839ad
mov rcx, qword [rbp]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp r15d, 0xa3837ec
jb 0x180347309
jmp 0x180347349
mov eax, dword [0x180786ce0]
imul eax, dword [0x180786ce4]
imul eax, eax, 0x48a9f5f4
imul eax, eax, 0xea9c09b8
xor eax, 0xd69220f7
cmp eax, 0xf03ea6e7
mov rdx, qword [rsp + 0x20]
ja 0x180347946
jmp 0x180347379
mov eax, dword [0x180786ce8]
and eax, dword [0x180786cec]
xor eax, 0xcf0a5084
xor eax, 0x40a33a23
or eax, 0xd7509eaf
cmp eax, 0x3cdb8095
jbe 0x180347379
jmp 0x18034739d
cmp r13, r12
sete al
mov ecx, dword [0x180786cf0]
imul ecx, dword [0x180786cf4]
imul ecx, ecx, 0x64b03084
xor ecx, 0x1c497b1e
add ecx, 0x2fc1a4cd
cmp ecx, 0xb5ba5244
ja 0x180347957
mov ecx, dword [0x180786cf8]
xor ecx, dword [0x180786cfc]
or ecx, 0xbecc7c23
add ecx, 0x8287ac4a
xor ecx, 0x2733c93c
cmp ecx, 0x4094f0e5
je 0x180347957
test al, 1
jne 0x180347401
jmp 0x1803472b9
jmp 0x180347403
mov eax, dword [0x180786d00]
add eax, dword [0x180786d04]
xor eax, 0xa359915b
or eax, 0xf7b6f049
xor eax, 0xc53c6b55
cmp eax, 0x39caecb0
jb 0x180347964
jmp 0x18034742b
mov eax, dword [0x180786d08]
imul eax, dword [0x180786d0c]
xor eax, 0xb05d017f
or eax, 0x32c95694
sub eax, 0x16a8d84a
cmp eax, 0x9d90d559
ja 0x18034742b
jmp 0x180347450
mov eax, dword [0x180786d10]
xor edx, edx
div dword [0x180786d14]
mov ecx, 0xa571f431
xor edx, edx
div ecx
imul eax, eax, 0xd41994b6
or eax, 0x5f107ed9
cmp eax, 0xb4097729
ja 0x180347975
mov eax, dword [0x180786d18]
xor eax, dword [0x180786d1c]
and eax, 0x217ed9d1
imul eax, eax, 0x471fb05e
add eax, 0xa807494
mov r8, qword [r14]
cmp r8, 0
sete cl
cmp eax, 0x440801a9
je 0x180347975
jmp 0x1803474b0
mov eax, dword [0x180786d20]
or eax, dword [0x180786d24]
imul eax, eax, 0x4bcc25b
sub eax, 0x3140cdfc
mov r9d, 0xa33ef1fe
xor edx, edx
div r9d
cmp eax, 0x57b9c619
jae 0x180347982
jmp 0x1803474df
mov eax, dword [0x180786d28]
and eax, dword [0x180786d2c]
xor eax, 0x9d83ae09
xor eax, 0x5182ff2f
sub eax, 0x546dfe37
cmp eax, 0x85426c29
jb 0x1803474df
test cl, 1
jne 0x18034763e
jmp 0x18034750c
mov eax, dword [0x180786d30]
and eax, dword [0x180786d34]
mov ecx, 0xc713c3b
xor edx, edx
div ecx
imul eax, eax, 0x356caac9
or eax, 0x72cca3bc
cmp eax, 0xf2844734
ja 0x180347993
mov eax, dword [0x180786d38]
and eax, dword [0x180786d3c]
sub eax, 0x260488b3
mov ecx, 0x8014335f
xor edx, edx
div ecx
add eax, 0xd5b45b8b
mov rcx, qword [rbx]
imul rdx, r8, 0x18
cmp eax, 0xdd227a63
jae 0x180347993
jmp 0x18034756a
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x180786d40]
xor eax, dword [0x180786d44]
imul eax, eax, 0x65d7235
imul eax, eax, 0x7594ac1a
mov ecx, 0xd473c46
xor edx, edx
div ecx
cmp eax, 0x903580e4
je 0x1803479a0
mov eax, dword [0x180786d48]
sub eax, dword [0x180786d4c]
sub eax, 0x25cc271f
and eax, 0x9c478859
mov ecx, 0x70950899
xor edx, edx
div ecx
cmp eax, 0x8a31add2
ja 0x1803479a0
jmp 0x18034763e
mov rcx, rsi
add rcx, 0xf0
call fcn.180346600
mov eax, dword [str.x_.N]
xor eax, dword [0x180786d54]
imul eax, eax, 0x667221d9
and eax, 0x3ba6df0d
sub eax, 0x58d8e5e0
cmp eax, 0xabf9c5a4
je 0x1803479b1
mov eax, dword [0x180786d58]
and eax, dword [0x180786d5c]
imul eax, eax, 0x8d346071
add eax, 0x5f2c947c
imul eax, eax, 0x1e4379e2
cmp eax, 0x4847afdc
jae 0x1803479b1
jmp 0x18034763e
mov rcx, rsi
add rcx, 0xf0
call fcn.180356850
jmp 0x18034763e
mov eax, dword [0x180786d60]
imul eax, dword [0x180786d64]
and eax, 0xfdf72074
mov ecx, 0xd0ad85d0
xor edx, edx
div ecx
or eax, 0xfd27c1f0
cmp eax, 0x9d11251
je 0x1803479c2
mov eax, dword [0x180786d68]
xor eax, dword [0x180786d6c]
mov ecx, 0xba8dcb7b
xor edx, edx
div ecx
add eax, 0x94bcb1b2
xor eax, 0x7cd710c7
mov rcx, rsi
add rcx, 0x58
cmp eax, 0x5b601ee8
je 0x1803479c2
jmp 0x18034769c
mov rdi, qword [rcx]
cmp rdi, 0
sete cl
mov eax, dword [0x180786d70]
and eax, dword [0x180786d74]
sub eax, 0x17db14df
mov r8d, 0x8ec07616
xor edx, edx
div r8d
sub eax, 0x70875f8d
cmp eax, 0x1d2e3a7
je 0x1803479d3
mov eax, dword [0x180786d78]
imul eax, dword [0x180786d7c]
and eax, 0x65d6d2cc
or eax, 0x6673d0d7
imul eax, eax, 0x169d546c
cmp eax, 0x75160020
je 0x1803479d3
test cl, 1
jne 0x18034776b
jmp 0x180347701
mov rbx, rsi
add rbx, 0x60
mov eax, dword [0x180786d80]
add eax, dword [0x180786d84]
or eax, 0xed24d386
sub eax, 0x23ae15c7
imul eax, eax, 0x4864f547
cmp eax, 0xaa8967d4
jae 0x1803479e4
jmp 0x180347731
mov eax, dword [0x180786d88]
and eax, dword [0x180786d8c]
add eax, 0x87e9c628
imul ebp, eax, 0x5acb15bf
and ebp, 0x6297233
mov rcx, qword [rbx]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x94a2804b
ja 0x180347731
jmp 0x180347769
jmp 0x18034776b
mov rcx, rsi
add rcx, 0x70
mov eax, dword [0x180786d90]
xor edx, edx
div dword [0x180786d94]
imul eax, eax, 0x723d4e8b
or eax, 0x8c95a13c
xor eax, 0x62ca45c1
cmp eax, 0x6bd0b744
jb 0x180347a06
mov eax, dword [0x180786d98]
or eax, dword [0x180786d9c]
xor eax, 0xbb51b307
imul r8d, eax, 0x49712992
xor r8d, 0x493f493
mov rdx, qword [rcx]
cmp rdx, 0
sete al
cmp r8d, 0x75b4d6d0
jb 0x180347a06
test al, 1
jne case.0x180346dd3.1
jmp 0x1803477db
add rsi, 0x78
mov rcx, qword [rsi]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180786da0]
sub eax, dword [0x180786da4]
or eax, 0x40b60f80
add eax, 0xc2fbc54e
mov ecx, 0xbe21201e
xor edx, edx
div ecx
cmp eax, 0x78e47064
ja 0x180347a13
jmp 0x180347819
mov eax, dword [0x180786da8]
add eax, dword [0x180786dac]
mov ecx, 0x6d349ec3
xor edx, edx
div ecx
mov ecx, 0x8220b03a
xor edx, edx
div ecx
xor eax, 0x944ccd89
cmp eax, 0x6379ce26
jbe 0x180347819
jmp case.0x180346dd3.1
stc
call 0x10861b9bf
xchg ecx, eax
adc al, byte [rax - 0x162bd14e]
cmp eax, 0x6bfffff5
nop
call 0x17138b47a
imul edx, dword [rax + 0x3c19e84b], 4
int1
jmp 0x180346e24
cmc
invalid
mov bh, 0x6a
std
invalid
wait
sub bh, 0x4e
and dh, byte [rdx - 0x62]
invalid
in al, 0x54
sub al, 0x95
push rdx
pop rsi
xor eax, 0x51ad2d49
mov ebp, ecx
movabs eax, dword [0xf412e7223afffff6]
movabs eax, dword [0xefe9aa007c8399ba]
idiv bh
call qword [rbp + 0x11]
xchg ecx, eax
pop rdx
xchg edx, eax
rcr bl, 0xdc
je 0x180347863
cmp ah, byte [rdx]
out 0x12, eax
hlt
push rbp
adc dword [rcx - 0x243f6da6], edx
fdiv qword [rbx + rsi*4 - 0x5e]
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
movabs byte [0x41fa8948d989484b], al
mov eax, 1
call fcn.1804cafa0
jmp 0x180346fef
invalid
push rdi
call 0x178d6f3aa
sahf
invalid
xor dh, ah
push 0xffffffffffffffb7
pop rdx
call 0x178be62d3
invalid
outsd dx, dword [rsi]
xchg edx, eax
invalid
jae 0x180347961
out dx, eax
scasb al, byte [rdi]
mov ah, 0x99
cld
and ebp, ecx
and cl, bh
invalid
push rcx
sbb r9d, edi
sbb ah, byte [rbp - 0x74b7f9c8]
add byte [r8 - 0x77], r9b
cli
mov r8d, 1
call fcn.1804cafa0
jmp 0x180347307
or al, bh
movabs eax, dword [0x5a97f5de3c50c652]
add ch, cl
and dl, bh
invalid
xchg byte [rsi + 0x631351d6], dl
xor eax, 0xfa6ae975
cli
invalid
and bh, cl
loopne 0x1803479c0
invalid
push rcx
invalid
mov dword [rsi + 0x5f2da334], ebx
stosd dword [rdi], eax
push rsi
js 0x1803479d3
test eax, 0xfb4ae986
invalid
invalid
push rdx
invalid
xchg esp, eax
invalid
invalid
mov ah, 0x97
push rsp
test ebx, edx
retf
xchg ebx, eax
lea esi, [rbx]
clc
mov eax, 0x7a20eea6
jmp 0x180347964
fistp dword [rbp + riz - 0x35]
invalid
mov esp, 0x7c635207
adc byte [rax + rsi], 0xe9
mov ch, bh
invalid
invalid