Function at 0x180001080
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, 0x78
cmp dword [0x180020a64], 0xa
jl 0x1800010ae
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001240
mov dl, byte [section..data]
mov byte [rsp + 0x44], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001108
test eax, eax
je 0x180001108
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop dword [rax + rax]
test bl, bl
je 0x180001100
mov byte [rsp + 0x44], dl
cmp ecx, 0xa
jl 0x180001115
test eax, eax
jne 0x180001240
mov dl, byte [0x180004001]
mov byte [rsp + 0x45], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001168
test eax, eax
je 0x180001168
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x180001160
mov byte [rsp + 0x45], dl
cmp ecx, 0xa
jl 0x180001175
test eax, eax
jne 0x180001240
mov dl, byte [0x180004002]
mov byte [rsp + 0x46], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800011c8
test eax, eax
je 0x1800011c8
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x1800011c0
mov byte [rsp + 0x46], dl
cmp ecx, 0xa
jl 0x1800011d1
test eax, eax
jne 0x180001240
mov bl, byte [0x180004003]
mov byte [rsp + 0x47], bl
mov eax, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp edi, 0xa
jl 0x180001228
test edx, edx
je 0x180001228
mov eax, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete r8b
cmp edi, 0xa
setl cl
or cl, r8b
nop dword [rax + rax]
test cl, cl
je 0x180001220
mov byte [rsp + 0x47], bl
cmp edi, 0xa
jl 0x180001242
test edx, edx
je 0x180001242
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180001240
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a70], 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x1800012b0
mov r12d, dword [rsp + 0x44]
xor ebp, ebp
lea r13, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp r12, rbp
je 0x1800012b2
mov ecx, ebp
and ecx, 0x3ff
movzx ecx, byte [rcx + r13 + 4]
xor cl, byte [rbp + r13 + 0x404]
xor cl, 0xc
mov byte [rbp + r13 + 0x404], cl
add rbp, 1
test dl, dl
jne 0x180001280
nop
jmp 0x1800012b0
cmp edi, 0xa
jl 0x1800012d2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800012d2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800012d0
lea r15, [r12 + r13]
add r15, 0x404
mov r9d, 3
lea r8, [rsp + 0x34]
mov rsi, r8
mov rbp, r15
mov al, byte [r15]
jmp 0x180001306
mov r9d, 3
mov rsi, r8
mov rbp, r15
test cl, cl
je 0x1800012d0
mov al, byte [rbp]
mov byte [rsi], al
mov ecx, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001326
test edx, edx
jne 0x180001306
cmp ebx, 0xa
jl 0x18000132f
test edx, edx
jne 0x1800012d0
add rbp, 1
add rsi, 1
sub r9, 1
jae 0x180001303
cmp dword [0x180020a70], 0xa
jl 0x1800015c2
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800015c2
cmp ebx, 0xa
jl 0x180001373
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800015b0
mov edi, 3
mov rdx, r8
mov rax, r15
mov cl, byte [r15]
jmp 0x180001390
mov cl, byte [rax]
nop word cs:[rax + rax]
nop
mov byte [rdx], cl
mov ebp, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea esi, [rbp - 1]
imul esi, ebp
and esi, 1
cmp ebx, 0xa
jl 0x1800013b0
test esi, esi
jne 0x180001390
cmp ebx, 0xa
jl 0x1800013bd
test esi, esi
jne 0x1800015b0
add rax, 1
add rdx, 1
sub rdi, 1
jae 0x180001383
cmp ebx, 0xa
jl 0x1800013df
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
jne 0x1800015c0
mov dl, byte [r15]
mov byte [rsp + 0x34], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001438
test eax, eax
je 0x180001438
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop word cs:[rax + rax]
test bl, bl
je 0x180001430
mov byte [rsp + 0x34], dl
cmp ecx, 0xa
jl 0x180001445
test eax, eax
jne 0x1800015c0
mov dl, byte [r15 + 1]
mov byte [rsp + 0x35], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001498
test eax, eax
je 0x180001498
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop dword [rax]
test bl, bl
je 0x180001490
mov byte [rsp + 0x35], dl
cmp ecx, 0xa
jl 0x1800014a5
test eax, eax
jne 0x1800015c0
mov dl, byte [r15 + 2]
mov byte [rsp + 0x36], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800014f8
test eax, eax
je 0x1800014f8
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop dword [rax]
test bl, bl
je 0x1800014f0
mov byte [rsp + 0x36], dl
cmp ecx, 0xa
jl 0x180001505
test eax, eax
jne 0x1800015c0
mov r9b, byte [r15 + 3]
mov byte [rsp + 0x37], r9b
mov ecx, dword [0x180020a68]
mov eax, dword [0x180020a64]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180001559
test edx, edx
je 0x180001559
mov ecx, dword [0x180020a68]
mov eax, dword [0x180020a64]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r10b
cmp eax, 0xa
setl bl
or bl, r10b
nop
test bl, bl
je 0x180001550
mov byte [rsp + 0x37], r9b
cmp eax, 0xa
jl 0x180001562
test edx, edx
jne 0x1800015c0
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp eax, 0xa
setl cl
or cl, dl
cmp dword [0x180020a70], 0xa
jl 0x1800012f3
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800012f3
mov edi, 3
mov rdx, r8
mov rax, r15
test cl, cl
jne 0x180001383
nop dword [rax + rax]
jmp 0x1800015b0
jmp 0x1800015c0
add r15, 4
mov esi, dword [rsp + 0x34]
test rsi, rsi
mov qword [rsp + 0x48], r15
je 0x180001733
xor eax, eax
cmp esi, 0x20
jb 0x18000170e
lea rdx, [rsi - 1]
cmp rdx, 0x400
jae 0x18000170e
lea rcx, [r12 + r13]
add rcx, 0x408
lea rdx, [rsi + r13]
add rdx, 4
cmp rcx, rdx
jae 0x180001632
lea rcx, [rsi + r12]
add rcx, r13
add rcx, 0x408
lea rdx, str.YtKrxMfczeHMcCHulQcqZvXBEHwlmpAkYjlRRtckgJyAubvXZOruOgJHMyETEOvwPkHayBFKTWFirVPuIIEbfHbqkxqQhsDLRPxZlaImUrBbaZGvTWptduUWbVMkCOjlstGavpkQLaFgDpXDxVVopctIiiaSeVEuwseyZlySKCiARGvSkcnIdzsjUfIHZvtJxgiwxsUIAcaZgCBDHolKGYSxMdlllppuHGJdYaFaHITWTuUAKbfEvvfXjYhOlMTkeRwHgnYvvAXuEoppEMFLuCduvHtHcnmjHJgJMAAXZOUcuCRXSxZHeuSBcfPUQCQpcIWmGsavrfPKVSJTtfszEJSuWKIELHIwRRYdJJthpJKsUdRTsJqFiYEyRXscerfRSFrBwJomzOJDiruiqPxvdzSfPnCILigGREDjVmEquBggGFmRiUOahSDDjgxcgWUtPpjGPesoPmYSOfURbClGQSvYldjTMJqYDPCKMFrYQffpGLfdZSLgGDMSwCsyKRcMSHGTHEaFWwQhTlTOSUIciuihlhASJWRUjyLiqZBrUAujifPfPmTaeuUhLSiFxSlASTjrMcpGpfCSpeOfRCeQgZvBbnndQMUedxLMYpUUHdaLjkSJpWDuFqxxvWjcIAPaoTcUDAcvGkSemnQlSAaSzprrGYQiBqBATnrVoMPTVsJLzogTYyBTkEIEHWXeXFvPXQkEsqnRsVckdEYMYAlpQinXpyUFBDzUZKktGpVLlKwGEoItzpFHYkDEnnQmcIzLSispdAoYfJPrUJUFABmdslPcaTWeoirHfsHFgFILVlAlmYsLSZAQqxrotbqUfZHsMdzFvwFjSOysEWevfSTQKtpDzVfAYxPyezOReGoSZLwyXnnKOuhfYpZiTIPcufPBlwQTuFDgMEIVSsmddVGVgMuhoDSfbkusDjWZHdgPpQViyVHPiIfdoBMCsqnbBPcPZzQGMVlfmsQrAsPiZYpchlXLeIUnjluZakIRisteVoYLQuIOPGsyYGEyKteUpEq
cmp rcx, rdx
jbe 0x180001632
xor eax, eax
mov r15, qword [rsp + 0x48]
jmp 0x18000170e
mov eax, esi
and eax, 0xffffffe0
lea rbp, [rax - 0x20]
mov rdx, rbp
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbp, rbp
je 0x1800016cc
lea rbx, [r12 + r13]
add rbx, 0x438
mov rbp, r8
sub rbp, rdx
xor edi, edi
mov edx, edi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r13 + 4]
movups xmm1, xmmword [rdx + r13 + 0x14]
movups xmm2, xmmword [rbx + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rbx + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rbx + rdi - 0x10]
movups xmm3, xmmword [rbx + rdi]
movups xmmword [rbx + rdi - 0x30], xmm2
movups xmmword [rbx + rdi - 0x20], xmm0
lea edx, [rdi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r13 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r13 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rdi - 0x10], xmm0
movups xmmword [rbx + rdi], xmm1
add rdi, 0x40
add rbp, 2
jne 0x180001665
jmp 0x1800016ce
xor edi, edi
test r8, r8
je 0x180001704
mov edx, edi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r13 + 4]
movups xmm1, xmmword [rdx + r13 + 0x14]
mov rcx, qword [rsp + 0x48]
movups xmm2, xmmword [rcx + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rdi], xmm2
movups xmmword [rcx + rdi + 0x10], xmm0
cmp rax, rsi
mov r15, qword [rsp + 0x48]
je 0x180001733
lea rdx, [r12 + r13]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r13 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, rsi
jb 0x180001719
cmp dword [0x180020a74], 0xa
jl 0x180001752
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001752
nop dword [rax]
jmp 0x180001750
add r12, 0x408
movsxd rax, dword [0x180004440]
add rax, r13
add rax, 0x404
mov qword [rsp + 0x58], rax
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000176e
mov qword [rsp + 0x38], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000177d
mov qword [rsp + 0x50], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000178c
mov qword [rsp + 0x68], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000179b
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800017a8
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017b4
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800017e9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002268
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001818
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000226a
add r8, r9
mov eax, dword [r9 + rcx + 0x20]
mov ebp, dword [r9 + rcx + 0x24]
add rax, r9
add rbp, r9
mov r10, qword [rsp + 0x50]
mov edi, dword [rax]
add rdi, r9
mov rsi, r10
movzx edx, byte [rsi]
movzx ecx, byte [rdi]
test dl, dl
je 0x18000184e
add rsi, 1
add rdi, 1
cmp dl, cl
je 0x180001838
cmp dl, cl
je 0x18000185c
add rax, 4
add rbp, 2
jmp 0x180001830
movzx eax, word [rbp]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbx
call r9
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000188e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000226c
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800018bc
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000226e
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov edi, dword [rdx]
add rdi, rsi
mov rbp, r15
movzx eax, byte [rbp]
movzx ebx, byte [rdi]
test al, al
je 0x1800018ec
add rbp, 1
add rdi, 1
cmp al, bl
je 0x1800018d5
cmp al, bl
je 0x1800018fa
add rdx, 4
add rcx, 2
jmp 0x1800018cd
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r14
mov r8, r14
call rsi
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001951
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002270
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000197f
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002272
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
lea rax, [r12 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x1800019b2
add rdi, 1
cmp al, bl
je 0x180001997
cmp al, bl
je 0x1800019c0
add rdx, 4
add rcx, 2
jmp 0x180001990
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
mov r14, rax
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x180002282
test ebp, ebp
je 0x180002282
cmp dword [0x180020a74], 0xa
jl 0x180001a29
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000224c
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x50], rax
mov rbx, qword [rsp + 0x48]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a3a
mov qword [rsp + 0x38], rbx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a48
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a54
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a5e
mov rbp, r14
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001a6b
mov r15, rbp
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a78
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001aad
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000224e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001adc
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002250
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rdx, rbx
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001b0d
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001af7
cmp cl, al
je 0x180001b1b
add rdi, 4
add r10, 2
jmp 0x180001aef
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbp
call r9
mov rbp, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001b4d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002252
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001b7b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002254
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov edi, dword [rbp + rcx + 0x24]
add rdx, rbp
add rdi, rbp
mov esi, dword [rdx]
add rsi, rbp
mov rbx, r14
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001baa
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001b94
cmp al, cl
je 0x180001bb8
add rdx, 4
add rdi, 2
jmp 0x180001b8c
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call rbp
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001c0f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002256
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c3d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002258
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
lea rax, [r12 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001c70
add rdi, 1
cmp al, bl
je 0x180001c55
cmp al, bl
je 0x180001c7e
add rdx, 4
add rcx, 2
jmp 0x180001c4e
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + r13 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x50], rax
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x48]
mov rbx, rdx
jl 0x180001cda
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov rbx, rdx
and ecx, 1
jne 0x18000225a
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001cda
mov qword [rsp + 0x38], rbx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001ce8
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001cf4
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001cfe
mov rbp, r14
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001d0b
mov r15, rbp
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001d18
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001d4d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000225c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001d7c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000225e
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edi, dword [rsi]
add rdi, r9
mov rdx, rbx
movzx ecx, byte [rdx]
movzx eax, byte [rdi]
test cl, cl
je 0x180001dad
add rdx, 1
add rdi, 1
cmp cl, al
je 0x180001d97
cmp cl, al
je 0x180001dbb
add rsi, 4
add r10, 2
jmp 0x180001d8f
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbp
call r9
mov rbp, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001ded
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002260
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001e1b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002262
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov esi, dword [rbp + rcx + 0x24]
add rdx, rbp
add rsi, rbp
mov edi, dword [rdx]
add rdi, rbp
mov rbx, r14
movzx eax, byte [rbx]
movzx ecx, byte [rdi]
test al, al
je 0x180001e4a
add rbx, 1
add rdi, 1
cmp al, cl
je 0x180001e34
cmp al, cl
je 0x180001e58
add rdx, 4
add rsi, 2
jmp 0x180001e2c
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call rbp
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001eaf
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002264
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001edd
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002266
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
lea rax, [r12 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001f10
add rdi, 1
cmp al, bl
je 0x180001ef5
cmp al, bl
je 0x180001f1e
add rdx, 4
add rcx, 2
jmp 0x180001eee
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + r13 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a70], 0xa
jl 0x180001f63
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a0b
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x50], rax
cmp dword [0x180020a74], 0xa
mov rbx, qword [rsp + 0x48]
jl 0x180001f97
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov rbx, qword [rsp + 0x48]
and ecx, 1
jne 0x180002274
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001f97
mov qword [rsp + 0x38], rbx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001fa5
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001fb1
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001fbb
mov rbp, r14
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001fc8
mov r15, rbp
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001fd5
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000200a
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002276
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002039
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002278
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edi, dword [rsi]
add rdi, r9
mov rdx, rbx
movzx ecx, byte [rdx]
movzx eax, byte [rdi]
test cl, cl
je 0x18000206a
add rdx, 1
add rdi, 1
cmp cl, al
je 0x180002054
cmp cl, al
je 0x180002078
add rsi, 4
add r10, 2
jmp 0x18000204c
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbp
call r9
mov rbp, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800020aa
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000227a
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800020d8
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000227c
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov esi, dword [rbp + rcx + 0x24]
add rdx, rbp
add rsi, rbp
mov edi, dword [rdx]
add rdi, rbp
mov rbx, r14
movzx eax, byte [rbx]
movzx ecx, byte [rdi]
test al, al
je 0x180002107
add rbx, 1
add rdi, 1
cmp al, cl
je 0x1800020f1
cmp al, cl
je 0x180002115
add rdx, 4
add rsi, 2
jmp 0x1800020e9
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call rbp
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000216c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000227e
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000219a
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002280
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
lea rax, [r12 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x1800021cd
add rdi, 1
cmp al, bl
je 0x1800021b2
cmp al, bl
je 0x1800021db
add rdx, 4
add rcx, 2
jmp 0x1800021ab
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + r13 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a70], 0xa
jl 0x180002220
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a0b
cmp dword [0x180020a74], 0xa
mov r15, qword [rsp + 0x48]
jl 0x180001759
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001759
jmp 0x180001750
jmp 0x18000224c
jmp 0x18000224e
jmp 0x180002250
jmp 0x180002252
jmp 0x180002254
jmp 0x180002256
jmp 0x180002258
jmp 0x18000225a
jmp 0x18000225c
jmp 0x18000225e
jmp 0x180002260
jmp 0x180002262
jmp 0x180002264
jmp 0x180002266
jmp 0x180002268
jmp 0x18000226a
jmp 0x18000226c
jmp 0x18000226e
jmp 0x180002270
jmp 0x180002272
jmp 0x180002274
jmp 0x180002276
jmp 0x180002278
jmp 0x18000227a
jmp 0x18000227c
jmp 0x18000227e
jmp 0x180002280
cmp ebx, 0xa
jl 0x18000228d
test ebp, ebp
je 0x18000228d
jmp 0x18000228b
mov rcx, qword [rsp + 0x58]
lea r9, [rcx + 0x108]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
movzx ecx, word [rcx + 6]
cmp r8, rcx
jae 0x18000240f
mov edi, dword [0x180020a68]
mov edx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x1800022d8
test ebp, ebp
jne 0x180002385
jmp 0x1800022d8
add r8, 1
cmp ebx, 0xa
jl 0x18000229c
test ebp, ebp
je 0x18000229c
jmp 0x18000228b
cmp edx, 0xa
jl 0x1800022ec
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x18000240d
lea rcx, [r8 + r8*4]
mov eax, dword [r9 + rcx*8 + 0x10]
test rax, rax
je 0x18000235f
mov ebp, dword [r9 + rcx*8 + 0xc]
mov ecx, dword [r9 + rcx*8 + 0x14]
add rbp, r14
lea rbx, [rcx + r13]
add rbx, 0x404
jmp 0x180002325
add rax, 0xffffffffffffffff
add rbx, 1
add rbp, 1
test rax, rax
je 0x18000235f
movzx ecx, byte [rbx]
mov byte [rbp], cl
mov edi, dword [0x180020a68]
mov edx, dword [0x180020a64]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp edx, 0xa
jl 0x180002351
test ecx, ecx
je 0x180002351
movzx ecx, byte [rbx]
mov byte [rbp], cl
jmp 0x180002325
cmp edx, 0xa
jl 0x180002314
test ecx, ecx
je 0x180002314
jmp 0x18000240d
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x1800022c9
test ebp, ebp
je 0x1800022c9
cmp edx, 0xa
jl 0x180002395
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x18000240b
lea rcx, [r8 + r8*4]
mov eax, dword [r9 + rcx*8 + 0x10]
test rax, rax
je 0x1800022d8
mov ebp, dword [r9 + rcx*8 + 0xc]
mov ecx, dword [r9 + rcx*8 + 0x14]
add rbp, r14
lea rbx, [rcx + r13]
add rbx, 0x404
jmp 0x1800023d6
add rax, 0xffffffffffffffff
add rbx, 1
add rbp, 1
test rax, rax
je 0x1800022d8
movzx ecx, byte [rbx]
mov byte [rbp], cl
mov edi, dword [0x180020a68]
mov edx, dword [0x180020a64]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp edx, 0xa
jl 0x180002402
test ecx, ecx
je 0x180002402
movzx ecx, byte [rbx]
mov byte [rbp], cl
jmp 0x1800023d6
cmp edx, 0xa
jl 0x1800023c1
test ecx, ecx
je 0x1800023c1
jmp 0x18000240b
jmp 0x18000240d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 0x30]
mov rcx, r14
sub rcx, rdx
cmp ebx, 0xa
jl 0x180002430
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002430
jmp 0x18000242e
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx + 0xb0]
add rdx, r14
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
je 0x180002616
mov ebp, dword [rdx + 4]
cmp rbp, 8
jb 0x1800025de
cmp ebx, 0xa
jl 0x180002472
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x18000260c
add rbp, r8
shr rbp, 1
mov r9d, ebp
xor r10d, r10d
cmp r10, r9
je 0x1800025de
movzx ebp, word [rdx + r10*2 + 8]
mov esi, ebp
shr esi, 0xc
mov edi, ebp
and edi, 0xfff
cmp ebp, 0xa000
jae 0x180002565
cmp esi, 3
jne 0x1800025b5
cmp ebx, 0xa
jl 0x1800024c3
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x180002610
mov eax, dword [rdx]
lea rax, [r14 + rax*4]
add dword [rax + rdi*4], ecx
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800025b5
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x1800025b5
lea rbp, [r14 + rdi*4]
cmp ebx, 0xa
jl 0x180002504
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180002524
mov eax, dword [rdx]
add dword [rbp + rax*4], ecx
cmp dword [0x180020a70], 0xa
jl 0x180002541
mov eax, dword [0x180020a6c]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180002541
mov eax, dword [rdx]
add dword [rbp + rax*4], ecx
mov eax, dword [rdx]
add dword [rbp + rax*4], ecx
cmp dword [0x180020a70], 0xa
jl 0x180002504
mov eax, dword [0x180020a6c]
jmp 0x1800024f9
mov eax, dword [rdx]
add dword [rbp + rax*4], ecx
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800025b5
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x1800024f4
jmp 0x1800025b5
cmp esi, 0xa
jne 0x1800025b5
cmp ebx, 0xa
jl 0x18000257e
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x180002612
mov eax, dword [rdx]
mov ebp, edi
add rbp, r14
add qword [rax + rbp], rcx
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800025b5
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x1800025b5
mov eax, dword [rdx]
add qword [rbp + rax], rcx
mov eax, dword [rdx]
add qword [rbp + rax], rcx
jmp 0x180002589
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x1800025c7
test ebp, ebp
jne 0x18000260e
add r10, 1
cmp ebx, 0xa
jl 0x18000247e
test ebp, ebp
je 0x18000247e
jmp 0x18000260c
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x1800025f0
test ebp, ebp
jne 0x180002614
mov edi, dword [rdx + 4]
add rdx, rdi
cmp ebx, 0xa
jl 0x180002448
test ebp, ebp
je 0x180002448
jmp 0x18000242e
jmp 0x18000260c
jmp 0x18000260e
jmp 0x180002610
jmp 0x180002612
jmp 0x180002614
cmp ebx, 0xa
jl 0x180002628
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002628
jmp 0x180002626
lea rax, [r14 + 2]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov r15d, dword [rax + 0xc]
test r15, r15
je 0x180002a27
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002681
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a15
add r15, r14
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800026b2
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a17
add r8, rdi
mov ebp, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rbp, rdi
add rcx, rdi
mov ebx, dword [rbp]
add rbx, rdi
mov rsi, qword [rsp + 0x50]
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x1800026e4
add rsi, 1
add rbx, 1
cmp al, dl
je 0x1800026ce
cmp al, dl
je 0x1800026f2
add rbp, 4
add rcx, 2
jmp 0x1800026c3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r15
call rdi
mov r12, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002806
test edx, edx
je 0x180002806
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002755
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a19
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002783
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a1b
add r8, rdi
mov ebp, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rbp, rdi
add rcx, rdi
mov ebx, dword [rbp]
add rbx, rdi
mov rsi, qword [rsp + 0x50]
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x1800027b5
add rsi, 1
add rbx, 1
cmp al, dl
je 0x18000279f
cmp al, dl
je 0x1800027c3
add rbp, 4
add rcx, 2
jmp 0x180002794
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r15
call rdi
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002684
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002684
jmp 0x180002a15
cmp ecx, 0xa
jl 0x180002813
test edx, edx
jne 0x180002a25
mov rdx, qword [rsp + 0x48]
mov ebp, dword [rdx]
mov r15d, dword [rdx + 0x10]
add rbp, r14
mov qword [rsp + 0x60], rbp
add r15, r14
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800029f2
mov rax, qword [rsp + 0x70]
add rax, rdx
test rdx, rdx
movzx r13d, dx
cmovns r13, rax
jmp 0x180002865
movzx eax, word [rbp]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r12
mov rdx, r13
call rdi
mov qword [r15], rax
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002890
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a1d
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800028be
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a1f
add r8, rdi
mov edx, dword [rdi + rcx + 0x20]
mov ebp, dword [rdi + rcx + 0x24]
add rdx, rdi
add rbp, rdi
mov ebx, dword [rdx]
add rbx, rdi
mov rsi, qword [rsp + 0x68]
movzx eax, byte [rsi]
movzx ecx, byte [rbx]
test al, al
je 0x1800028ef
add rsi, 1
add rbx, 1
cmp al, cl
je 0x1800028d9
cmp al, cl
je 0x1800028fd
add rdx, 4
add rbp, 2
jmp 0x1800028cf
movzx eax, word [rbp]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r12
mov rdx, r13
call rdi
mov qword [r15], rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800029d5
test edx, edx
je 0x1800029d5
mov rcx, qword [rsp + 0x38]
call fcn.180002a70
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002964
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a21
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002992
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a23
add r8, rdi
mov edx, dword [rdi + rcx + 0x20]
mov ebp, dword [rdi + rcx + 0x24]
add rdx, rdi
add rbp, rdi
mov ebx, dword [rdx]
add rbx, rdi
mov rsi, qword [rsp + 0x68]
movzx eax, byte [rsi]
movzx ecx, byte [rbx]
test al, al
je 0x1800029c3
add rsi, 1
add rbx, 1
cmp al, cl
je 0x1800029ad
cmp al, cl
je 0x18000284f
add rdx, 4
add rbp, 2
jmp 0x1800029a3
add qword [rsp + 0x60], 8
add r15, 8
cmp ecx, 0xa
jl 0x180002829
test edx, edx
je 0x180002829
jmp 0x180002a25
add qword [rsp + 0x48], 0x14
cmp ecx, 0xa
jl 0x180002644
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002644
jmp 0x180002626
jmp 0x180002a15
jmp 0x180002a17
jmp 0x180002a19
jmp 0x180002a1b
jmp 0x180002a1d
jmp 0x180002a1f
jmp 0x180002a21
jmp 0x180002a23
jmp 0x180002a25
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x28]
add r14, rax
call r14
cmp dword [0x180020a70], 0xa
jl 0x180002a51
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002a51
jmp 0x180002a4f
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret