Function at 0x180001090
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
cmp dword [0x180020a6c], 0xa
jl 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop
jmp 0x1800010c0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rcx, rsp
cmp dword [0x180020a74], 0xa
jl 0x180001102
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001102
nop dword [rax]
jmp 0x180001100
mov al, byte [section..data]
mov byte [rdi], al
cmp dword [0x180020a74], 0xa
jl 0x180001124
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800011a0
mov al, byte [0x180004001]
mov byte [rdi + 1], al
cmp dword [0x180020a74], 0xa
jl 0x180001147
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800011a0
mov al, byte [0x180004002]
mov byte [rdi + 2], al
cmp dword [0x180020a74], 0xa
jl 0x18000116a
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800011a0
mov al, byte [0x180004003]
mov byte [rdi + 3], al
mov eax, dword [0x180020a78]
mov r9d, dword [0x180020a74]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
cmp r9d, 0xa
jl 0x1800011a2
test r11d, r11d
je 0x1800011a2
nop word [rax + rax]
jmp 0x1800011a0
cmp dword [0x180020a6c], 0xa
jl 0x1800011c2
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800011c2
nop dword [rax]
jmp 0x1800011c0
mov r10d, dword [rdi]
test r10, r10
je 0x1800012dd
xor eax, eax
cmp r10d, 0x10
jb 0x1800012af
lea rbx, [r10 - 1]
cmp rbx, 0x400
jae 0x1800012af
mov eax, r10d
and eax, 0xfffffff0
lea rbx, [rax - 0x10]
mov rdi, rbx
shr rdi, 4
add rdi, 1
mov r8d, edi
and r8d, 1
test rbx, rbx
je 0x180001275
mov rbx, r8
sub rbx, rdi
xor edx, edx
lea rdi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov esi, edx
and esi, 0x3e0
movups xmm1, xmmword [rsi + rdi + 4]
movups xmm2, xmmword [rdx + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdx + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rdx + rdi + 0x404], xmm2
lea esi, [rdx + 0x10]
and esi, 0x3f0
movups xmm2, xmmword [rsi + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdx + rdi + 0x414], xmm1
add rdx, 0x20
add rbx, 2
jne 0x180001222
jmp 0x180001277
xor edx, edx
test r8, r8
je 0x1800012aa
mov ebx, edx
and ebx, 0x3f0
lea rdi, section..data
movups xmm0, xmmword [rbx + rdi + 4]
movups xmm1, xmmword [rdx + rdi + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rdx + rdi + 0x404], xmm1
cmp rax, r10
je 0x1800012dd
lea rbx, section..data
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rbx + 4]
xor dl, byte [rax + rbx + 0x404]
xor dl, 0xc
mov byte [rax + rbx + 0x404], dl
add rax, 1
cmp rax, r10
jb 0x1800012b6
cmp r9d, 0xa
jl 0x1800012f2
test r11d, r11d
je 0x1800012f2
nop dword [rax + rax]
jmp 0x1800012f0
lea r13, section..data
lea r8, [r10 + r13]
add r8, 0x404
movzx eax, byte [r10 + r13 + 0x404]
mov byte [rcx], al
cmp dword [0x180020a74], 0xa
jl 0x18000132d
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800015a0
movzx eax, byte [r8 + 1]
mov byte [rcx + 1], al
cmp dword [0x180020a74], 0xa
jl 0x180001353
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800015a0
movzx eax, byte [r8 + 2]
mov byte [rcx + 2], al
cmp dword [0x180020a74], 0xa
jl 0x180001379
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800015a0
movzx eax, byte [r8 + 3]
mov byte [rcx + 3], al
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x1800013a1
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x1800015a0
cmp dword [0x180020a6c], 0xa
jl 0x1800015c2
mov esi, dword [0x180020a70]
lea edx, [rsi - 1]
imul edx, esi
mov edi, edx
and edi, 1
je 0x1800015c2
test dl, 1
je 0x1800013e5
jmp 0x1800014c6
cmp ebx, 0xa
jl 0x180001304
test edi, edi
je 0x180001304
jmp 0x1800012f0
cmp ebx, 0xa
jl 0x1800013f9
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800015c0
movzx eax, byte [r10 + r13 + 0x404]
mov byte [rcx], al
cmp dword [0x180020a74], 0xa
jl 0x180001422
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001590
movzx eax, byte [r10 + r13 + 0x405]
mov byte [rcx + 1], al
cmp dword [0x180020a74], 0xa
jl 0x18000144c
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001590
movzx eax, byte [r10 + r13 + 0x406]
mov byte [rcx + 2], al
cmp dword [0x180020a74], 0xa
jl 0x180001476
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001590
movzx eax, byte [r10 + r13 + 0x407]
mov byte [rcx + 3], al
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ebx, 0xa
jl 0x1800014a4
test edi, edi
jne 0x180001590
cmp dword [0x180020a6c], 0xa
jl 0x1800013cf
mov edx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
je 0x1800013cf
cmp ebx, 0xa
jl 0x1800014da
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800015b0
movzx eax, byte [r10 + r13 + 0x404]
mov byte [rcx], al
cmp dword [0x180020a74], 0xa
jl 0x180001503
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001580
movzx eax, byte [r10 + r13 + 0x405]
mov byte [rcx + 1], al
cmp dword [0x180020a74], 0xa
jl 0x180001529
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001580
movzx eax, byte [r10 + r13 + 0x406]
mov byte [rcx + 2], al
cmp dword [0x180020a74], 0xa
jl 0x18000154f
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001580
movzx eax, byte [r10 + r13 + 0x407]
mov byte [rcx + 3], al
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x1800013e5
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800013e5
nop
jmp 0x180001580
jmp 0x180001590
jmp 0x1800015a0
jmp 0x1800015b0
jmp 0x1800015c0
lea rsi, [r8 + 4]
mov ebx, dword [rcx]
test rbx, rbx
mov qword [rbp - 8], rsi
je 0x180001717
xor ecx, ecx
cmp ebx, 0x20
jb 0x1800016f3
lea rax, [rbx - 1]
cmp rax, 0x400
jae 0x1800016f3
lea rax, [rbx + r13]
add rax, 4
cmp rsi, rax
jae 0x18000161c
lea rax, [r8 + rbx]
add rax, 4
lea rcx, str.TZuFjYEDcFqbeTGmihQwaTpAbVTogpyPqapSoMWXbBFkLWbYELfFjgjwhYfzcClkizbsjhQysELDQuHOapOtSmWaRpRlsGazGQlXhBMUkzKhnCliaCQinCCGuKOYOBvjoxrKvLTsYhyscieICTkOjvqtsKbBaneVsJpGQbwLpHPUGWmZQSoPwdArcADbplRrYxTxEirWJqVqbCpQKQMJRlGkaBrwSrgmWvnQeSIToIszIfcYxlOKFCoKeTDbYXbXpXZGgJeHevGFHJuqbpQYJInmtSxWVSQvYcBicrWTQZfmyQVSIyPttiWJnzBDYoqFCbMzJoHOyZAKIxoEtqakdCSdTCpnWxehvQsCxDvfroBKSBqivJFbEqKWEVBCHcnGmEYelHWmwSIOcYCmSELmuurwFlAVYFhTXmhGUwfHdYTKUCcHWkOfUjIrrqseKMHFjqMhuMyrPbwlyFejPaFiZzSVYLdHOzVOWeFRGYLUwkeowsCqJfzqgGeDZlcbaOeRtcVmgRIzeQwmvaZcPRdPnTPPfKeXScCRCtJOOdLugWwMCkewvKQhUsZDQstzkhqUixzgErcXioaoDbIILZkmypqeTZzCzXBlltgsdQrcequiFdjAEEzPDOGzpjvsJkXEaXSqlAZjDkoaVpKMjIvQhrSfujzyKGBUEgqLEAbwaPkQiLBoVfbKoZdmkYxnfYpBMFDFKpDwGhESFlAGztrFzlAtdIywPqxcDRzQHqZvSApnBHJQtoJFUXdZCIcBrotAVuwzYwiIVtCzIUkXOotZbBlJbCfwmvbgSdEKOBIEoVYqqhSPJzAYzpiHDCwqdKcEOudPjtpFKzBSPjFEtRhbWbHFgIpKqgIQqDRTPOTpMIHbTIdnrplayYguQElxHCRhtBoZntTmhmFGuLVlULdcMnHVAILneUcdgUhwLtxHXkfmmyBZCCshXdZGYAjFnucIAxFtuswpZkImlwXjHxLGkZWFEtrroTFDKmLovvlArIpXoePYoqjgMcAAepTFOcM
cmp rax, rcx
jbe 0x18000161c
xor ecx, ecx
mov rsi, qword [rbp - 8]
jmp 0x1800016f3
mov ecx, ebx
and ecx, 0xffffffe0
lea rdx, [rcx - 0x20]
mov rax, rdx
shr rax, 5
add rax, 1
mov r8d, eax
and r8d, 1
test rdx, rdx
je 0x1800016b4
lea rsi, [r10 + r13]
add rsi, 0x438
mov rdx, r8
sub rdx, rax
xor edi, edi
mov eax, edi
and eax, 0x3c0
movups xmm0, xmmword [rax + r13 + 4]
movups xmm1, xmmword [rax + r13 + 0x14]
movups xmm2, xmmword [rsi + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdi - 0x10]
movups xmm3, xmmword [rsi + rdi]
movups xmmword [rsi + rdi - 0x30], xmm2
movups xmmword [rsi + rdi - 0x20], xmm0
lea eax, [rdi + 0x20]
and eax, 0x3e0
movups xmm0, xmmword [rax + r13 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rax + r13 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rdi - 0x10], xmm0
movups xmmword [rsi + rdi], xmm1
add rdi, 0x40
add rdx, 2
jne 0x18000164f
jmp 0x1800016b6
xor edi, edi
test r8, r8
je 0x1800016ea
mov eax, edi
and eax, 0x3e0
movups xmm0, xmmword [rax + r13 + 4]
movups xmm1, xmmword [rax + r13 + 0x14]
mov rax, qword [rbp - 8]
movups xmm2, xmmword [rax + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [rax + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [rax + rdi], xmm2
movups xmmword [rax + rdi + 0x10], xmm0
cmp rcx, rbx
mov rsi, qword [rbp - 8]
je 0x180001717
lea rax, [r10 + r13]
add rax, 0x408
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + r13 + 4]
xor byte [rax + rcx], dl
add rcx, 1
cmp rcx, rbx
jb 0x1800016fd
movsxd rax, dword [0x180004440]
mov ecx, dword [0x180020a7c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x180020a80], 0xa
setl cl
or cl, dl
cmp byte [rsi], 0
je 0x18000175b
test cl, cl
je 0x180001b86
mov r12, rsi
cmp byte [r12 + 1], 0
lea r12, [r12 + 1]
jne 0x18000174c
jmp 0x180001766
mov r12, rsi
test cl, cl
je 0x180001b88
cmp byte [r12 + 1], 0
mov rcx, r12
je 0x18000177e
mov rcx, r12
cmp byte [rcx + 2], 0
lea rcx, [rcx + 1]
jne 0x180001774
cmp byte [rcx + 2], 0
lea rsi, [rcx + 2]
mov rbx, rsi
je 0x180001798
mov rbx, rsi
cmp byte [rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x18000178e
cmp byte [rbx + 1], 0
mov rcx, rbx
je 0x1800017ae
mov rcx, rbx
cmp byte [rcx + 2], 0
lea rcx, [rcx + 1]
jne 0x1800017a4
cmp byte [rcx + 2], 0
lea r15, [rcx + 2]
mov rdi, r15
je 0x1800017c8
mov rdi, r15
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x1800017be
add rax, r13
add rax, 0x404
mov qword [rbp], rax
add r12, 1
lea r14, [rdi + 1]
cmp byte [rdi + 1], 0
je 0x1800017ed
cmp byte [rdi + 2], 0
lea rdi, [rdi + 1]
jne 0x1800017e3
add rdi, 2
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov qword [rbp - 0x18], rsi
mov rdx, rsi
call fcn.180002010
mov rcx, r14
call rax
mov rcx, rax
mov rdx, r15
call fcn.180002010
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call rax
add rsp, 0x10
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rsi, qword [rbp - 8]
mov rdx, rsi
call fcn.180002010
add rsp, 0x20
mov rcx, qword [rbp]
mov edx, dword [rcx + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edi, 0xa
jl 0x180001b8a
test ecx, ecx
je 0x180001b8a
movsxd r12, dword [0x180004440]
mov eax, dword [0x180020a7c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a80], 0xa
setl al
or al, cl
cmp byte [rsi], 0
je 0x1800018e7
test al, al
je 0x180001b70
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x1800018db
jmp 0x1800018ef
test al, al
je 0x180001b82
cmp byte [rsi + 1], 0
mov rax, rsi
je 0x180001905
mov rax, rsi
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x1800018fb
cmp byte [rax + 2], 0
lea r14, [rax + 2]
mov rax, r14
je 0x18000191f
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180001915
cmp byte [rax + 1], 0
je 0x18000192f
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x180001925
cmp byte [rax + 2], 0
lea rbx, [rax + 2]
mov rdi, rbx
je 0x180001949
mov rdi, rbx
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x18000193f
add rsi, 1
lea r15, [rdi + 1]
cmp byte [rdi + 1], 0
je 0x180001961
cmp byte [rdi + 2], 0
lea rdi, [rdi + 1]
jne 0x180001957
add rdi, 2
sub rsp, 0x20
mov rcx, rsi
call fcn.180002140
mov rcx, rax
mov rdx, r14
call fcn.180002010
mov rcx, r15
call rax
mov rcx, rax
mov rdx, rbx
call fcn.180002010
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call rax
add rsp, 0x10
mov rcx, rsi
call fcn.180002140
mov rcx, rax
mov rsi, qword [rbp - 8]
mov rdx, rsi
call fcn.180002010
add rsp, 0x20
mov edx, dword [r12 + r13 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
movsxd r12, dword [0x180004440]
mov eax, dword [0x180020a7c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a80], 0xa
setl al
or al, cl
cmp byte [rsi], 0
je 0x180001a2f
test al, al
je 0x180001b80
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x180001a23
jmp 0x180001a37
test al, al
je 0x180001b84
cmp byte [rsi + 1], 0
mov rax, rsi
je 0x180001a4d
mov rax, rsi
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x180001a43
cmp byte [rax + 2], 0
lea r14, [rax + 2]
mov rax, r14
je 0x180001a67
mov rax, r14
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x180001a5d
cmp byte [rax + 1], 0
je 0x180001a77
cmp byte [rax + 2], 0
lea rax, [rax + 1]
jne 0x180001a6d
cmp byte [rax + 2], 0
lea rbx, [rax + 2]
mov rdi, rbx
je 0x180001a91
mov rdi, rbx
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180001a87
add rsi, 1
lea r15, [rdi + 1]
cmp byte [rdi + 1], 0
je 0x180001aa9
cmp byte [rdi + 2], 0
lea rdi, [rdi + 1]
jne 0x180001a9f
add rdi, 2
sub rsp, 0x20
mov rcx, rsi
call fcn.180002140
mov rcx, rax
mov rdx, r14
call fcn.180002010
mov rcx, r15
call rax
mov rcx, rax
mov rdx, rbx
call fcn.180002010
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call rax
add rsp, 0x10
mov rcx, rsi
call fcn.180002140
mov rcx, rax
mov rsi, qword [rbp - 8]
mov rdx, rsi
call fcn.180002010
add rsp, 0x20
mov edx, dword [r12 + r13 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov ecx, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp dword [0x180020a6c], 0xa
jl 0x180001717
test eax, eax
jne 0x1800018a9
jmp 0x180001717
jmp 0x180001b70
jmp 0x180001b80
jmp 0x180001b82
jmp 0x180001b84
jmp 0x180001b86
jmp 0x180001b88
mov rdx, qword [rbp]
cmp word [rdx + 6], 0
je 0x180001c4c
mov rax, qword [rbp]
lea r8, [rax + 0x108]
mov edx, dword [0x180020a78]
mov edi, dword [0x180020a74]
xor r9d, r9d
cmp edi, 0xa
jge 0x180001bd0
jmp 0x180001bdb
add r9, 1
mov rax, qword [rbp]
movzx eax, word [rax + 6]
cmp r9, rax
jae 0x180001c37
cmp edi, 0xa
jl 0x180001bdb
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001c35
lea rax, [r9 + r9*4]
mov r10d, dword [r8 + rax*8 + 0x10]
test r10, r10
je 0x180001bba
mov r14d, dword [r8 + rax*8 + 0xc]
mov eax, dword [r8 + rax*8 + 0x14]
add r14, r15
lea r11, [rax + r13]
add r11, 0x404
xor eax, eax
jmp 0x180001c0e
add rax, 1
cmp r10, rax
je 0x180001bba
movzx edx, byte [r11 + rax]
mov byte [r14 + rax], dl
mov edx, dword [0x180020a78]
mov edi, dword [0x180020a74]
cmp edi, 0xa
jl 0x180001c05
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x180001c05
jmp 0x180001c33
jmp 0x180001c35
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
add rbx, 1
test ecx, ecx
sete dl
cmp edi, 0xa
setl cl
or cl, dl
test cl, cl
je 0x180001c5d
mov r11, r15
mov rcx, qword [rbp]
sub r11, qword [rcx + 0x30]
cmp edi, 0xa
jl 0x180001c7e
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c7e
jmp 0x180001c7c
mov rcx, qword [rbp]
mov r14d, dword [rcx + 0xb0]
add r14, r15
movabs r8, 0x1fffffff8
cmp dword [r14], 0
je 0x180001e28
mov ecx, dword [r14 + 4]
cmp rcx, 8
jb 0x180001df3
cmp edi, 0xa
jl 0x180001cc2
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e22
add rcx, r8
shr rcx, 1
mov r9d, ecx
xor r10d, r10d
cmp r10, r9
je 0x180001df3
movzx edx, word [r14 + r10*2 + 8]
mov esi, edx
shr esi, 0xc
mov ecx, edx
and ecx, 0xfff
cmp edx, 0xa000
jae 0x180001d1a
cmp esi, 3
jne 0x180001ddf
mov ecx, ecx
cmp edi, 0xa
jl 0x180001dab
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001dd2
jmp 0x180001dab
cmp esi, 0xa
jne 0x180001ddf
mov eax, dword [r14]
add rcx, r15
add qword [rax + rcx], r11
jmp 0x180001d36
mov eax, dword [r14]
add qword [rcx + rax], r11
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
cmp edi, 0xa
jl 0x180001ddf
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001ddf
cmp edi, 0xa
jl 0x180001d6a
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d8b
mov eax, dword [r14]
add qword [rcx + rax], r11
cmp dword [0x180020a6c], 0xa
jl 0x180001d2f
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001d2f
mov eax, dword [r14]
add qword [rcx + rax], r11
jmp 0x180001d6a
add r10, 1
cmp edi, 0xa
jl 0x180001cce
test ecx, ecx
je 0x180001cce
jmp 0x180001e22
mov eax, dword [r14]
lea rax, [r15 + rax*4]
add dword [rax + rcx*4], r11d
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
cmp edi, 0xa
jl 0x180001ddf
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001ddf
mov eax, dword [r14]
lea rax, [r15 + rax*4]
add dword [rax + rcx*4], r11d
jmp 0x180001dab
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edi, 0xa
jl 0x180001d94
test ecx, ecx
je 0x180001d94
jmp 0x180001e24
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edi, 0xa
jl 0x180001e05
test ecx, ecx
jne 0x180001e26
mov edx, dword [r14 + 4]
add r14, rdx
cmp edi, 0xa
jl 0x180001c96
test ecx, ecx
je 0x180001c96
jmp 0x180001c7c
jmp 0x180001e22
jmp 0x180001e24
jmp 0x180001e26
cmp edi, 0xa
jl 0x180001e3a
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e3a
jmp 0x180001e38
lea rax, [r15 + 2]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x180001fc3
add r14, r15
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, qword [rbp - 0x18]
call fcn.180002010
mov rcx, r14
call rax
add rsp, 0x20
mov rsi, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001f06
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001f06
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdi, qword [rbp - 0x18]
mov rdx, rdi
call fcn.180002010
mov rcx, r14
call rax
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, rdi
call fcn.180002010
mov rcx, r14
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001e67
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ea7
jmp 0x180001e67
cmp ecx, 0xa
jl 0x180001f1a
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fbf
mov rdx, qword [rbp - 0x10]
mov r13d, dword [rdx]
mov edx, dword [rdx + 0x10]
mov qword [rbp - 8], rdx
mov r14, r15
mov rdx, qword [r14 + r13]
test rdx, rdx
je 0x180001f9d
mov rax, qword [rbp - 0x20]
add rax, rdx
test rdx, rdx
movzx edi, dx
cmovns rdi, rax
sub rsp, 0x20
mov rcx, r12
call fcn.180002140
mov rcx, rax
mov rdx, rbx
call fcn.180002010
mov rcx, rsi
mov rdx, rdi
call rax
add rsp, 0x20
mov rcx, qword [rbp - 8]
mov qword [r14 + rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001f8e
test edx, edx
jne 0x180001fc1
add r14, 8
cmp ecx, 0xa
jl 0x180001f2b
test edx, edx
je 0x180001f2b
jmp 0x180001fbf
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x180001e53
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e53
jmp 0x180001e38
jmp 0x180001fbf
jmp 0x180001fc1
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add r15, rax
sub rsp, 0x20
call r15
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001ff4
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ff4
jmp 0x180001ff2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret