Function at 0x180001130
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
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
jl 0x18000116f
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001264
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r11, rsp
cmp ebx, 0xa
jl 0x1800011a3
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001310
mov al, byte [section..data]
mov byte [rsi], al
cmp dword [0x180020a74], 0xa
jl 0x1800011c9
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001300
mov al, byte [0x180004001]
mov byte [rsi + 1], al
cmp dword [0x180020a74], 0xa
jl 0x1800011f0
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001300
mov al, byte [0x180004002]
mov byte [rsi + 2], al
cmp dword [0x180020a74], 0xa
jl 0x180001217
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001300
mov al, byte [0x180004003]
mov byte [rsi + 3], al
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001242
test edi, edi
jne 0x180001300
cmp dword [0x180020a6c], 0xa
jl 0x180001322
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001322
cmp ebx, 0xa
jl 0x180001278
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001320
cmp dword [0x180020a74], 0xa
jl 0x180001292
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012f0
cmp dword [0x180020a74], 0xa
jl 0x1800012ac
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012f0
cmp dword [0x180020a74], 0xa
jl 0x1800012c6
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012f0
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x18000116f
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x18000116f
nop word [rax + rax]
jmp 0x1800012f0
jmp 0x180001300
jmp 0x180001310
jmp 0x180001320
mov r10d, dword [rsi]
test r10, r10
je 0x1800014b8
xor r14d, r14d
cmp r10d, 0x10
jb 0x180001427
lea rcx, [r10 - 1]
cmp rcx, 0x400
jae 0x180001427
mov r14d, r10d
and r14d, 0xfffffff0
lea rcx, [r14 - 0x10]
mov rsi, rcx
shr rsi, 4
add rsi, 1
mov r8d, esi
and r8d, 1
test rcx, rcx
je 0x1800013e9
mov rcx, r8
sub rcx, rsi
xor eax, eax
lea r9, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop word cs:[rax + rax]
nop
mov esi, eax
and esi, 0x3e0
movups xmm1, xmmword [rsi + r9 + 4]
movups xmm2, xmmword [rax + r9 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r9 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r9 + 0x404], xmm2
lea esi, [rax + 0x10]
and esi, 0x3f0
movups xmm2, xmmword [rsi + r9 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r9 + 0x414], xmm1
add rax, 0x20
add rcx, 2
jne 0x180001390
jmp 0x1800013eb
xor eax, eax
test r8, r8
je 0x18000141e
mov ecx, eax
and ecx, 0x3f0
lea rsi, section..data
movups xmm0, xmmword [rcx + rsi + 4]
movups xmm1, xmmword [rax + rsi + 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 [rax + rsi + 0x404], xmm1
cmp r14, r10
je 0x1800014b8
mov rsi, r14
not rsi
test r10b, 1
je 0x18000145f
mov ecx, r14d
and ecx, 0x3f0
lea r8, section..data
mov cl, byte [rcx + r8 + 4]
xor cl, byte [r14 + r8 + 0x404]
xor cl, 0xc
mov byte [r14 + r8 + 0x404], cl
or r14, 1
add rsi, r10
je 0x1800014b8
lea rcx, section..data
nop dword [rax + rax]
mov eax, r14d
and eax, 0x3ff
movzx eax, byte [rax + rcx + 4]
xor al, byte [r14 + rcx + 0x404]
xor al, 0xc
mov byte [r14 + rcx + 0x404], al
lea eax, [r14 + 1]
and eax, 0x3ff
movzx eax, byte [rax + rcx + 4]
xor al, byte [r14 + rcx + 0x405]
xor al, 0xc
mov byte [r14 + rcx + 0x405], al
add r14, 2
cmp r10, r14
jne 0x180001470
cmp ebx, 0xa
jl 0x1800014d2
test edi, edi
je 0x1800014d2
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x1800014d0
lea r14, section..data
lea r13, [r10 + r14]
add r13, 0x404
mov edi, dword [0x180020a70]
mov r8d, dword [0x180020a74]
lea eax, [rdi - 1]
imul eax, edi
test al, 1
sete cl
cmp r8d, 0xa
setl al
or al, cl
mov ecx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete cl
cmp dword [0x180020a6c], 0xa
setl r9b
or r9b, cl
cmp ebx, 0xa
jl 0x180001536
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x1800015b0
movzx ecx, byte [r13]
mov byte [r11], cl
test al, al
je 0x1800015b0
movzx ecx, byte [r13 + 1]
mov byte [r11 + 1], cl
je 0x1800015b0
movzx ecx, byte [r13 + 2]
mov byte [r11 + 2], cl
test al, al
je 0x1800015b0
movzx ecx, byte [r13 + 3]
mov byte [r11 + 3], cl
je 0x1800015b0
test r9b, r9b
jne 0x1800015d2
test al, al
je 0x1800015d0
movzx ecx, byte [r13]
mov byte [r11], cl
je 0x1800015c0
movzx ecx, byte [r13 + 1]
mov byte [r11 + 1], cl
test al, al
je 0x1800015c0
movzx ecx, byte [r13 + 2]
mov byte [r11 + 2], cl
je 0x1800015c0
movzx ecx, byte [r13 + 3]
mov byte [r11 + 3], cl
test al, al
je 0x1800015c0
mov ebx, r8d
mov edx, edi
jne 0x180001526
jmp 0x1800014d0
jmp 0x1800015b0
jmp 0x1800015c0
jmp 0x1800015d0
add r13, 4
mov esi, dword [r11]
test rsi, rsi
je 0x180001769
xor ecx, ecx
cmp esi, 0x20
jb 0x18000170d
lea rdx, [rsi - 1]
cmp rdx, 0x400
jae 0x18000170d
lea rax, [r10 + r14]
add rax, 0x408
lea rcx, [rsi + r14]
add rcx, 4
cmp rax, rcx
jae 0x180001635
lea rax, [rsi + r10]
add rax, r14
add rax, 0x408
lea rcx, str.tsJwqfKqBaSMzDFxERncmTRuqblOsmAtSbtbEzOhUTfjKggYllIKverfclfyjdecflhkfPsdjrJoAbKfQJqCWaSxUeWgIxYJCvolGlYfXbuoSyahfiIRAtjExvThDUpzpwUVXgmcTVrVkPjJDtZrWHnYCvAbCBsWfaWBMyrzsVzWXVAARdUtURBOkjlQLgvHzohwluAnCOGdvwSmMmQQzhdafijyiESIJKHXZhhxnjuFvefKutzxuuyTklwdUahldmTVfGgYAjKsJOPcarBieeyughSHtAQpnhCjFUwuansgxxxHDrsrgPSpHdfOcAzidEPIZfIjjLWKSqpiLZkrwqZITzKapwuUbkyMieAWJRsZAjbztsHDvaPPYUayxvnmrtTsBRHFrjvMYxYRdpeYyVPJVCIoqKYPXaatXvuwJQiwmKAhehLYVlgLpJJbglWTwRppIEiqXFBVrjGGudjAYlVzbWWtdZIfkyxeyOUbfsMBGLTPkhpEuvXTFlazPHoSLxcHBxiBOnVOBSRSTTpisSBwoyvCueuJOlXCBqcFQuTcSHnqZDLLZpgfAXymXKODPcrnCHOOnLUosZuZsBXpUgIcyqQmXimhthOqhXGQuFAYqKhuYtiwcrMIzgVQshKQuDGMrMYniOFduVVsAGvhyGBHhPBIFeGPvsdffPJZLuvemPMXWMBaHOkxJjSecYEBJrGYSZsBYYXBXjJZnAJEVKeqEaPPayKMhpHUXQBPWWeWCfYfshwaGcCkcuGELVixYsPBKvtSUdzpDGQIJLErfyEstrypzKptZceXwfjfsgLmXdBpbnrLFTJRJLpJXYxcQSSQSQKjxHGpePDWLggQRMZTPspHkuEnHCmmGfvBEHtDstVKxCRLVLIcfvhyUtKCcsLVVJmQTzzhCZDdAmdIzgbGTxjdbvXMgujaoXPYBXoixyLKWKqqhQtMvXlnfIwwOhkKQSILFiWOpOFEvWvsTWjLVlQaDvZXdynLXcEdPiudlbaZwJzAHFVJECSirDu
cmp rax, rcx
jbe 0x180001635
xor ecx, ecx
jmp 0x18000170d
mov ecx, esi
and ecx, 0xffffffe0
lea rbx, [rcx - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x1800016cf
lea rdi, [r10 + r14]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor eax, eax
mov edx, eax
and edx, 0x3c0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [rdi + rax - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rax - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rax - 0x10]
movups xmm3, xmmword [rdi + rax]
movups xmmword [rdi + rax - 0x30], xmm2
movups xmmword [rdi + rax - 0x20], xmm0
lea edx, [rax + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rax - 0x10], xmm0
movups xmmword [rdi + rax], xmm1
add rax, 0x40
add rbx, 2
jne 0x180001668
jmp 0x1800016d1
xor eax, eax
test r8, r8
je 0x180001708
mov edx, eax
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [r13 + rax]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rax + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rax], xmm2
movups xmmword [r13 + rax + 0x10], xmm0
cmp rcx, rsi
je 0x180001769
mov rdx, rcx
not rdx
test sil, 1
je 0x18000172e
mov eax, ecx
and eax, 0x3e0
mov al, byte [rax + r14 + 4]
xor byte [r13 + rcx], al
or rcx, 1
add rdx, rsi
je 0x180001769
lea rdx, [r10 + r14]
add rdx, 0x409
mov eax, ecx
and eax, 0x3ff
movzx eax, byte [rax + r14 + 4]
xor byte [rdx + rcx - 1], al
lea eax, [rcx + 1]
and eax, 0x3ff
movzx eax, byte [rax + r14 + 4]
xor byte [rdx + rcx], al
add rcx, 2
cmp rsi, rcx
jne 0x18000173e
cmp dword [0x180020a7c], 0xa
jl 0x180001787
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a00
movsxd rax, dword [0x180004440]
add rax, r14
add rax, 0x404
mov r12, r13
nop word [rax + rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017a0
mov r14, r13
mov r15, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800017c0
mov qword [rbp - 8], rax
mov r13, r15
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800017e0
mov rdi, r13
nop
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017f0
mov rbx, rdi
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001800
mov rsi, rbx
nop dword [rax]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001810
sub rsp, 0x20
mov rcx, r12
call fcn.180002110
mov rcx, rax
mov rdx, r15
call fcn.180001fd0
mov rcx, rbx
call rax
mov rcx, rax
mov rdx, rdi
call fcn.180001fd0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rsi
mov r8, rsi
call rax
add rsp, 0x10
mov rcx, r12
call fcn.180002110
mov rcx, rax
mov rdx, r14
call fcn.180001fd0
add rsp, 0x20
mov rsi, qword [rbp - 8]
mov edx, dword [rsi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
cmp ecx, 0xa
jl 0x180001a12
test edx, edx
je 0x180001a12
movsxd r12, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r13, r14
jl 0x180001900
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, r13
and ecx, 1
jne 0x180001a10
nop word cs:[rax + rax]
nop
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001900
mov r15, r14
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001910
mov rdi, r15
nop dword [rax]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001920
nop dword [rax]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001930
mov rsi, rdi
nop dword [rax]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001940
mov rbx, rsi
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001950
sub rsp, 0x20
mov rcx, r14
call fcn.180002110
mov rcx, rax
mov rdx, r15
call fcn.180001fd0
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.180001fd0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002110
mov rcx, rax
mov rdx, r13
call fcn.180001fd0
add rsp, 0x20
lea r14, section..data
mov edx, dword [r12 + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
jge 0x180001772
jmp 0x180001787
jmp 0x180001a00
jmp 0x180001a10
cmp ecx, 0xa
jl 0x180001a22
test edx, edx
je 0x180001a22
nop dword [rax + rax]
jmp 0x180001a20
lea r11, [rsi + 0x108]
xor r14d, r14d
mov qword [rbp], rax
movzx edx, word [rsi + 6]
cmp r14, rdx
jae 0x180001ba6
mov edi, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea rax, [r14 + r14*4]
lea rcx, [r11 + rax*8]
add rcx, 0xc
mov qword [rbp - 0x10], rcx
lea r9, [r11 + rax*8]
add r9, 0x10
lea r10, [r11 + rax*8]
add r10, 0x14
cmp ebx, 0xa
jl 0x180001a7d
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ba2
mov eax, dword [r9]
test rax, rax
je 0x180001adb
mov edx, dword [r10]
mov rcx, qword [rbp - 0x10]
mov ecx, dword [rcx]
add rcx, qword [rbp]
lea rbx, section..data
add rdx, rbx
add rdx, 0x404
xor r8d, r8d
jmp 0x180001ab1
add r8, 1
cmp rax, r8
je 0x180001adb
movzx ebx, byte [rdx + r8]
mov byte [rcx + r8], bl
mov edi, dword [0x180020a70]
mov ebx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x180001aa8
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
je 0x180001aa8
jmp 0x180001b90
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
cmp ecx, 0xa
jl 0x180001b70
test edx, edx
je 0x180001b70
cmp ebx, 0xa
jl 0x180001b10
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ba4
mov r8d, dword [r9]
test r8, r8
je 0x180001a69
mov edx, dword [r10]
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
add rcx, qword [rbp]
lea rax, section..data
add rdx, rax
add rdx, 0x404
xor esi, esi
jmp 0x180001b4b
add rsi, 1
cmp r8, rsi
je 0x180001a69
movzx ebx, byte [rdx + rsi]
mov byte [rcx + rsi], bl
mov edi, dword [0x180020a70]
mov ebx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x180001b3e
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001b3e
jmp 0x180001ba0
add r14, 1
cmp ecx, 0xa
mov rsi, qword [rbp - 8]
jl 0x180001a30
test edx, edx
je 0x180001a30
jmp 0x180001a20
jmp 0x180001b90
jmp 0x180001ba0
jmp 0x180001ba2
jmp 0x180001ba4
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete dl
cmp ecx, 0xa
setl r10b
or r10b, dl
je 0x180001dd6
mov rbx, qword [rbp - 8]
mov rdx, qword [rbx + 0x30]
mov rax, qword [rbp]
mov r14, rax
sub r14, rdx
mov ebx, dword [rbx + 0xb0]
add rbx, rax
cmp dword [rbx], 0
jne 0x180001c0f
jmp 0x180001dde
mov edx, dword [rbx + 4]
add rbx, rdx
test dil, 1
sete dl
cmp ecx, 0xa
setl r10b
or r10b, dl
je 0x180001dd6
cmp dword [rbx], 0
je 0x180001dde
mov edi, dword [rbx + 4]
cmp rdi, 8
jb 0x180001db8
movabs rax, 0x1fffffff8
add rdi, rax
shr rdi, 1
test edi, edi
je 0x180001db2
mov r9d, edi
xor r11d, r11d
test r10b, 1
je 0x180001dd8
movzx edx, word [rbx + r11*2 + 8]
mov edi, edx
shr edi, 0xc
mov esi, edx
and esi, 0xfff
cmp edx, 0xa000
jae 0x180001c87
cmp edi, 3
jne 0x180001d93
cmp ecx, 0xa
jl 0x180001d56
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
jne 0x180001d83
jmp 0x180001d56
cmp edi, 0xa
jne 0x180001d93
cmp ecx, 0xa
jl 0x180001ca6
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
jne 0x180001dda
mov eax, dword [rbx]
mov esi, esi
add rsi, qword [rbp]
add qword [rax + rsi], r14
jmp 0x180001cba
mov eax, dword [rbx]
add qword [rsi + rax], r14
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001d93
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
je 0x180001d93
cmp ecx, 0xa
jl 0x180001cf3
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
jne 0x180001d13
mov eax, dword [rbx]
add qword [rsi + rax], r14
cmp dword [0x180020a6c], 0xa
jl 0x180001cb4
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001cb4
mov eax, dword [rbx]
add qword [rsi + rax], r14
mov eax, dword [rbx]
add qword [rsi + rax], r14
cmp dword [0x180020a6c], 0xa
jl 0x180001cf3
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
jmp 0x180001cee
add r11, 1
test sil, 1
sete dl
cmp ecx, 0xa
setl r10b
or r10b, dl
cmp r11, r9
jne 0x180001c3a
jmp 0x180001db2
mov eax, dword [rbx]
mov rcx, qword [rbp]
lea rax, [rcx + rax*4]
add dword [rax + rsi*4], r14d
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001d93
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
je 0x180001d93
mov eax, dword [rbx]
mov rcx, qword [rbp]
lea rax, [rcx + rax*4]
add dword [rax + rsi*4], r14d
jmp 0x180001d56
lea esi, [r8 - 1]
imul esi, r8d
test sil, 1
sete r10b
cmp ecx, 0xa
setl dl
or dl, r10b
test dl, dl
je 0x180001dac
jmp 0x180001d36
test r10b, 1
je 0x180001ddc
lea edi, [r8 - 1]
imul edi, r8d
cmp ecx, 0xa
jl 0x180001be9
mov edx, edi
and edx, 1
je 0x180001be9
jmp 0x180001dd4
jmp 0x180001dd6
jmp 0x180001dd8
jmp 0x180001dda
jmp 0x180001ddc
mov rdx, qword [rbp - 8]
mov edx, dword [rdx + 0x90]
mov rax, qword [rbp]
add rdx, rax
mov qword [rbp - 0x18], rdx
add rax, 2
mov qword [rbp - 0x20], rax
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
cmp al, 1
jne 0x180001e8d
mov rcx, qword [rbp - 0x18]
mov edi, dword [rcx + 0xc]
test al, al
je 0x180001e8d
test edi, edi
je 0x180001f47
add rdi, qword [rbp]
sub rsp, 0x20
mov rcx, r12
call fcn.180002110
mov rcx, rax
mov rdx, r15
call fcn.180001fd0
mov rcx, rdi
call rax
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001e93
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
je 0x180001e93
sub rsp, 0x20
mov rcx, r12
call fcn.180002110
mov rcx, rax
mov rdx, r15
call fcn.180001fd0
mov rcx, rdi
call rax
jmp 0x180001e30
test al, al
je 0x180001e8d
jmp 0x180001e15
mov rax, qword [rbp - 0x18]
mov esi, dword [rax]
mov r14d, dword [rax + 0x10]
mov rax, qword [rbp]
add r14, rax
add rsi, rax
jmp 0x180001eb1
add rsi, 8
add r14, 8
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x180001f35
mov rdi, qword [rsi]
test dl, dl
je 0x180001f35
test rdi, rdi
je 0x180001f3b
mov rax, qword [rbp - 0x20]
add rax, rdi
test rdi, rdi
movzx edi, di
cmovns rdi, rax
sub rsp, 0x20
mov rcx, r12
call fcn.180002110
mov rcx, rax
mov rdx, r13
call fcn.180001fd0
mov rcx, qword [rbp - 0x10]
mov rdx, rdi
call rax
add rsp, 0x20
mov qword [r14], rax
mov r8d, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001ea9
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
je 0x180001ea9
jmp 0x180001f45
test dl, dl
je 0x180001f35
jmp 0x180001ecc
add qword [rbp - 0x18], 0x14
jmp 0x180001dfb
jmp 0x180001f45
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001fb8
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001fb8
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
mov eax, dword [rsi + 0x28]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001fb8
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f7e
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret