Function at 0x1800010a0
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 0x1800010ce
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001170
mov al, byte [section..data]
mov byte [rsp + 0x44], al
cmp dword [0x180020a64], 0xa
jl 0x1800010f2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001170
mov al, byte [0x180004001]
mov byte [rsp + 0x45], al
cmp dword [0x180020a64], 0xa
jl 0x180001116
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001170
mov al, byte [0x180004002]
mov byte [rsp + 0x46], al
cmp dword [0x180020a64], 0xa
jl 0x18000113a
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001170
mov al, byte [0x180004003]
mov byte [rsp + 0x47], al
mov ecx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edi, 0xa
jl 0x180001172
test eax, eax
je 0x180001172
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001170
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 0x1800011e0
mov esi, dword [rsp + 0x44]
xor ebx, ebx
lea r15, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rsi, rbx
je 0x1800011e2
mov ebp, ebx
and ebp, 0x3ff
movzx ecx, byte [rbp + r15 + 4]
xor cl, byte [rbx + r15 + 0x404]
xor cl, 0xc
mov byte [rbx + r15 + 0x404], cl
add rbx, 1
test dl, dl
jne 0x1800011b0
nop
jmp 0x1800011e0
cmp edi, 0xa
jl 0x1800011f2
test eax, eax
je 0x1800011f2
nop dword [rax + rax]
jmp 0x1800011f0
lea r10, [rsi + r15]
add r10, 0x404
mov ecx, 4
lea r8, [rsp + 0x34]
mov rdx, r8
mov rdi, r10
movzx ebx, byte [rdi]
mov byte [rdx], bl
mov eax, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x180001230
test ebp, ebp
jne 0x1800011f0
add rcx, 0xffffffffffffffff
add rdx, 1
add rdi, 1
test rcx, rcx
jne 0x18000120d
cmp dword [0x180020a70], 0xa
jl 0x180001342
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001342
cmp ebx, 0xa
jl 0x180001270
test ebp, ebp
jne 0x180001340
movzx eax, byte [rsi + r15 + 0x404]
mov byte [rsp + 0x34], al
cmp dword [0x180020a64], 0xa
jl 0x18000129b
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001340
movzx eax, byte [rsi + r15 + 0x405]
mov byte [rsp + 0x35], al
cmp dword [0x180020a64], 0xa
jl 0x1800012c2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001340
movzx eax, byte [rsi + r15 + 0x406]
mov byte [rsp + 0x36], al
cmp dword [0x180020a64], 0xa
jl 0x1800012e9
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001340
movzx eax, byte [rsi + r15 + 0x407]
mov byte [rsp + 0x37], al
mov eax, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ebx, 0xa
jl 0x180001314
test ebp, ebp
jne 0x180001340
mov ecx, 4
mov rdx, r8
mov rdi, r10
cmp ebx, 0xa
jl 0x18000120d
mov ecx, 4
mov rdx, r8
mov rdi, r10
test ebp, ebp
je 0x18000120d
jmp 0x1800011f0
jmp 0x180001340
add r10, 4
mov r9d, dword [rsp + 0x34]
test r9, r9
mov qword [rsp + 0x50], r10
je 0x1800014b0
xor eax, eax
cmp r9d, 0x20
jb 0x18000148b
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x18000148b
lea rcx, [rsi + r15]
add rcx, 0x408
lea rdx, [r9 + r15]
add rdx, 4
cmp rcx, rdx
jae 0x1800013af
lea rcx, [r9 + rsi]
add rcx, r15
add rcx, 0x408
lea rdx, str.LhqSyBQPsIynfesTzDGTrExKVDALHrCHufPzryTjbJVoIBOsdwkRnlLXVXtaTKwuiAsxwAhmfJPUuSYEzYbLUhaJecOFmefCeJMGpkHfQFrtyDdYLuyyJzamPZuhjPGVbpctVLyiErLDDsJgxurvIzgEArljCqMXyuKEKvLFCcrpPzDZBXiylCQdabHpLOlaHZVjCKJsCtXwKVCmAYTDJKelLTQGyVuhztOFQMgEfTgSqKzqKnjHVhbUPdJpcFkkGqgPomxpYtOuEEVxEAhhhiRhbkHxFYiOUynjIfhjenjAyvohqQhbFKLTaqsmSfSkPTjolSKmDhUfqIoDpfWPZueiYmMRSUwGDtOCCGpLqGOEXBFqfnZWVYPYTnHvimjyJrMbQpEJTkeXImdHbcmxxPrUScmlqOttoxHKAnuuYITfkOYeEESUiuQTOGWxmmXOJpRGkgbWDrcCKgOwXwSpBWREJYdrsarrxRyUqgxeSpMPtAzPAzfmyjhBUWmiDghcRYfZPgIwIfeRoRmzWfQovhbTqIVihlxEPvedzgPsFIUkYAIGwWXaIRthHrsgVfbAYTDJmoYYWqsXWlCefETBDAhBnxKTbMgbMrDaqWwheKAFhIJafemySctgMVTJmLhHIoufxXCcOZLOyqaOtMdamVJHSxGvHnyjBymiRVJdUEiaQiZdBUhntOnIeQdWSKkjPjeseDSuZWpXxwJRtiHtUVSbfbFcsEuyFyLrRMdzULBJkwOlyEdERmRnRczikdmfTTRpdYAcCixTlhwoBFjDlSGLqMqIpUAximrxRSUCjPgiLIYIyEHDcvmCVszzDbBFnrecBIZmjAQKqOPWXlvOKQMDDalBSAlzHtjoFsjhHJJkEqpPohPyFARzAlenYeCJCtDxVxVatALSdSeQbQtueHkiGVYehDgjQPDQKiltUElSKblmwHhsuajoctEbfzeeBYnHqskdtXqWajUjvvrGqYjoCpZBcYhTBFfOWXChMXyqQntYHREbzeITjOCGbog
cmp rcx, rdx
jbe 0x1800013af
xor eax, eax
jmp 0x18000148b
mov eax, r9d
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 0x18000144a
lea rbx, [rsi + r15]
add rbx, 0x438
mov rbp, r8
sub rbp, rdx
xor edi, edi
mov edx, edi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 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 + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rdi - 0x10], xmm0
movups xmmword [rbx + rdi], xmm1
add rdi, 0x40
add rbp, 2
jne 0x1800013e3
jmp 0x18000144c
xor edi, edi
test r8, r8
mov r10, qword [rsp + 0x50]
je 0x180001486
mov edx, edi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [r10 + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rdi], xmm2
movups xmmword [r10 + rdi + 0x10], xmm0
cmp rax, r9
je 0x1800014b0
lea rdx, [rsi + r15]
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, r9
jb 0x180001496
cmp dword [0x180020a74], 0xa
jl 0x1800014d2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014d2
nop word [rax + rax]
jmp 0x1800014d0
add rsi, 0x408
movsxd rax, dword [0x180004440]
mov rbp, r10
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x1800014e3
lea rdi, [rax + r15]
add rdi, 0x404
mov r13, rbp
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014fb
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001509
mov qword [rsp + 0x60], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001518
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001525
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001531
mov rcx, rbp
call fcn.1800022e0
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001566
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aac
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001595
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aae
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x48], 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, r13
nop word [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 0x1800015b2
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rbx
call r9
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001617
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ab0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001646
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab2
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 + 0x38]
call fcn.1800022e0
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800016ed
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ab4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000171c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ab6
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, [rsi + rdi]
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 + 0x48]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r14, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001ac6
test edx, edx
je 0x180001ac6
movsxd rbp, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x50]
mov r12, rdx
jl 0x1800017e4
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, rdx
and ecx, 1
jne 0x180001ab8
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017e4
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800017f3
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017ff
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001809
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001816
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001822
mov rcx, r12
call fcn.1800022e0
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001856
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001aba
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001885
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001abc
mov qword [rsp + 0x38], rbp
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov edx, dword [r11]
add rdx, r9
mov rbp, rbx
nop word cs:[rax + rax]
movzx ecx, byte [rbp]
movzx eax, byte [rdx]
test cl, cl
je 0x1800018c7
add rbp, 1
add rdx, 1
cmp cl, al
je 0x1800018b0
cmp cl, al
je 0x1800018d5
add r11, 4
add r10, 2
jmp 0x18000189d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001907
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001abe
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001936
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ac0
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, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001977
add rbx, 1
add rbp, 1
cmp al, cl
je 0x180001960
cmp al, cl
je 0x180001985
add rdx, 4
add rdi, 2
jmp 0x180001949
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, r13
mov r8, r13
call r10
mov rcx, r12
call fcn.1800022e0
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019db
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ac2
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001a0a
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ac4
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]
nop
lea rax, [rsi + rdi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001a4a
add rdi, 1
cmp al, bl
je 0x180001a30
cmp al, bl
je 0x180001a58
add rdx, 4
add rcx, 2
jmp 0x180001a1d
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a74], 0xa
mov r10, qword [rsp + 0x50]
jl 0x1800014d9
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014d9
jmp 0x1800014d0
jmp 0x180001aac
jmp 0x180001aae
jmp 0x180001ab0
jmp 0x180001ab2
jmp 0x180001ab4
jmp 0x180001ab6
jmp 0x180001ab8
jmp 0x180001aba
jmp 0x180001abc
jmp 0x180001abe
jmp 0x180001ac0
jmp 0x180001ac2
jmp 0x180001ac4
cmp ecx, 0xa
jl 0x180001ad1
test edx, edx
je 0x180001ad1
jmp 0x180001acf
mov rdx, qword [rsp + 0x48]
lea r8, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rsp + 0x48]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x180001c15
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov edx, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x180001b1e
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001c11
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001b71
mov edx, dword [r10 + 8]
mov ecx, dword [r10]
add rcx, r14
lea rsi, [rdx + r15]
add rsi, 0x404
xor edi, edi
jmp 0x180001b49
add rdi, 1
cmp rax, rdi
je 0x180001b71
movzx edx, byte [rsi + rdi]
mov byte [rcx + rdi], dl
mov edx, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x180001b40
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x180001b40
jmp 0x180001c11
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ecx, 0xa
jl 0x180001bf7
test ebp, ebp
je 0x180001bf7
cmp ebx, 0xa
jl 0x180001b9f
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001c13
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001b0a
mov ecx, dword [r10]
add rcx, r14
mov edx, dword [r10 + 8]
lea rsi, [rdx + r15]
add rsi, 0x404
xor edi, edi
jmp 0x180001bd2
add rdi, 1
cmp rax, rdi
je 0x180001b0a
movzx edx, byte [rsi + rdi]
mov byte [rcx + rdi], dl
mov edx, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x180001bc5
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x180001bc5
jmp 0x180001c13
add r9, 1
cmp ecx, 0xa
jl 0x180001ae0
test ebp, ebp
je 0x180001ae0
jmp 0x180001acf
jmp 0x180001c11
jmp 0x180001c13
mov rdx, r14
mov rbp, qword [rsp + 0x48]
sub rdx, qword [rbp + 0x30]
cmp ecx, 0xa
jl 0x180001c33
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001c33
jmp 0x180001c31
mov rbp, qword [rsp + 0x48]
mov esi, dword [rbp + 0xb0]
add rsi, r14
movabs r8, 0x1fffffff8
cmp dword [rsi], 0
je 0x180001d88
mov ebp, dword [rsi + 4]
cmp rbp, 8
jb 0x180001d52
cmp ecx, 0xa
jl 0x180001c75
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001d80
add rbp, r8
shr rbp, 1
mov r9d, ebp
xor r10d, r10d
cmp r10, r9
je 0x180001d52
movzx ebx, word [rsi + r10*2 + 8]
mov ebp, ebx
shr ebp, 0xc
mov edi, ebx
and edi, 0xfff
cmp ebx, 0xa000
jae 0x180001cf1
cmp ebp, 3
jne 0x180001d29
cmp ecx, 0xa
jl 0x180001cbe
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d84
mov eax, edi
mov ecx, dword [rsi]
lea rbx, [r14 + rax*4]
add dword [rbx + rcx*4], edx
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001d29
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001d29
mov eax, dword [rsi]
add dword [rbx + rax*4], edx
mov eax, dword [rsi]
add dword [rbx + rax*4], edx
jmp 0x180001cc9
cmp ebp, 0xa
jne 0x180001d29
mov eax, dword [rsi]
add rdi, r14
add qword [rax + rdi], rdx
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001d29
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001d29
mov eax, dword [rsi]
add qword [rdi + rax], rdx
mov eax, dword [rsi]
add qword [rdi + rax], rdx
jmp 0x180001cff
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ecx, 0xa
jl 0x180001d3b
test ebp, ebp
jne 0x180001d82
add r10, 1
cmp ecx, 0xa
jl 0x180001c81
test ebp, ebp
je 0x180001c81
jmp 0x180001d80
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp ecx, 0xa
jl 0x180001d64
test ebx, ebx
jne 0x180001d86
mov ebp, dword [rsi + 4]
add rsi, rbp
cmp ecx, 0xa
jl 0x180001c4b
test ebx, ebx
je 0x180001c4b
jmp 0x180001c31
jmp 0x180001d80
jmp 0x180001d82
jmp 0x180001d84
jmp 0x180001d86
cmp ecx, 0xa
jl 0x180001d9a
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d9a
jmp 0x180001d98
lea rax, [r14 + 2]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov r15d, dword [rax + 0xc]
test r15, r15
je 0x18000226c
mov rcx, qword [rsp + 0x38]
call fcn.1800022e0
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001df3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002264
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001e21
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x180002266
add r15, r14
add r8, rdx
mov esi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rsi, rdx
add rcx, rdx
mov ebp, dword [rsi]
add rbp, rdx
mov rdi, r13
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x180001e54
add rdi, 1
add rbp, 1
cmp al, bl
je 0x180001e3d
cmp al, bl
je 0x180001e62
add rsi, 4
add rcx, 2
jmp 0x180001e35
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r15
call rdx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
mov qword [rsp + 0x68], rax
mov rdi, qword [r14 + rax]
mov eax, dword [0x180020a6c]
mov edx, dword [0x180020a70]
lea ebp, [rax - 1]
imul ebp, eax
test bpl, 1
sete cl
cmp edx, 0xa
setl bl
or bl, cl
test rdi, rdi
je 0x18000222d
add qword [rsp + 0x68], r14
mov rax, qword [rsp + 0x58]
mov r12d, dword [rax + 0x10]
add r12, r14
test bl, 1
je 0x180002268
mov rax, qword [rsp + 0x70]
add rax, rdi
test rdi, rdi
movzx r15d, di
cmovns r15, rax
mov rcx, qword [rsp + 0x38]
call fcn.1800022e0
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001f08
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000225c
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001f36
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000225e
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
mov rdi, qword [rsp + 0x60]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x180001f68
add rdi, 1
add rbp, 1
cmp al, bl
je 0x180001f51
cmp al, bl
je 0x180001f76
add rdx, 4
add rcx, 2
jmp 0x180001f47
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call rsi
mov qword [r12], rax
mov eax, dword [0x180020a6c]
mov edx, dword [0x180020a70]
cmp edx, 0xa
jl 0x18000220a
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000220a
mov rcx, qword [rsp + 0x38]
call fcn.1800022e0
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001fdd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002260
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000200b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002262
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
mov rdi, qword [rsp + 0x60]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x18000203d
add rdi, 1
add rbp, 1
cmp al, bl
je 0x180002026
cmp al, bl
je 0x18000204b
add rdx, 4
add rcx, 2
jmp 0x18000201c
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call rsi
mov qword [r12], rax
cmp dword [0x180020a70], 0xa
jl 0x180002081
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002154
mov rcx, qword [rsp + 0x38]
call fcn.1800022e0
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800020ac
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002254
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800020da
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
mov rdi, qword [rsp + 0x60]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x18000210c
add rdi, 1
add rbp, 1
cmp al, bl
je 0x1800020f5
cmp al, bl
je 0x18000211a
add rdx, 4
add rcx, 2
jmp 0x1800020eb
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call rsi
mov qword [r12], rax
cmp dword [0x180020a70], 0xa
jl 0x180001edd
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001edd
mov rcx, qword [rsp + 0x38]
call fcn.1800022e0
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000217f
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 0x1800021ad
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000225a
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
mov rdi, qword [rsp + 0x60]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x1800021df
add rdi, 1
add rbp, 1
cmp al, bl
je 0x1800021c8
cmp al, bl
je 0x1800021ed
add rdx, 4
add rcx, 2
jmp 0x1800021be
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call rsi
mov qword [r12], rax
jmp 0x180002081
add r12, 8
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rcx + 8]
add rcx, 8
mov qword [rsp + 0x68], rcx
mov bl, 1
test rdi, rdi
jne 0x180001ec1
jmp 0x180002231
test bl, bl
je 0x18000226a
add qword [rsp + 0x58], 0x14
cmp edx, 0xa
jl 0x180001db6
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001db6
jmp 0x180001d98
jmp 0x180002254
jmp 0x180002256
jmp 0x180002258
jmp 0x18000225a
jmp 0x18000225c
jmp 0x18000225e
jmp 0x180002260
jmp 0x180002262
jmp 0x180002264
jmp 0x180002266
jmp 0x180002268
jmp 0x18000226a
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
cmp dword [0x180020a70], 0xa
jl 0x1800022c2
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800022c2
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
cmp dword [0x180020a70], 0xa
jl 0x1800022c2
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002298
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret