Function at 0x180001090
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, 0x88
cmp dword [0x180020a64], 0xa
jl 0x1800010c2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop dword [rax]
jmp 0x1800010c0
lea rdi, section..data
mov ebp, 3
lea rbx, [rsp + 0x64]
mov dl, byte [rdi]
nop word cs:[rax + rax]
nop
mov byte [rbx], dl
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x18000111e
test esi, esi
je 0x18000111e
mov byte [rbx], dl
cmp dword [0x180020a64], 0xa
jl 0x1800010e0
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001100
jmp 0x1800010e0
cmp ecx, 0xa
jl 0x180001127
test esi, esi
jne 0x180001140
add rbx, 1
add rdi, 1
sub rbp, 1
jb 0x180001142
mov dl, byte [rdi]
jmp 0x1800010e0
jmp 0x180001140
mov edx, dword [0x180020a6c]
lea ebp, [rdx - 1]
imul ebp, edx
test bpl, 1
sete bl
cmp dword [0x180020a70], 0xa
setl r8b
or r8b, bl
cmp r8b, 1
jne 0x1800011b0
mov r13d, dword [rsp + 0x64]
xor ebx, ebx
lea r14, section..data
nop word [rax + rax]
cmp r13, rbx
je 0x1800011b2
mov ebp, ebx
and ebp, 0x3ff
movzx edx, byte [rbp + r14 + 4]
xor dl, byte [rbx + r14 + 0x404]
xor dl, 0xc
mov byte [rbx + r14 + 0x404], dl
add rbx, 1
test r8b, r8b
jne 0x180001180
nop
jmp 0x1800011b0
lea r8, [r14 + r13]
add r8, 0x404
cmp ecx, 0xa
jl 0x1800011d1
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001470
cmp ecx, 0xa
jl 0x1800011e5
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001480
mov edi, 3
lea rcx, [rsp + 0x44]
mov rdx, r8
mov al, byte [r8]
nop word cs:[rax + rax]
nop
mov byte [rcx], al
mov ebp, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea esi, [rbp - 1]
imul esi, ebp
and esi, 1
cmp ebx, 0xa
jl 0x18000123e
test esi, esi
je 0x18000123e
mov byte [rcx], al
cmp dword [0x180020a64], 0xa
jl 0x180001200
mov ebp, dword [0x180020a68]
lea ebx, [rbp - 1]
imul ebx, ebp
and ebx, 1
jne 0x180001220
jmp 0x180001200
cmp ebx, 0xa
jl 0x18000124b
test esi, esi
jne 0x180001480
add rcx, 1
add rdx, 1
sub rdi, 1
jb 0x18000125d
mov al, byte [rdx]
jmp 0x180001200
cmp dword [0x180020a70], 0xa
jl 0x1800014e2
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014e2
cmp ebx, 0xa
jl 0x180001293
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
jne 0x1800014c0
mov edi, 3
lea rbp, [rsp + 0x44]
mov rbx, r8
mov dl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rbp], dl
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x1800012f0
test esi, esi
je 0x1800012f0
mov byte [rbp], dl
cmp dword [0x180020a64], 0xa
jl 0x1800012b0
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800012d1
jmp 0x1800012b0
cmp ecx, 0xa
jl 0x1800012fd
test esi, esi
jne 0x180001490
add rbp, 1
add rbx, 1
sub rdi, 1
jb 0x18000130f
mov dl, byte [rbx]
jmp 0x1800012b0
cmp dword [0x180020a70], 0xa
jl 0x18000132d
mov edx, dword [0x180020a6c]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
jne 0x1800013e1
cmp ecx, 0xa
jl 0x180001341
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800014d0
mov edi, 3
lea rbp, [rsp + 0x44]
mov rbx, r8
mov dl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [rbp], dl
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x1800013a0
test esi, esi
je 0x1800013a0
mov byte [rbp], dl
cmp dword [0x180020a64], 0xa
jl 0x180001360
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001381
jmp 0x180001360
cmp ecx, 0xa
jl 0x1800013ad
test esi, esi
jne 0x1800014b0
add rbp, 1
add rbx, 1
sub rdi, 1
jb 0x1800013bf
mov dl, byte [rbx]
jmp 0x180001360
cmp dword [0x180020a70], 0xa
jl 0x1800011bd
mov edx, dword [0x180020a6c]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x1800011bd
cmp ecx, 0xa
jl 0x1800013f5
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800014e0
mov edi, 3
lea rbp, [rsp + 0x44]
mov rbx, r8
mov dl, byte [r8]
nop word cs:[rax + rax]
nop
mov byte [rbp], dl
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001450
test esi, esi
je 0x180001450
mov byte [rbp], dl
cmp dword [0x180020a64], 0xa
jl 0x180001410
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001431
jmp 0x180001410
cmp ecx, 0xa
jl 0x180001459
test esi, esi
jne 0x1800014a0
add rbp, 1
add rbx, 1
sub rdi, 1
jb 0x18000132d
mov dl, byte [rbx]
jmp 0x180001410
jmp 0x180001470
jmp 0x180001480
jmp 0x180001490
jmp 0x1800014a0
jmp 0x1800014b0
jmp 0x1800014c0
jmp 0x1800014d0
jmp 0x1800014e0
add r8, 4
mov edi, dword [rsp + 0x44]
test rdi, rdi
mov qword [rsp + 0x50], r8
je 0x18000164b
xor eax, eax
cmp edi, 0x20
jb 0x180001626
lea rdx, [rdi - 1]
cmp rdx, 0x400
jae 0x180001626
lea rcx, [r14 + r13]
add rcx, 0x408
lea rdx, [rdi + r14]
add rdx, 4
cmp rcx, rdx
jae 0x18000154d
lea rcx, [rdi + r13]
add rcx, r14
add rcx, 0x408
lea rdx, str.ZkcwGVYfcXswQWFCmJjOgQkBgPoarvdXEfKjjhVXLjPTYTEvcHVnGWOuZAFmeBGMsiFlpFthwrYPOJXpwJgCPRFiUWUhAMwRfaYasRUMLTECGpzotLKjibBdKclWyIRKqSoGFHbKpoJRSYhUTnpTiMSQYvaEKJhtFXryJORzAmCteOmEfTodJftCRluOqDQrKIhaHItYQWiOwEjSuJRsWbYwDjPTTUlybZaavOPYqFTJSktClYtgboWYGGVwKbQHfVzsQIinQhKdIhPaJaESZWjjFxjMjKzIFAWnBuFFIxcBiqrBBkZRJVfeKFQpxbLRsAuaIoPLvdxuxXYsHbmyzXCcoIoMErZrqgPIMYTmPCPmdEJkczTWbgayrlTzgTMuDKkaFwaMceknvgyjWnGdUQTIaaCgriAEsHbwCaVrIUeWQLqXeacWBOdXEOhWBdQAdywGLrMYOQeSwyOBwAUOqcfbZViurQhlJmRXITQFDmiUtkrwFGLBbzvEOrVLovdkwdwwSUnlZHXeHfEiRqVVmrCoheYSplGTCkiTfCuFzFxlekEfwCyMbHykwMJQJVXgbWnlGPYGpLukYrXGZYQGpmLtizIYIbDSVhJhcUMDjMLmWJLDfkaQssSRvePPRSGqWplbUyDhexMhZODLeaYnVZVayqjBiFnOXWtxcxLZGJYbGVePTlSICyxpMGmDcnCXZhvjnFcpzWGGGMxXbLCwnbFEPahdKGlziHuKMbtGDIrVMppSobMfuhwkMzQQsUuAoLhkeGEbTbUeCSRfxHUaMHFSznyrbZodnJKDJjdZBkTzBdlleojEwlKPZzetHodkHzxUxmJwrWgLeujlofgdCqvKqASscSztkgayEJTPMcnDzIxbrvxSZQUknjpVYjOcKIKqMqAuPyIbVAOdHeHAepQrkYitZeHbkqKfXHedklyMUsTIQeBtdosJhUzQGjuJPOwneeccRRFHUZcjZVfWADPKodewpUQQlSbTySSchYORmBerbkJuYPqSvjZKMZH
cmp rcx, rdx
jbe 0x18000154d
xor eax, eax
jmp 0x180001626
mov eax, edi
and eax, 0xffffffe0
lea rbp, [rax - 0x20]
mov rdx, rbp
shr rdx, 5
add rdx, 1
mov ecx, edx
and ecx, 1
test rbp, rbp
je 0x1800015e5
lea rbx, [r14 + r13]
add rbx, 0x438
mov rbp, rcx
sub rbp, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [rbx + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rbx + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rbx + rsi - 0x10]
movups xmm3, xmmword [rbx + rsi]
movups xmmword [rbx + rsi - 0x30], xmm2
movups xmmword [rbx + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rsi - 0x10], xmm0
movups xmmword [rbx + rsi], xmm1
add rsi, 0x40
add rbp, 2
jne 0x18000157e
jmp 0x1800015e7
xor esi, esi
test rcx, rcx
mov r8, qword [rsp + 0x50]
je 0x180001621
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [r8 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r8 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r8 + rsi], xmm2
movups xmmword [r8 + rsi + 0x10], xmm0
cmp rax, rdi
je 0x18000164b
lea rdx, [r14 + r13]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r14 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, rdi
jb 0x180001631
cmp dword [0x180020a74], 0xa
jl 0x180001672
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001672
nop word cs:[rax + rax]
nop
jmp 0x180001670
add r13, 0x408
movsxd rax, dword [0x180004440]
lea rsi, [rax + r14]
add rsi, 0x404
mov rbp, r8
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x18000168e
mov r12, rbp
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000169b
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016aa
mov qword [rsp + 0x78], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016b9
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800016c6
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800016d2
mov rcx, rbp
call fcn.180002560
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001704
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c4b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001733
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c4d
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x48], rsi
add r8, r9
mov eax, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rax, r9
add r10, r9
mov esi, dword [rax]
add rsi, r9
mov rbp, r12
nop dword [rax + rax]
movzx edx, byte [rbp]
movzx ecx, byte [rsi]
test dl, dl
je 0x180001777
add rbp, 1
add rsi, 1
cmp dl, cl
je 0x180001760
cmp dl, cl
je 0x180001785
add rax, 4
add r10, 2
jmp 0x180001750
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 0x1800017b7
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c4f
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800017e6
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c51
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, r15
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x180001827
add rbp, 1
add rsi, 1
cmp al, bl
je 0x180001810
cmp al, bl
je 0x180001835
add rdx, 4
add rcx, 2
jmp 0x1800017f9
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.180002560
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000188d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c53
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800018bb
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c55
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
nop word cs:[rax + rax]
nop dword [rax]
mov rax, r13
add rax, rbp
movzx eax, byte [r14 + rax]
movzx ebx, byte [rdi + rbp]
test al, al
je 0x1800018fb
add rbp, 1
cmp al, bl
je 0x1800018e0
cmp al, bl
je 0x180001909
add rdx, 4
add rcx, 2
jmp 0x1800018cc
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
mov r15, rax
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ebx, 0xa
jl 0x180001c65
test eax, eax
je 0x180001c65
movsxd rbp, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x50]
mov r15, rdx
jl 0x180001984
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x180001c57
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001984
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001991
mov rsi, rbx
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x18000199d
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800019a6
mov rdi, rsi
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800019b2
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800019be
mov rcx, r15
call fcn.180002560
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019f3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c59
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001a22
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c5b
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]
nop dword [rax]
movzx ecx, byte [rbp]
movzx eax, byte [rdx]
test cl, cl
je 0x180001a67
add rbp, 1
add rdx, 1
cmp cl, al
je 0x180001a50
cmp cl, al
je 0x180001a75
add r11, 4
add r10, 2
jmp 0x180001a3a
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 0x180001aa7
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c5d
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ad6
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c5f
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, rsi
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001b17
add rbx, 1
add rbp, 1
cmp al, cl
je 0x180001b00
cmp al, cl
je 0x180001b25
add rdx, 4
add rdi, 2
jmp 0x180001ae9
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, r15
call fcn.180002560
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001b7b
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c61
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ba9
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c63
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
nop word cs:[rax + rax]
nop dword [rax + rax]
lea rax, [rdi + r13]
movzx eax, byte [r14 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001bea
add rdi, 1
cmp al, bl
je 0x180001bd0
cmp al, bl
je 0x180001bf8
add rdx, 4
add rcx, 2
jmp 0x180001bba
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + r14 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a74], 0xa
mov r8, qword [rsp + 0x50]
jl 0x180001679
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001679
jmp 0x180001670
jmp 0x180001c4b
jmp 0x180001c4d
jmp 0x180001c4f
jmp 0x180001c51
jmp 0x180001c53
jmp 0x180001c55
jmp 0x180001c57
jmp 0x180001c59
jmp 0x180001c5b
jmp 0x180001c5d
jmp 0x180001c5f
jmp 0x180001c61
jmp 0x180001c63
cmp ebx, 0xa
jl 0x180001c70
test eax, eax
je 0x180001c70
jmp 0x180001c6e
mov rax, qword [rsp + 0x48]
lea r8, [rax + 0x108]
xor r9d, r9d
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 6]
cmp r9, rax
jae 0x180001e40
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x180001cbd
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e3c
cmp ecx, 0xa
jl 0x180001cd1
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e38
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180001d58
mov ebx, dword [r10]
add rbx, r15
mov eax, dword [r10 + 8]
lea rdi, [rax + r14]
add rdi, 0x404
jmp 0x180001d02
add r11, 0xffffffffffffffff
add rbx, 1
add rdi, 1
test r11, r11
je 0x180001d58
mov al, byte [rdi]
mov byte [rbx], al
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001d4a
test edx, edx
je 0x180001d4a
movzx eax, byte [rdi]
mov byte [rbx], al
movzx eax, byte [rdi]
mov byte [rbx], al
cmp dword [0x180020a64], 0xa
jl 0x180001d02
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d24
jmp 0x180001d02
cmp ecx, 0xa
jl 0x180001cf1
test edx, edx
je 0x180001cf1
jmp 0x180001e38
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001e1e
test edi, edi
je 0x180001e1e
cmp ecx, 0xa
jl 0x180001d92
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e3e
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180001ca9
mov eax, dword [r10 + 8]
lea rbx, [rax + r14]
add rbx, 0x404
mov edi, dword [r10]
add rdi, r15
jmp 0x180001dcb
add r11, 0xffffffffffffffff
add rdi, 1
add rbx, 1
test r11, r11
je 0x180001ca9
mov al, byte [rbx]
mov byte [rdi], al
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001e13
test edx, edx
je 0x180001e13
movzx eax, byte [rbx]
mov byte [rdi], al
movzx eax, byte [rbx]
mov byte [rdi], al
cmp dword [0x180020a64], 0xa
jl 0x180001dcb
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ded
jmp 0x180001dcb
cmp ecx, 0xa
jl 0x180001db6
test edx, edx
je 0x180001db6
jmp 0x180001e3a
add r9, 1
cmp ebx, 0xa
jl 0x180001c7f
test edi, edi
je 0x180001c7f
jmp 0x180001c6e
jmp 0x180001e38
jmp 0x180001e3a
jmp 0x180001e3c
jmp 0x180001e3e
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x30]
mov r10, r15
sub r10, rax
cmp ebx, 0xa
jl 0x180001e61
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001e61
jmp 0x180001e5f
mov rax, qword [rsp + 0x48]
mov r11d, dword [rax + 0xb0]
add r11, r15
mov r14d, ebx
mov r13d, ebx
cmp dword [r11], 0
je 0x18000200b
mov edi, dword [r11 + 4]
cmp rdi, 8
jb 0x180001fe5
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp r14d, 0xa
setl cl
or cl, bl
cmp cl, 1
jne 0x180002007
movabs rbp, 0x1fffffff8
add rdi, rbp
shr rdi, 1
mov r9d, edi
xor edi, edi
jmp 0x180001ee2
add rdi, 1
and eax, 1
sete bl
cmp r14d, 0xa
setl cl
or cl, bl
mov r13d, r14d
cmp cl, 1
jne 0x180002007
mov ebx, r14d
cmp r9, rdi
je 0x180001fde
movzx ebp, word [r11 + rdi*2 + 8]
mov esi, ebp
shr esi, 0xc
mov r8d, ebp
and r8d, 0xfff
mov r14d, r13d
cmp ebp, 0xa000
jae 0x180001f21
cmp esi, 3
jne 0x180001f8b
test cl, 1
jne 0x180001fa8
jmp 0x180001fd1
cmp esi, 0xa
jne 0x180001f8b
mov r13d, r8d
test cl, 1
jne 0x180001f4e
mov eax, dword [r11]
lea rcx, [r15 + r13]
add qword [rax + rcx], r10
mov ecx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp ebx, 0xa
jl 0x180001f62
test eax, eax
je 0x180001f62
lea rax, [r15 + r13]
mov ecx, dword [r11]
add qword [rax + rcx], r10
mov ecx, dword [r11]
lea rax, [r15 + r13]
add qword [rcx + rax], r10
mov edx, dword [0x180020a6c]
mov r14d, dword [0x180020a70]
cmp r14d, 0xa
jl 0x180001f8b
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180001f5b
lea eax, [rdx - 1]
imul eax, edx
cmp r14d, 0xa
jl 0x180001ec3
mov ecx, eax
and ecx, 1
je 0x180001ec3
jmp 0x180002009
mov eax, dword [r11]
lea rax, [r15 + rax*4]
add dword [rax + r8*4], r10d
mov edx, dword [0x180020a6c]
mov r14d, dword [0x180020a70]
cmp r14d, 0xa
jl 0x180001f8b
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001f8b
mov eax, dword [r11]
lea rax, [r15 + rax*4]
add dword [rax + r8*4], r10d
jmp 0x180001fa8
mov edi, dword [r11 + 4]
mov r14d, ebx
mov eax, edi
add r11, rax
cmp ebx, 0xa
jl 0x180001e76
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001e76
jmp 0x180001e5f
jmp 0x180002007
jmp 0x180002009
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp r13d, 0xa
jl 0x180002020
test ecx, ecx
je 0x180002020
jmp 0x18000201e
lea rax, [r15 + 2]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x1800024dd
add r14, r15
mov rcx, qword [rsp + 0x38]
call fcn.180002560
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000207f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024cf
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800020ad
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024d1
add r8, rdx
mov edi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rdi, rdx
add rcx, rdx
mov esi, dword [rdi]
add rsi, rdx
mov rbp, r12
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x1800020dd
add rbp, 1
add rsi, 1
cmp al, bl
je 0x1800020c6
cmp al, bl
je 0x1800020eb
add rdi, 4
add rcx, 2
jmp 0x1800020be
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r14
call rdx
mov qword [rsp + 0x70], rax
mov eax, dword [0x180020a6c]
mov r13d, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r13d, 0xa
jl 0x18000229a
test ecx, ecx
je 0x18000229a
mov rcx, qword [rsp + 0x38]
call fcn.180002560
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002152
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024c7
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002180
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024c9
add r8, rdx
mov edi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rdi, rdx
add rcx, rdx
mov esi, dword [rdi]
add rsi, rdx
mov rbp, r12
movzx ebx, byte [rbp]
movzx eax, byte [rsi]
test bl, bl
je 0x1800021b0
add rbp, 1
add rsi, 1
cmp bl, al
je 0x180002199
cmp bl, al
je 0x1800021be
add rdi, 4
add rcx, 2
jmp 0x180002191
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r14
call rdx
mov rcx, qword [rsp + 0x38]
call fcn.180002560
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800021f8
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024cb
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002226
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024cd
add r8, rdx
mov edi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rdi, rdx
add rcx, rdx
mov esi, dword [rdi]
add rsi, rdx
mov rbp, r12
movzx ebx, byte [rbp]
movzx eax, byte [rsi]
test bl, bl
je 0x180002256
add rbp, 1
add rsi, 1
cmp bl, al
je 0x18000223f
cmp bl, al
je 0x180002264
add rdi, 4
add rcx, 2
jmp 0x180002237
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r14
call rdx
cmp dword [0x180020a70], 0xa
jl 0x180002054
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002127
jmp 0x180002054
cmp r13d, 0xa
jl 0x1800022a8
test ecx, ecx
jne 0x1800024db
mov rcx, qword [rsp + 0x50]
mov edx, dword [rcx]
mov ecx, dword [rcx + 0x10]
add rcx, r15
mov qword [rsp + 0x58], rcx
add rdx, r15
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800024a1
mov rax, qword [rsp + 0x80]
add rax, rcx
test rcx, rcx
movzx r14d, cx
cmovns r14, rax
jmp 0x180002307
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, qword [rsp + 0x70]
mov rdx, r14
call rdi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x38]
call fcn.180002560
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002332
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024d3
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002360
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024d5
add r8, rdi
mov edx, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rdx, rdi
add rcx, rdi
mov esi, dword [rdx]
add rsi, rdi
mov rbp, qword [rsp + 0x78]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x180002392
add rbp, 1
add rsi, 1
cmp al, bl
je 0x18000237b
cmp al, bl
je 0x1800023a0
add rdx, 4
add rcx, 2
jmp 0x180002371
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, qword [rsp + 0x70]
mov rdx, r14
call rdi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov eax, dword [0x180020a6c]
mov r13d, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r13d, 0xa
jl 0x180002481
test ecx, ecx
je 0x180002481
mov rcx, qword [rsp + 0x38]
call fcn.180002560
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000240f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024d7
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000243d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024d9
add r8, rdi
mov edx, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rdx, rdi
add rcx, rdi
mov esi, dword [rdx]
add rsi, rdi
mov rbp, qword [rsp + 0x78]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x18000246f
add rbp, 1
add rsi, 1
cmp al, bl
je 0x180002458
cmp al, bl
je 0x1800022eb
add rdx, 4
add rcx, 2
jmp 0x18000244e
add qword [rsp + 0x68], 8
add qword [rsp + 0x58], 8
cmp r13d, 0xa
jl 0x1800022c2
test ecx, ecx
je 0x1800022c2
jmp 0x1800024db
add qword [rsp + 0x50], 0x14
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r13d, 0xa
jl 0x18000203f
test ecx, ecx
je 0x18000203f
jmp 0x18000201e
jmp 0x1800024c7
jmp 0x1800024c9
jmp 0x1800024cb
jmp 0x1800024cd
jmp 0x1800024cf
jmp 0x1800024d1
jmp 0x1800024d3
jmp 0x1800024d5
jmp 0x1800024d7
jmp 0x1800024d9
jmp 0x1800024db
cmp r13d, 0xa
jl 0x1800024e9
test ecx, ecx
je 0x1800024e9
jmp 0x1800024e7
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
add rax, r15
call rax
cmp dword [0x180020a70], 0xa
jl 0x18000253f
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000253f
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x28]
add rax, r15
call rax
mov eax, dword [rsi + 0x28]
add rax, r15
call rax
cmp dword [0x180020a70], 0xa
jl 0x18000253f
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002515
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret