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 [0x180020a6c], 0xa
jl 0x1800010b2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010b2
nop word [rax + rax]
jmp 0x1800010b0
mov dl, byte [section..data]
mov byte [rsp + 0x3c], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001108
test eax, eax
je 0x180001108
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x180001100
mov byte [rsp + 0x3c], dl
cmp ecx, 0xa
jl 0x180001115
test eax, eax
jne 0x180001240
mov dl, byte [0x180004001]
mov byte [rsp + 0x3d], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001168
test eax, eax
je 0x180001168
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
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 + 0x3d], dl
cmp ecx, 0xa
jl 0x180001175
test eax, eax
jne 0x180001240
mov dl, byte [0x180004002]
mov byte [rsp + 0x3e], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800011c8
test eax, eax
je 0x1800011c8
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
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 + 0x3e], dl
cmp ecx, 0xa
jl 0x1800011d1
test eax, eax
jne 0x180001240
mov bl, byte [0x180004003]
mov byte [rsp + 0x3f], bl
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp edi, 0xa
jl 0x180001228
test edx, edx
je 0x180001228
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
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 + 0x3f], 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 [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a78], 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x1800012b0
mov ebp, dword [rsp + 0x3c]
xor ebx, ebx
lea rsi, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rbp, rbx
je 0x1800012b2
mov ecx, ebx
and ecx, 0x3ff
movzx ecx, byte [rcx + rsi + 4]
xor cl, byte [rbx + rsi + 0x404]
xor cl, 0xc
mov byte [rbx + rsi + 0x404], cl
add rbx, 1
test dl, dl
jne 0x180001280
nop dword [rax + rax]
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 rdi, [rsi + rbp]
add rdi, 0x404
mov dl, byte [rdi]
mov byte [rsp + 0x38], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x18000132b
test eax, eax
je 0x18000132b
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001323
mov byte [rsp + 0x38], dl
cmp ecx, 0xa
jl 0x180001338
test eax, eax
jne 0x180001450
mov dl, byte [rdi + 1]
mov byte [rsp + 0x39], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x180001387
test eax, eax
je 0x180001387
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000137f
mov byte [rsp + 0x39], dl
cmp ecx, 0xa
jl 0x180001394
test eax, eax
jne 0x180001450
mov dl, byte [rdi + 2]
mov byte [rsp + 0x3a], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x1800013e3
test eax, eax
je 0x1800013e3
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x1800013db
mov byte [rsp + 0x3a], dl
cmp ecx, 0xa
jl 0x1800013ec
test eax, eax
jne 0x180001450
mov dl, byte [rdi + 3]
mov byte [rsp + 0x3b], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x18000143b
test eax, eax
je 0x18000143b
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001433
mov byte [rsp + 0x3b], dl
cmp ecx, 0xa
jl 0x180001452
test eax, eax
je 0x180001452
nop word cs:[rax + rax]
nop
jmp 0x180001450
cmp dword [0x180020a78], 0xa
jl 0x180001472
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001472
nop dword [rax]
jmp 0x180001470
add rdi, 4
mov r9d, dword [rsp + 0x38]
test r9, r9
mov qword [rsp + 0x48], rdi
je 0x1800015de
xor ecx, ecx
cmp r9d, 0x20
jb 0x1800015bb
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800015bb
lea rcx, [rsi + rbp]
add rcx, 0x408
lea rdx, [r9 + rsi]
add rdx, 4
cmp rcx, rdx
jae 0x1800014e4
lea rcx, [r9 + rbp]
add rcx, rsi
add rcx, 0x408
lea rdx, str.qrnIcDsZinPladMLCncLgQAmpLhFHCYvKMjQcmQqLSHdFexfUizZutJPuxcYZkbmoxkpYlHBjtDOvJLIyxlQZQeupcttzohIPpuGDQeFhWgSYXfbDZTXRcHzzmzufllBACXnucKTUxwWBEXgZBMLDIjMwpWiygEVOcksMFAuGuSjjccLZsmAiaSoEROxeOBnqXGDKwVkDHpumyCYUfTqPDnUAYRbfJgSAwsiFhibBcuvQnDoBYTHxdtQIQZpaCuOiGIzdaxbMurhLvBUMZcjsVDDFrPKdpLwGgwZuDrgcycEgmovuoTeBLfcVDypnaVgnVKFoeOEjwaruHcnsPZIKtEufvsKsbHvyzjxgxDBAxtcJsZjAAFpXSfHOLVgVszkhqIJCpZUuHywVKeMnsiVctDhbVmpkkwLJmHbbzhviEKROnoRcjiaBWOCyJgFQbPdAfJOmACjInJhIRSlnPpKOgXTLSxyDWREEmDRgiFgQhfpUTxWvxtkTPkWXCMvDmHBurIhXsGXaJqUsdmsWVSLgzzupymbjaRxSHbpJloMhLSaspgkQqqElylLwkJwAXmmZPPsehGvIgQTTiaBcqbObJIODPeVaAldQuMdjHIjbhzMKXfkhZsJKoZGuOanOsXYQauknAMFkbSBTHdvisqXJgkPGdmvnpArCGpEujECiwuGkxXKFxdjGnqcafHRIWVremJksqsMTcseooivfiWGAxfAPoLCxXyAZLxBQPDKtwdyvlzlhvQDCJqImTiLrSZkqbdIBIiRJHBYmDJhtbQvLgeOhjODonEckWLoJmwoTJSrftRBVrGfQGTvQvxUDDSEljJGhXEEWAptIpuBRdIhOQFecosaLRIiCcuAcykFZCPBQQMiQxvkWuDziUiVAqTuqJvtqLOBgfsnLzkmZhaXRWwobrMEzzIokOzHGniTwbjhRiTuCmLhnbOQAGGIZbkIRtxXwuHvBeFqRtqFjqbhRGcUzqxREQujXbqTXETtCYfzJSZLdVXttpedRQzRgvJ
cmp rcx, rdx
jbe 0x1800014e4
xor ecx, ecx
mov rdi, qword [rsp + 0x48]
jmp 0x1800015bb
mov ecx, r9d
and ecx, 0xffffffe0
lea rbx, [rcx - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x18000157b
lea rdi, [rsi + rbp]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor eax, eax
mov edx, eax
and edx, 0x3c0
movups xmm0, xmmword [rdx + rsi + 4]
movups xmm1, xmmword [rdx + rsi + 0x14]
movups xmm2, xmmword [rdi + rax - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rax - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rax - 0x10]
movups xmm3, xmmword [rdi + rax]
movups xmmword [rdi + rax - 0x30], xmm2
movups xmmword [rdi + rax - 0x20], xmm0
lea edx, [rax + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + rsi + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + rsi + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rax - 0x10], xmm0
movups xmmword [rdi + rax], xmm1
add rax, 0x40
add rbx, 2
jne 0x180001518
jmp 0x18000157d
xor eax, eax
test r8, r8
je 0x1800015b1
mov edx, eax
and edx, 0x3e0
movups xmm0, xmmword [rdx + rsi + 4]
movups xmm1, xmmword [rdx + rsi + 0x14]
mov rdx, qword [rsp + 0x48]
movups xmm2, xmmword [rdx + rax]
xorps xmm2, xmm0
movups xmm0, xmmword [rdx + rax + 0x10]
xorps xmm0, xmm1
movups xmmword [rdx + rax], xmm2
movups xmmword [rdx + rax + 0x10], xmm0
cmp rcx, r9
mov rdi, qword [rsp + 0x48]
je 0x1800015de
lea rdx, [rsi + rbp]
add rdx, 0x408
mov eax, ecx
and eax, 0x3ff
movzx eax, byte [rax + rsi + 4]
xor byte [rdx + rcx], al
add rcx, 1
cmp rcx, r9
jb 0x1800015c6
cmp dword [0x180020a7c], 0xa
jl 0x180001602
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001602
nop dword [rax + rax]
jmp 0x180001600
add rbp, 0x408
movsxd rax, dword [0x180004440]
add rax, rsi
add rax, 0x404
mov qword [rsp + 0x40], rax
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000161e
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000162a
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001638
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001644
mov r14, r12
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001653
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001660
mov rcx, rdi
call fcn.180002330
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001693
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b93
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x50], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800016cc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001b95
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov edx, dword [rdi]
add rdx, r9
mov rcx, r13
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x1800016fd
add rcx, 1
add rdx, 1
cmp al, bl
je 0x1800016e7
cmp al, bl
je 0x18000170b
add rdi, 4
add r10, 2
jmp 0x1800016df
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x18000173d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b97
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000176c
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001b99
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdi, r10
add r9, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r12
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000179d
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001787
cmp cl, dl
je 0x1800017ab
add rdi, 4
add r9, 2
jmp 0x18000177f
movzx eax, word [r9]
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, r15
mov r8, r15
call r10
mov rcx, qword [rsp + 0x50]
call fcn.180002330
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001804
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b9b
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001833
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001b9d
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor eax, eax
lea rcx, [rax + rbp]
movzx ebx, byte [rsi + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001865
add rax, 1
cmp bl, cl
je 0x18000184d
cmp bl, cl
je 0x180001873
add rdx, 4
add r9, 2
jmp 0x180001846
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r14, rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001bad
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001bad
movsxd r15, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rsp + 0x48]
mov r14, rdx
jl 0x1800018ee
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, rdx
and ecx, 1
jne 0x180001b9f
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800018ee
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800018fb
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001907
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001913
mov rdi, r12
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001922
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000192e
mov rcx, r14
call fcn.180002330
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001962
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ba1
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001991
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ba3
mov qword [rsp + 0x40], r15
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 rcx, rbx
movzx eax, byte [rcx]
movzx r15d, byte [rdx]
test al, al
je 0x1800019ca
add rcx, 1
add rdx, 1
cmp al, r15b
je 0x1800019b2
cmp al, r15b
je 0x1800019d9
add r11, 4
add r10, 2
jmp 0x1800019a9
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a0b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ba5
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a3a
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001ba7
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdi, r10
add r9, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r12
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001a6b
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001a55
cmp cl, dl
je 0x180001a79
add rdi, 4
add r9, 2
jmp 0x180001a4d
movzx eax, word [r9]
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, r14
call fcn.180002330
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ad0
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ba9
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001aff
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001bab
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor eax, eax
lea rcx, [rax + rbp]
movzx ebx, byte [rsi + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001b31
add rax, 1
cmp bl, cl
je 0x180001b19
cmp bl, cl
je 0x180001b3f
add rdx, 4
add r9, 2
jmp 0x180001b12
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + rsi + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a7c], 0xa
mov rdi, qword [rsp + 0x48]
jl 0x180001609
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001609
jmp 0x180001600
jmp 0x180001b93
jmp 0x180001b95
jmp 0x180001b97
jmp 0x180001b99
jmp 0x180001b9b
jmp 0x180001b9d
jmp 0x180001b9f
jmp 0x180001ba1
jmp 0x180001ba3
jmp 0x180001ba5
jmp 0x180001ba7
jmp 0x180001ba9
jmp 0x180001bab
mov rdx, qword [rsp + 0x40]
cmp word [rdx + 6], 0
je 0x180001d44
mov rdx, qword [rsp + 0x40]
lea r8, [rdx + 0x108]
xor r9d, r9d
cmp ecx, 0xa
jl 0x180001be0
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d6d
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov edx, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
cmp ebp, 0xa
jl 0x180001c0c
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001d69
cmp ebp, 0xa
jl 0x180001c20
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001d65
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001c89
mov ecx, dword [r10]
add rcx, r14
mov edx, dword [r10 + 8]
lea rbx, [rdx + rsi]
add rbx, 0x404
jmp 0x180001c51
add rax, 0xffffffffffffffff
add rcx, 1
add rbx, 1
test rax, rax
je 0x180001c89
movzx edx, byte [rbx]
mov byte [rcx], dl
mov edx, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebp, 0xa
jl 0x180001c7b
test edi, edi
je 0x180001c7b
movzx edx, byte [rbx]
mov byte [rcx], dl
jmp 0x180001c51
cmp ebp, 0xa
jl 0x180001c40
test edi, edi
je 0x180001c40
jmp 0x180001d65
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001d2e
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001d2e
cmp ebp, 0xa
jl 0x180001cc1
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001d6b
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001bf8
mov ecx, dword [r10 + 8]
add rcx, rsi
add rcx, 0x404
mov ebx, dword [r10]
add rbx, r14
jmp 0x180001cf9
add rax, 0xffffffffffffffff
add rbx, 1
add rcx, 1
test rax, rax
je 0x180001bf8
movzx edx, byte [rcx]
mov byte [rbx], dl
mov edx, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebp, 0xa
jl 0x180001d23
test edi, edi
je 0x180001d23
movzx edx, byte [rcx]
mov byte [rbx], dl
jmp 0x180001cf9
cmp ebp, 0xa
jl 0x180001ce4
test edi, edi
je 0x180001ce4
jmp 0x180001d67
add r9, 1
mov rdx, qword [rsp + 0x40]
movzx edx, word [rdx + 6]
cmp r9, rdx
jb 0x180001bcc
mov rdx, qword [rsp + 0x40]
mov rbp, qword [rdx + 0x30]
mov rdx, r14
sub rdx, rbp
cmp ecx, 0xa
jl 0x180001d6f
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001d6f
jmp 0x180001d63
jmp 0x180001d65
jmp 0x180001d67
jmp 0x180001d69
jmp 0x180001d6b
jmp 0x180001d6d
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp + 0xb0]
add rbp, r14
movabs r8, 0x1fffffff8
cmp dword [rbp], 0
je 0x180001f28
mov ebx, dword [rbp + 4]
cmp rbx, 8
jb 0x180001f00
cmp ecx, 0xa
jl 0x180001db2
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001f24
add rbx, r8
shr rbx, 1
mov r9d, ebx
xor r10d, r10d
cmp r10, r9
je 0x180001efd
movzx edi, word [rbp + r10*2 + 8]
mov esi, edi
shr esi, 0xc
mov ebx, edi
and ebx, 0xfff
cmp edi, 0xa000
jae 0x180001eb7
cmp esi, 3
jne 0x180001ed4
mov eax, dword [rbp]
lea rax, [r14 + rax*4]
add dword [rax + rbx*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001ed4
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x180001ed4
lea rsi, [r14 + rbx*4]
cmp ecx, 0xa
jl 0x180001e35
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f22
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
mov eax, dword [0x180020a78]
cmp eax, 0xa
jl 0x180001e8f
mov ecx, dword [0x180020a74]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
je 0x180001e8f
cmp eax, 0xa
jl 0x180001e67
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001e87
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
cmp dword [0x180020a78], 0xa
jl 0x180001e35
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e35
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
jmp 0x180001e67
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001ed4
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001e21
jmp 0x180001ed4
cmp esi, 0xa
jne 0x180001ed4
mov eax, dword [rbp]
mov ecx, ebx
add rcx, r14
add qword [rax + rcx], rdx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180001ee6
test edi, edi
jne 0x180001f26
add r10, 1
cmp ecx, 0xa
jl 0x180001dbe
test edi, edi
je 0x180001dbe
jmp 0x180001f24
mov ebx, dword [rbp + 4]
mov ebx, ebx
add rbp, rbx
cmp ecx, 0xa
jl 0x180001d87
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001d87
jmp 0x180001d63
jmp 0x180001f22
jmp 0x180001f24
jmp 0x180001f26
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx + 0x90]
add rdx, r14
mov qword [rsp + 0x48], rdx
lea rdx, [r14 + 2]
mov qword [rsp + 0x60], rdx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
cmp al, 1
jne 0x180002126
mov rcx, qword [rsp + 0x48]
mov r15d, dword [rcx + 0xc]
test al, al
je 0x180002126
test r15d, r15d
je 0x1800022fc
mov rcx, qword [rsp + 0x50]
call fcn.180002330
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001fa5
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000226f
add r15, r14
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001fd6
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002271
add r8, rsi
mov ebp, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rbp, rsi
add rcx, rsi
mov ebx, dword [rbp]
add rbx, rsi
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x180002006
add rdi, 1
add rbx, 1
cmp al, dl
je 0x180001ff0
cmp al, dl
je 0x180002014
add rbp, 4
add rcx, 2
jmp 0x180001fe7
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r15
call rsi
mov r12, rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000212f
test edx, edx
je 0x18000212f
mov rcx, qword [rsp + 0x50]
call fcn.180002330
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x180002077
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002273
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800020a5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002275
add r8, rsi
mov ebp, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rbp, rsi
add rcx, rsi
mov ebx, dword [rbp]
add rbx, rsi
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x1800020d5
add rdi, 1
add rbx, 1
cmp al, dl
je 0x1800020bf
cmp al, dl
je 0x1800020e3
add rbp, 4
add rcx, 2
jmp 0x1800020b6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r15
call rsi
mov rcx, qword [rsp + 0x50]
call fcn.180002330
mov rsi, rax
cmp dword [0x180020a84], 0xa
jl 0x180001fa8
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001fa8
jmp 0x18000226f
test al, al
je 0x180002126
jmp 0x180001f60
cmp ecx, 0xa
jl 0x18000213c
test edx, edx
jne 0x180002277
mov rdx, qword [rsp + 0x48]
mov r15d, dword [rdx]
mov edx, dword [rdx + 0x10]
add r15, r14
add rdx, r14
mov qword [rsp + 0x58], rdx
mov rdx, qword [r15]
test rdx, rdx
je 0x180002264
mov rax, qword [rsp + 0x60]
add rax, rdx
test rdx, rdx
movzx ecx, dx
cmovns rcx, rax
mov qword [rsp + 0x68], rcx
mov rcx, qword [rsp + 0x50]
call fcn.180002330
mov rbp, rax
cmp dword [0x180020a84], 0xa
jl 0x1800021a0
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002279
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800021ce
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000227b
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov ecx, dword [rbp + rcx + 0x24]
add rdx, rbp
add rcx, rbp
mov edi, dword [rdx]
add rdi, rbp
mov rsi, qword [rsp + 0x70]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800021ff
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800021e9
cmp al, bl
je 0x18000220d
add rdx, 4
add rcx, 2
jmp 0x1800021df
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov rcx, r12
mov rdx, qword [rsp + 0x68]
call rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002247
test edx, edx
jne 0x18000227d
add r15, 8
add qword [rsp + 0x58], 8
cmp ecx, 0xa
jl 0x180002152
test edx, edx
je 0x180002152
jmp 0x180002277
add qword [rsp + 0x48], 0x14
jmp 0x180001f44
jmp 0x18000226f
jmp 0x180002271
jmp 0x180002273
jmp 0x180002275
jmp 0x180002277
jmp 0x180002279
jmp 0x18000227b
jmp 0x18000227d
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002316
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jl 0x1800022c3
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002294
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jl 0x1800022fc
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800022fc
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
mov eax, dword [rsi + 0x28]
jmp 0x1800022cb
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
cmp dword [0x180020a78], 0xa
jge 0x18000227f
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret