Function at 0x180016284
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x228
lea rbp, [rsp + 0x80]
mov r12, r8
mov qword [rbp + 0xf8], rdx
mov qword [rbp + 0x100], rcx
sub rsp, 0x20
xor esi, esi
lea rcx, [rbp - 0x78]
mov r8d, 0xf0
xor edx, edx
call fcn.180003c5d
add rsp, 0x20
mov eax, dword [0x1800e5a20]
cmp dword [0x1800e5a24], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
or dl, al
mov byte [rbp + 0x18f], dl
mov edx, ecx
and dl, al
xor dl, 1
mov byte [rbp + 0x18e], dl
xor cl, al
xor cl, 1
mov byte [rbp + 0x18d], cl
lea rax, [0x1800532b0]
movsxd rcx, dword [rsi + rax]
xor dword [rbp + rcx*4 - 0x78], 0x1e27
add rsi, 4
cmp rsi, 0xec
jne 0x180016310
mov eax, 0x5662
xor ecx, ecx
mov qword [rbp + 0x108], rcx
lea r13, [0x180053480]
lea rdx, [0x180053640]
lea rdi, [0x180053748]
lea r10, [0x180053740]
lea r14, [0x180053780]
lea r9, [0x180053778]
lea rsi, [0x180053560]
lea rcx, [0x1800531c0]
mov ebx, 0
mov qword [rbp + 0x110], rbx
mov ebx, 0
mov qword [rbp + 0x118], rbx
mov ebx, 0
mov qword [rbp + 0x120], rbx
mov ebx, 0
mov qword [rbp + 0x170], rbx
mov ebx, 0
mov qword [rbp + 0x78], rbx
mov ebx, 0
mov qword [rbp + 0x80], rbx
mov ebx, 0
mov qword [rbp + 0x88], rbx
mov ebx, 0
mov qword [rbp + 0x90], rbx
mov ebx, 0
mov qword [rbp + 0x98], rbx
mov ebx, 0
mov qword [rbp + 0xa0], rbx
mov ebx, 0
mov qword [rbp + 0xa8], rbx
mov ebx, 0
mov qword [rbp + 0xb0], rbx
xor ebx, ebx
mov qword [rbp + 0xb8], rbx
xor ebx, ebx
mov qword [rbp + 0xc0], rbx
xor ebx, ebx
mov qword [rbp + 0xc8], rbx
xor ebx, ebx
mov qword [rbp + 0xd0], rbx
xor ebx, ebx
mov qword [rbp + 0xd8], rbx
xor ebx, ebx
mov qword [rbp + 0xe0], rbx
xor ebx, ebx
mov qword [rbp + 0xe8], rbx
xor ebx, ebx
mov qword [rbp + 0xf0], rbx
xor ebx, ebx
mov qword [rbp + 0x128], rbx
xor ebx, ebx
mov qword [rbp + 0x130], rbx
mov r8, rdx
mov r11, rsi
mov r15, rcx
cmp eax, 0x3e45
jle 0x18001650e
cmp eax, 0x5e66
jg 0x1800165b6
cmp eax, 0x4ca3
jle 0x1800166e9
cmp eax, 0x5661
jg 0x1800168fa
cmp eax, 0x5390
jg 0x180016df1
cmp eax, 0x4ca4
je 0x180017308
cmp eax, 0x5035
jne 0x18001645f
cmp dword [0x1800e5a28], 0xa
mov eax, dword [0x1800e5a2c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xd8], 0
lea rdx, [0x180053770]
jne 0x1800164ee
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x98e
add rsi, 4
cmp rsi, 8
jne 0x1800164d8
test al, al
mov eax, 0xcb
mov ecx, 0x1a61
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov qword [rbp + 0xd8], rcx
jmp 0x180017e6e
cmp eax, 0x1b98
jle 0x18001664c
cmp eax, 0x319b
jle 0x180016764
cmp eax, 0x3710
jg 0x180016952
cmp eax, 0x339c
jg 0x180016e83
cmp eax, 0x319c
je 0x180017356
cmp eax, 0x321e
jne 0x18001645f
cmp dword [0x1800e5a30], 0xa
mov eax, dword [0x1800e5a34]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x130], 0
lea rdx, [0x180053794]
jne 0x180016596
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x363
add rsi, 4
cmp rsi, 8
jne 0x180016580
test al, al
mov eax, 0x5ea0
mov ecx, 0x1797
cmovne eax, ecx
xor eax, dword [rbp + 0x24]
mov cl, 1
mov qword [rbp + 0x130], rcx
jmp 0x180017e6e
cmp eax, 0x65c1
jle 0x1800167f6
cmp eax, 0x6ccf
jle 0x1800169aa
cmp eax, 0x7108
jg 0x180016f0b
cmp eax, 0x6cd0
je 0x18001737d
cmp eax, 0x70c7
jne 0x18001645f
cmp dword [0x1800e5a38], 0xa
mov eax, dword [0x1800e5a3c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa8], 0
jne 0x18001662c
xor esi, esi
movsxd rcx, dword [rsi + r10]
xor dword [rbp + rcx*4 - 0x78], 0xbb5
add rsi, 4
cmp rsi, 8
jne 0x180016616
test al, al
mov eax, 0x1106
mov ecx, 0xfa4
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov qword [rbp + 0xa8], rcx
jmp 0x180017e6e
cmp eax, 0xc4f
jg 0x180016858
cmp eax, 0x44d
jle 0x180016b8e
cmp eax, 0xaf3
jg 0x180016f3f
cmp eax, 0x44e
je 0x1800173b3
cmp eax, 0xabb
jne 0x18001645f
cmp dword [0x1800e5a40], 0xa
mov eax, dword [0x1800e5a44]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
lea rdx, [0x180053738]
sete al
or al, cl
cmp byte [rbp + 0xa0], 0
jne 0x1800166c9
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x22f1
add rsi, 4
cmp rsi, 8
jne 0x1800166b3
test al, al
mov eax, 0x73ba
mov ecx, 0x231f
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov qword [rbp + 0xa0], rcx
jmp 0x180017e6e
cmp eax, 0x4120
jle 0x180016c13
cmp eax, 0x4653
jg 0x180016fbb
cmp eax, 0x4121
je 0x180017aec
cmp eax, 0x413f
jne 0x18001645f
mov rax, qword [rbp + 0x160]
mov dword [rax], 0xffffffff
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x29de5dde
mov eax, dword [0x1800e5a48]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x7c1a
mov ecx, 0x7f98
cmove eax, ecx
cmp dword [0x1800e5a4c], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp - 0x44]
jmp 0x18001645f
cmp eax, 0x2d35
jle 0x180016c50
cmp eax, 0x2f1d
jg 0x180017002
cmp eax, 0x2d36
je 0x180017416
cmp eax, 0x2e2b
jne 0x18001645f
cmp dword [0x1800e5a50], 0xa
mov eax, dword [0x1800e5a54]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb8], 0
lea rdx, [0x180053750]
jne 0x1800167d6
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x5497
add rsi, 4
cmp rsi, 8
jne 0x1800167c0
test al, al
mov eax, 0x66ee
mov ecx, 0x1220
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov qword [rbp + 0xb8], rcx
jmp 0x180017e6e
cmp eax, 0x60c3
jle 0x180016ce2
cmp eax, 0x647e
jg 0x180017170
cmp eax, 0x60c4
je 0x18001745b
cmp eax, 0x6267
jne 0x18001645f
mov rax, qword [rbp + 0x180]
mov dword [rax], 1
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [rbp + 0x5c]
mov ebx, 0x4828
xor eax, ebx
jmp 0x18001645f
cmp eax, 0x124a
jle 0x180016d6e
cmp eax, 0x174f
jg 0x1800171e9
cmp eax, 0x124b
je 0x1800176ee
cmp eax, 0x15de
jne 0x18001645f
mov esi, dword [0x1800e5a58]
cmp dword [0x1800e5a5c], 0xa
setl al
lea ebx, [rsi + 1]
imul ebx, esi
and ebx, 1
sete dl
mov ecx, eax
and cl, dl
and bl, al
xor bl, al
xor bl, dl
or al, dl
xor al, bl
xor al, dl
or al, cl
cmp byte [rbp + 0x80], 0
lea rdx, [0x180053718]
jne 0x1800168da
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x28d2
add rsi, 4
cmp rsi, 8
jne 0x1800168c4
test al, al
mov eax, 0x74f3
mov ecx, 0x2934
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov cl, 1
mov qword [rbp + 0x80], rcx
jmp 0x180016b82
cmp eax, 0x5bcf
jg 0x18001723a
cmp eax, 0x5662
je 0x1800174ac
cmp eax, 0x58f6
jne 0x18001645f
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [rbp + 0x4c]
mov rbx, r10
mov r10, r12
mov r12d, 0x411
xor eax, r12d
mov r12, r10
mov r10, rbx
jmp 0x18001645f
cmp eax, 0x3b9b
jg 0x18001725f
cmp eax, 0x3711
je 0x180017d19
cmp eax, 0x3a4a
jne 0x18001645f
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x140]
cmp rax, qword [rcx]
mov eax, 0x1efd417a
mov ecx, 0xeb2967de
cmovb eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [rbp + 0x48]
mov ecx, 0x1ee
jmp 0x180017a4e
cmp eax, 0x6aee
jg 0x1800172a2
cmp eax, 0x65c2
je 0x180017503
cmp eax, 0x6930
jne 0x18001645f
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x160], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x158], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x198], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x190], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x180], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x178], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x140]
mov rcx, r12
mov qword [rax], r12
mov rax, qword [rbp + 0x158]
mov rdx, qword [rbp + 0xf8]
mov qword [rax], rdx
mov rax, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x100]
mov qword [rax], rdx
mov rax, qword [rbp + 0x150]
cmp qword [rax], 0
mov rax, qword [rbp + 0x148]
setne byte [rax]
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x3bbe847b
cmp dword [0x1800e5a60], 0xa
mov eax, dword [0x1800e5a64]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x110], 0
lea rdx, [0x1800533a0]
jne 0x180016b64
xor r12d, r12d
movsxd rsi, dword [r12 + rdx]
xor dword [rbp + rsi*4 - 0x78], 0x52f6
add r12, 4
cmp r12, 0xe0
jne 0x180016b4b
test al, al
mov eax, 0x31cd
mov edx, 0x1a4f
cmovne eax, edx
xor eax, dword [rbp - 0x70]
mov dl, 1
mov qword [rbp + 0x110], rdx
mov r12, rcx
lea r13, [0x180053480]
jmp 0x180017e6e
cmp eax, 0x77
je 0x180017526
cmp eax, 0xef
je 0x180017d96
cmp eax, 0x270
jne 0x18001645f
cmp dword [0x1800e5a68], 0xa
mov eax, dword [0x1800e5a6c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
lea rdx, [0x180053788]
sete al
or al, cl
cmp byte [rbp + 0xf0], 0
jne 0x180016bf3
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x5c3b
add rsi, 4
cmp rsi, 0xc
jne 0x180016bdd
test al, al
mov eax, 0x763e
mov ecx, 0x5269
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp + 0xf0], rcx
jmp 0x180017e6e
cmp eax, 0x3e46
je 0x18001756e
cmp eax, 0x3e94
je 0x180017c8e
cmp eax, 0x3fce
jne 0x18001645f
mov rax, qword [rbp + 0x160]
mov eax, dword [rax]
mov dword [rbp + 0x138], eax
mov eax, dword [rbp + 0x70]
mov ecx, 0xe52
jmp 0x180017a4e
cmp eax, 0x1b99
je 0x18001761a
cmp eax, 0x20d4
je 0x18001767d
cmp eax, 0x285f
jne 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x198]
mov qword [rcx], rax
mov rax, qword [rbp + 0x190]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x190]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0xc5171fc1
mov eax, dword [0x1800e5a70]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5e13
mov ecx, 0x6c7a
cmovne eax, ecx
cmp dword [0x1800e5a74], 9
mov ecx, 0x5e13
cmovle eax, ecx
mov rcx, r15
xor eax, dword [rbp - 4]
jmp 0x18001645f
cmp eax, 0x5e67
je 0x180017754
cmp eax, 0x5f03
je 0x180017785
cmp eax, 0x5f11
mov rcx, r15
jne 0x18001645f
cmp dword [0x1800e5a78], 0xa
mov eax, dword [0x1800e5a7c]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x78], 0
lea rcx, [0x180053710]
jne 0x180016d4a
xor esi, esi
movsxd rbx, dword [rsi + rcx]
xor dword [rbp + rbx*4 - 0x78], 0x20ad
add rsi, 4
cmp rsi, 8
jne 0x180016d34
test al, al
mov eax, 0x15a4
mov ecx, 0x2520
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov qword [rbp + 0x78], rcx
lea r13, [0x180053480]
jmp 0x180017e71
cmp eax, 0xc50
je 0x1800177fe
cmp eax, 0xded
je 0x18001785d
cmp eax, 0x105a
mov rcx, r15
jne 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
mov al, byte [rax]
mov rcx, qword [rbp + 0x190]
mov rcx, qword [rcx]
cmp al, byte [rcx]
mov eax, 0x65419844
mov ecx, 0xb2998df1
cmova eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [0x1800e5a80]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0xc04
mov ecx, 0x33f7
cmove eax, ecx
cmp dword [0x1800e5a84], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp - 0x14]
jmp 0x18001645f
cmp eax, 0x5391
je 0x180017898
cmp eax, 0x5494
jne 0x18001645f
mov rax, qword [rbp + 0x1a0]
mov eax, dword [rax]
mov dword [rbp + 0x13c], eax
mov rcx, rsi
mov esi, dword [0x1800e5a88]
cmp dword [0x1800e5a8c], 9
setg bl
lea eax, [rsi + 1]
imul eax, esi
and al, bl
cmp byte [rbp + 0x120], 0
jne 0x180016e55
xor esi, esi
movsxd rbx, dword [rsi + rcx]
xor dword [rbp + rbx*4 - 0x78], 0x2297
add rsi, 4
cmp rsi, 0xd4
jne 0x180016e3c
test al, al
mov eax, 0x65a6
mov esi, 0x3f63
cmovne eax, esi
xor eax, dword [rbp - 0x68]
mov sil, 1
mov qword [rbp + 0x120], rsi
lea r13, [0x180053480]
mov rsi, rcx
mov rcx, r15
jmp 0x18001645f
cmp eax, 0x339d
je 0x1800178ed
cmp eax, 0x3689
jne 0x18001645f
mov rax, qword [rbp + 0x180]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x160]
mov dword [rcx], eax
mov rax, qword [rbp + 0x168]
mov dword [rax], 1
mov rax, qword [rbp + 0x180]
mov rax, qword [rbp + 0x190]
mov rax, qword [rbp + 0x198]
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x29de5dde
mov eax, dword [0x1800e5a90]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x475f
mov ecx, 0x39e5
cmove eax, ecx
cmp dword [0x1800e5a94], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp + 0x14]
jmp 0x18001645f
cmp eax, 0x7109
je 0x18001793f
cmp eax, 0x7a11
jne 0x18001645f
mov rax, qword [rbp + 0x1a0]
mov eax, dword [rax]
mov dword [rbp + 0x13c], eax
mov eax, dword [rbp + 0x30]
mov ebx, 0x11e6
xor eax, ebx
jmp 0x18001645f
cmp eax, 0xaf4
je 0x180017e09
cmp eax, 0xbcf
jne 0x18001645f
cmp dword [0x1800e5a98], 0xa
mov eax, dword [0x1800e5a9c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
lea rdx, [0x180053768]
sete al
or al, cl
cmp byte [rbp + 0xd0], 0
jne 0x180016f9b
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x25fd
add rsi, 4
cmp rsi, 8
jne 0x180016f85
test al, al
mov eax, 0x4987
mov ecx, 0x61af
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov qword [rbp + 0xd0], rcx
jmp 0x180017e6e
cmp eax, 0x4654
je 0x180017997
cmp eax, 0x493b
jne 0x18001645f
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x178]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x298cecfa
mov eax, dword [rbp + 0x64]
mov ecx, 0x13ef
jmp 0x180017a4e
cmp eax, 0x2f1e
je 0x1800179e2
cmp eax, 0x2fcc
jne 0x18001645f
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x148], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x160], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x158], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x198], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x190], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x180], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x178], rax
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x140]
mov qword [rax], r12
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0xf8]
mov qword [rax], rcx
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x100]
mov qword [rax], rcx
mov rax, qword [rbp + 0x150]
cmp qword [rax], 0
mov rax, qword [rbp + 0x148]
setne byte [rax]
mov eax, 0x10
call fcn.1800506c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1a0], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x3bbe847b
mov eax, dword [rbp + 0x2c]
mov ecx, 0x7731
jmp 0x180017a4e
cmp eax, 0x647f
je 0x180017a13
cmp eax, 0x657f
jne 0x18001645f
mov eax, dword [0x1800e5aa0]
cmp dword [0x1800e5aa4], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xe8], 0
jne 0x1800171c9
xor esi, esi
movsxd rcx, dword [rsi + r14]
xor dword [rbp + rcx*4 - 0x78], 0x420b
add rsi, 4
cmp rsi, 8
jne 0x1800171b3
test al, al
mov eax, 0x554
mov ecx, 0x7f79
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp + 0xe8], rcx
jmp 0x180017e6e
cmp eax, 0x1750
je 0x180017a46
cmp eax, 0x1a9b
jne 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
mov al, byte [rax]
mov rcx, qword [rbp + 0x190]
mov rcx, qword [rcx]
cmp al, byte [rcx]
mov eax, 0x827bda07
mov ecx, 0xff9f99b4
cmovb eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [rbp + 0x50]
mov ecx, 0x1450
jmp 0x180017a4e
cmp eax, 0x5bd0
je 0x180017a58
cmp eax, 0x5c54
jne 0x18001645f
mov eax, dword [rbp + 0x34]
mov ebx, 0x58d
xor eax, ebx
jmp 0x18001645f
cmp eax, 0x3b9c
je 0x180017c04
cmp eax, 0x3d03
jne 0x18001645f
mov rax, qword [rbp + 0x148]
cmp byte [rax], 0
mov eax, 0x1f47f77a
mov ecx, 0xd6d2efb2
cmovne eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [rbp + 0x38]
mov ecx, 0x1e6
jmp 0x180017a4e
cmp eax, 0x6aef
jne 0x180017ced
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x140]
cmp rax, qword [rcx]
mov eax, 0x1efd417a
mov ecx, 0xeb2967de
cmovb eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [0x1800e5aa8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov rcx, r15
mov eax, 0x514b
mov ebx, 0x591f
cmove eax, ebx
cmp dword [0x1800e5aac], 0xa
cmovl eax, ebx
xor eax, dword [rbp - 0x34]
jmp 0x18001645f
mov rax, qword [rbp + 0x180]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x160]
mov dword [rcx], eax
mov rax, qword [rbp + 0x168]
mov dword [rax], 1
mov rax, qword [rbp + 0x180]
mov rax, qword [rbp + 0x190]
mov rax, qword [rbp + 0x198]
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x29de5dde
mov eax, dword [rbp + 0x6c]
mov ecx, 0x3d72
jmp 0x180017a4e
mov rax, qword [rbp + 0x160]
mov dword [rax], 0xffffffff
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x29de5dde
mov eax, dword [rbp + 0x40]
mov ecx, 0xcb9
jmp 0x180017a4e
mov eax, dword [0x1800e5ab0]
mov esi, 1
sub esi, eax
imul esi, eax
test sil, 1
mov rsi, r11
mov eax, 0x3509
mov ebx, 0x5b43
cmove eax, ebx
cmp dword [0x1800e5ab4], 0xa
cmovl eax, ebx
xor eax, dword [rbp - 0x5c]
jmp 0x18001645f
cmp dword [0x1800e5ab8], 0xa
mov eax, dword [0x1800e5abc]
setl bl
lea esi, [rax + 1]
imul esi, eax
test sil, 1
sete al
or al, bl
cmp byte [rbp + 0x118], 0
jne 0x1800173f6
xor esi, esi
movsxd rbx, dword [rsi + r13]
xor dword [rbp + rbx*4 - 0x78], 0x985
add rsi, 4
cmp rsi, 0xdc
jne 0x1800173dd
test al, al
mov eax, 0x36e6
mov edx, 0x1863
cmovne eax, edx
xor eax, dword [rbp - 0x6c]
mov dl, 1
mov qword [rbp + 0x118], rdx
jmp 0x180017e6e
mov rax, qword [rbp + 0x178]
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x600282b6
mov eax, dword [0x1800e5ac0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2f7a
mov ecx, 0x78a6
cmove eax, ecx
cmp dword [0x1800e5ac4], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp + 0xc]
jmp 0x18001645f
mov rax, qword [rbp + 0x148]
cmp byte [rax], 0
mov eax, 0x1f47f77a
mov ecx, 0xd6d2efb2
cmovne eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [0x1800e5ac8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov rcx, r15
mov eax, 0x5c21
mov ebx, 0x533c
cmove eax, ebx
cmp dword [0x1800e5acc], 0xa
cmovl eax, ebx
xor eax, dword [rbp - 0x54]
jmp 0x18001645f
mov al, byte [rbp + 0x18e]
mov al, byte [rbp + 0x18d]
cmp byte [rbp + 0x108], 0
jne 0x1800174d8
xor eax, eax
movsxd rsi, dword [rax + rcx]
xor byte [rbp + rsi*4 - 0x78], 0x26
add rax, 4
cmp rax, 0xe8
jne 0x1800174c3
cmp byte [rbp + 0x18f], 0
mov eax, 0x31eb
mov ecx, 0x7717
cmovne eax, ecx
xor eax, dword [rbp - 0x78]
mov cl, 1
mov qword [rbp + 0x108], rcx
mov rcx, r15
mov rsi, r11
jmp 0x18001645f
mov rax, qword [rbp + 0x178]
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x600282b6
mov eax, dword [rbp + 0x68]
mov ebx, 0x678e
xor eax, ebx
jmp 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x198]
mov qword [rcx], rax
mov rax, qword [rbp + 0x190]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x190]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0xc5171fc1
mov eax, dword [rbp + 0x60]
mov ecx, 0x4452
jmp 0x180017a4e
mov rax, qword [rbp + 0x198]
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x198]
mov qword [rcx], rax
mov rax, qword [rbp + 0x190]
mov rax, qword [rbp + 0x158]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x190]
mov qword [rcx], rax
mov rax, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
mov dword [rax], 0
mov rax, qword [rbp + 0x178]
mov rax, qword [rbp + 0x178]
mov qword [rax], 0
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x298cecfa
mov eax, dword [0x1800e5ad0]
mov ecx, eax
xor ecx, 0xbc589903
lea edx, [rax + rcx]
add ecx, edx
dec ecx
mov rdx, r8
imul ecx, eax
test cl, 1
mov eax, 0x46ca
mov ecx, 0x2bd7
cmove eax, ecx
cmp dword [0x1800e5ad4], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp - 0x3c]
jmp 0x18001645f
mov rax, qword [rbp + 0x160]
mov eax, dword [rax]
mov dword [rbp + 0x138], eax
cmp dword [0x1800e5ad8], 0xa
mov eax, dword [0x1800e5adc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x128], 0
jne 0x180017657
xor dword [rbp + 0x20], 0x3149
test al, al
mov eax, 0x2a05
mov ecx, 0x7e7a
cmovne eax, ecx
xor eax, dword [rbp + 0x1c]
mov cl, 1
mov qword [rbp + 0x128], rcx
mov rdx, r8
mov rcx, r15
jmp 0x18001645f
mov eax, dword [rbp + 0x13c]
cmp byte [rbp + 0x170], 0
jne 0x1800176a7
xor esi, esi
movsxd rbx, dword [rsi + rdx]
xor dword [rbp + rbx*4 - 0x78], 0x2e15
add rsi, 4
cmp rsi, 0xd0
jne 0x18001768e
cmp eax, 0x1efd4179
jle 0x180017ab0
mov cl, 1
cmp eax, 0x3bbe847a
jg 0x180017b4b
cmp eax, 0x298cecf9
jg 0x180017bb5
mov qword [rbp + 0x170], rcx
cmp eax, 0x1efd417a
je 0x180017cfd
cmp eax, 0x1f47f77a
lea r13, [0x180053480]
jne 0x180016d06
cmp dword [0x1800e5ae0], 0xa
mov eax, dword [0x1800e5ae4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
lea rdx, [0x180053728]
sete al
or al, cl
cmp byte [rbp + 0x90], 0
jne 0x180017734
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x476
add rsi, 4
cmp rsi, 8
jne 0x18001771e
test al, al
mov eax, 0x786c
mov ecx, 0x8cf
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov qword [rbp + 0x90], rcx
jmp 0x180017e6e
mov eax, dword [0x1800e5ae8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5dc3
mov ecx, 0x4edd
cmove eax, ecx
cmp dword [0x1800e5aec], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x28]
mov rcx, r15
jmp 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x198]
mov qword [rcx], rax
mov rax, qword [rbp + 0x190]
mov rax, qword [rbp + 0x158]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x190]
mov qword [rcx], rax
mov rax, qword [rbp + 0x180]
mov rax, qword [rbp + 0x180]
mov dword [rax], 0
mov rax, qword [rbp + 0x178]
mov rax, qword [rbp + 0x178]
mov qword [rax], 0
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x298cecfa
mov eax, dword [rbp + 0x44]
mov ecx, 0x278f
jmp 0x180017a4e
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
mov al, byte [rax]
mov rcx, qword [rbp + 0x190]
mov rcx, qword [rcx]
cmp al, byte [rcx]
mov eax, 0x827bda07
mov ecx, 0xff9f99b4
cmovb eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [0x1800e5af0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x29b
mov ecx, 0x2a1e
cmove eax, ecx
cmp dword [0x1800e5af4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
mov rcx, r15
jmp 0x18001645f
mov rax, qword [rbp + 0x198]
mov rax, qword [rax]
mov al, byte [rax]
mov rcx, qword [rbp + 0x190]
mov rcx, qword [rcx]
cmp al, byte [rcx]
mov eax, 0x65419844
mov ecx, 0xb2998df1
cmova eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [rbp + 0x58]
mov ecx, 0x11b3
jmp 0x180017a4e
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
inc rax
mov rcx, qword [rbp + 0x178]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x298cecfa
mov eax, dword [0x1800e5af8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x945
mov ecx, 0x7260
cmove eax, ecx
cmp dword [0x1800e5afc], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp + 4]
jmp 0x18001645f
mov rax, qword [rbp + 0x158]
cmp qword [rax], 0
mov eax, 0xedd386c
mov ecx, 0x1f47f77a
cmove eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov eax, dword [0x1800e5b00]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x3b52
mov ecx, 0x6d33
cmove eax, ecx
cmp dword [0x1800e5b04], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp - 0x4c]
jmp 0x18001645f
mov rax, qword [rbp + 0x180]
mov dword [rax], 1
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [0x1800e5b08]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov rcx, r15
mov eax, 0x5b46
mov ebx, 0xb3f
cmove eax, ebx
cmp dword [0x1800e5b0c], 0xa
cmovl eax, ebx
xor eax, dword [rbp - 0xc]
jmp 0x18001645f
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [0x1800e5b10]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1ab3
mov ecx, 0x705b
cmove eax, ecx
cmp dword [0x1800e5b14], 0xa
cmovl eax, ecx
mov rcx, r15
xor eax, dword [rbp - 0x2c]
jmp 0x18001645f
mov rax, qword [rbp + 0x180]
mov dword [rax], 0xffffffff
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [rbp + 0x54]
mov ecx, 0x46b7
jmp 0x180017a4e
mov rax, qword [rbp + 0x158]
cmp qword [rax], 0
mov eax, 0xedd386c
mov ecx, 0x1f47f77a
cmove eax, ecx
mov rcx, qword [rbp + 0x1a0]
mov dword [rcx], eax
mov rcx, r15
mov eax, dword [rbp + 0x3c]
mov ebx, 0x6cb0
xor eax, ebx
jmp 0x18001645f
mov eax, dword [rbp + 0x74]
mov ecx, 0x14f4
xor eax, ecx
mov rcx, r15
jmp 0x18001645f
mov rax, qword [rbp + 0x180]
mov dword [rax], 0xffffffff
mov rax, qword [rbp + 0x168]
mov dword [rax], 2
mov rax, qword [rbp + 0x1a0]
mov dword [rax], 0x7dcf4f9f
mov eax, dword [0x1800e5b18]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov rcx, r15
mov eax, 0x3279
mov ebx, 0x2f79
cmove eax, ebx
cmp dword [0x1800e5b1c], 0xa
cmovl eax, ebx
xor eax, dword [rbp - 0x1c]
jmp 0x18001645f
cmp eax, 0xd6d2efb1
jle 0x180017b7f
cmp eax, 0xff9f99b3
jg 0x180017bde
cmp eax, 0xd6d2efb2
je 0x180017d09
mov cl, 1
mov qword [rbp + 0x170], rcx
cmp eax, 0xeb2967de
lea r13, [0x180053480]
jne 0x180016d06
cmp dword [0x1800e5b20], 0xa
mov eax, dword [0x1800e5b24]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb0], 0
jne 0x180017b2b
xor esi, esi
movsxd rcx, dword [rsi + rdi]
xor dword [rbp + rcx*4 - 0x78], 0x51f0
add rsi, 4
cmp rsi, 8
jne 0x180017b15
test al, al
mov eax, 0x536b
mov ecx, 0x45a0
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov qword [rbp + 0xb0], rcx
jmp 0x180017e6e
cmp eax, 0x65419843
jg 0x180017c6a
mov qword [rbp + 0x170], rcx
cmp eax, 0x3bbe847b
je 0x180016884
cmp eax, 0x600282b6
lea r13, [0x180053480]
je 0x180017186
jmp 0x180016d06
cmp eax, 0x827bda07
je 0x180017d86
cmp eax, 0xb2998df1
je 0x180017df9
mov cl, 1
mov qword [rbp + 0x170], rcx
cmp eax, 0xc5171fc1
lea r13, [0x180053480]
je 0x1800164a8
jmp 0x180016d06
mov qword [rbp + 0x170], rcx
cmp eax, 0x298cecfa
je 0x180017e7c
cmp eax, 0x29de5dde
lea r13, [0x180053480]
je 0x180016bad
jmp 0x180016d06
mov cl, 1
mov qword [rbp + 0x170], rcx
cmp eax, 0xff9f99b4
je 0x180017e88
cmp eax, 0xedd386c
lea r13, [0x180053480]
jne 0x180016d06
cmp dword [0x1800e5b28], 0xa
mov eax, dword [0x1800e5b2c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x98], 0
lea rdx, [0x180053730]
jne 0x180017c4a
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x5039
add rsi, 4
cmp rsi, 8
jne 0x180017c34
test al, al
mov eax, 0x16f3
mov ecx, 0x77b6
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov qword [rbp + 0x98], rcx
jmp 0x180017e6e
mov qword [rbp + 0x170], rcx
cmp eax, 0x65419844
je 0x180017e94
cmp eax, 0x7dcf4f9f
lea r13, [0x180053480]
jne 0x180016d06
cmp dword [0x1800e5b30], 0xa
mov eax, dword [0x1800e5b34]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xe0], 0
jne 0x180017ccd
xor esi, esi
movsxd rcx, dword [rsi + r9]
xor dword [rbp + rcx*4 - 0x78], 0x348
add rsi, 4
cmp rsi, 8
jne 0x180017cb7
test al, al
mov eax, 0x2c32
mov ecx, 0x64c6
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp + 0xe0], rcx
jmp 0x180017e6e
cmp eax, 0x6bb1
je 0x180017ea0
jmp 0x18001645f
lea r13, [0x180053480]
jmp 0x1800165ed
mov al, 1
mov qword [rbp + 0x170], rax
lea r13, [0x180053480]
mov eax, dword [0x1800e5b38]
cmp dword [0x1800e5b3c], 0xa
setl cl
mov edx, eax
not edx
lea esi, [rax + rax]
add esi, edx
imul esi, eax
test sil, 1
sete al
or al, cl
cmp byte [rbp + 0x88], 0
lea rdx, [0x180053720]
jne 0x180017d66
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x16dd
add rsi, 4
cmp rsi, 8
jne 0x180017d50
test al, al
mov eax, 0x2d8f
mov ecx, 0x7a6d
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov qword [rbp + 0x88], rcx
jmp 0x180017e6e
mov al, 1
mov qword [rbp + 0x170], rax
lea r13, [0x180053480]
cmp dword [0x1800e5b40], 0xa
mov eax, dword [0x1800e5b44]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xc0], 0
lea rdx, [0x180053758]
jne 0x180017ddc
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x4819
add rsi, 4
cmp rsi, 8
jne 0x180017dc6
test al, al
mov eax, 0x441d
mov ecx, 0x59aa
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov cl, 1
mov qword [rbp + 0xc0], rcx
jmp 0x180017e6e
mov al, 1
mov qword [rbp + 0x170], rax
lea r13, [0x180053480]
mov eax, dword [0x1800e5b48]
cmp dword [0x1800e5b4c], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xc8], 0
lea rdx, [0x180053760]
jne 0x180017e53
xor esi, esi
movsxd rcx, dword [rsi + rdx]
xor dword [rbp + rcx*4 - 0x78], 0x70d1
add rsi, 4
cmp rsi, 8
jne 0x180017e3d
test al, al
mov eax, 0x2b97
mov ecx, 0x38f9
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov qword [rbp + 0xc8], rcx
mov rdx, r8
mov rsi, r11
mov rcx, r15
jmp 0x18001645f
lea r13, [0x180053480]
jmp 0x180016683
lea r13, [0x180053480]
jmp 0x180016790
lea r13, [0x180053480]
jmp 0x180016f55
mov eax, dword [rbp + 0x138]
lea rsp, [rbp + 0x1a8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret