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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
cmp dword [0x180020a6c], 0xa
jl 0x1800010e2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010e2
nop
jmp 0x1800010e0
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
lea r14, section..data
mov r8d, 4
mov rcx, rsi
mov rdx, r14
call fcn.1800028d0
add rsp, 0x20
mov r10d, dword [0x180020a70]
mov r9d, dword [0x180020a6c]
cmp r9d, 0xa
jl 0x1800011e0
lea edx, [r10 - 1]
imul edx, r10d
and edx, 1
je 0x1800011e0
lea rbx, section..data
nop word cs:[rax + rax]
nop dword [rax]
mov eax, 0x10
call entry0
sub rsp, rax
mov rcx, rsp
sub rsp, 0x20
mov r8d, 4
mov rdx, rbx
call fcn.1800028d0
add rsp, 0x20
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.1800028d0
add rsp, 0x20
mov r10d, dword [0x180020a70]
mov r9d, dword [0x180020a6c]
cmp r9d, 0xa
jl 0x1800011e0
lea eax, [r10 - 1]
imul eax, r10d
and eax, 1
jne 0x180001160
mov r15d, dword [rsi]
test r15, r15
je 0x1800012f8
xor edx, edx
cmp r15d, 0x10
jb 0x1800012d0
lea rbx, [r15 - 1]
cmp rbx, 0x400
jae 0x1800012d0
mov edx, r15d
and edx, 0xfffffff0
lea rsi, [rdx - 0x10]
mov rbx, rsi
shr rbx, 4
add rbx, 1
mov r8d, ebx
and r8d, 1
test rsi, rsi
je 0x180001469
mov rsi, r8
sub rsi, rbx
xor eax, eax
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop dword [rax]
mov ebx, eax
and ebx, 0x3e0
movups xmm1, xmmword [rbx + r14 + 4]
movups xmm2, xmmword [rax + r14 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r14 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r14 + 0x404], xmm2
lea ebx, [rax + 0x10]
and ebx, 0x3f0
movups xmm2, xmmword [rbx + r14 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r14 + 0x414], xmm1
add rax, 0x20
add rsi, 2
jne 0x180001240
test r8, r8
je 0x1800012c6
mov ecx, eax
and ecx, 0x3f0
movups xmm0, xmmword [rcx + r14 + 4]
movups xmm1, xmmword [rax + r14 + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rax + r14 + 0x404], xmm1
cmp rdx, r15
je 0x1800012f8
nop dword [rax + rax]
mov eax, edx
and eax, 0x3ff
movzx eax, byte [rax + r14 + 4]
xor al, byte [rdx + r14 + 0x404]
xor al, 0xc
mov byte [rdx + r14 + 0x404], al
add rdx, 1
cmp rdx, r15
jb 0x1800012d0
cmp r9d, 0xa
jl 0x180001312
lea eax, [r10 - 1]
imul eax, r10d
and eax, 1
je 0x180001312
nop dword [rax + rax]
jmp 0x180001310
lea rsi, [r15 + r14]
add rsi, 0x404
nop dword [rax]
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call fcn.1800028d0
add rsp, 0x20
mov ecx, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x1800013f9
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800013f9
cmp r11d, 0xa
jl 0x180001370
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800013b0
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call fcn.1800028d0
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001320
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001320
nop word [rax + rax]
sub rsp, 0x20
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call fcn.1800028d0
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call fcn.1800028d0
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001370
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800013b0
jmp 0x180001370
lea rax, [r15 + r14]
add rax, 0x408
mov qword [rbp - 8], rax
mov r9d, dword [rdi]
test r9, r9
je 0x18000158a
xor eax, eax
cmp r9d, 0x20
jb 0x180001563
lea rbx, [r9 - 1]
cmp rbx, 0x400
jae 0x180001563
lea rdx, [r15 + r14]
add rdx, 0x408
lea rbx, [r9 + r14]
add rbx, 4
cmp rdx, rbx
jae 0x180001479
lea rdx, [r9 + r15]
add rdx, r14
add rdx, 0x408
lea rbx, str.AOgrlwvwPkttvJIzcEAFiSqrlCeiHOxntoCYFcirzAMsmCCGdkZDdKuDCIwWvCxRjuzwZgOTwnRLULVxAWLJsuCMwttbxPSxDKqYRoBEAupEEacogOxhjbFcbMImXBFQREyHagpnIkAyykHckYYVDKsmEkQqvqmfMkLZiPPKXkdLYEXRDcUysEaoxuXqLmeooWxQQUmwyhmjSBctJpxgIpMlAKxmcubsTvQXMEpFvEZaJTBBGngfbampnSYXstUdFHEaIeDaCUbnWYWqWMfzKuBRMOmkBPXjhPrdBbGcndlVpJnUqsnPuiJSfGmImOtKiQOcGgaovZJoVxxzBwiTcALYcyKTwzVMzWQofEhxDOlHGHVEuEfcXHCZtzAMYFfCZjfaXJzUPoPglkaPSldWMrFQyMmHypEZFpzQVhvDKHfllcamUXLFurmZoYloWMuGuRAkhLnhFpESBHIPdjacivKlRJxMFKYfYCVeeJRTpVSStZLZAfycJSSTknHbJVoMybGmztQhHujtocTvAIYstXrugklCGBKALdrqaeWBhzfchpHUrDwDBcSWruOCJufzdPsuCgRLTHSPhpkosoGLmwaKIVhLannVtBPYTQeCuEpysezhddWlVbTjCGqFaWvGkvRpCDPzZRfVDHcKyUxrpgyrZjCkyiPkeSaJbLvhuheJbgmplcAOAiquCYopbsCOKYwncJVPZcPULCbtadhCwaRIuHEhCoOgpjbzHtlolRvVzCjdeMCjQdTFMItTRrBjjjRqoijjFEwdBlBGRIHblpPrVkFZxTTdmwgcHbgingYdrjpYHiEnBgVgPmfuRnKxwHUSQuQARBrBkfjEDPJfyawprymtJwALRPQqHOYMekgwPERLJyZBFWfVfvjhgpgUbFMuUDnvslCiFuSihPKxptcHlQpMbOVcnGRYDtRnCZEZyGosIIpKPSSpsKGIfqEaPgqoCGmjIisDzdHVgnWycUFrqVWOVtyKZhlZcVDIPJMYitWEuZUSyaRqxVioryk
cmp rdx, rbx
jbe 0x180001479
xor eax, eax
jmp 0x180001563
xor eax, eax
test r8, r8
jne 0x18000129c
jmp 0x1800012c6
mov eax, r9d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rdi, rbx
shr rdi, 5
add rdi, 1
mov r8d, edi
and r8d, 1
test rbx, rbx
je 0x180001527
lea rsi, [r15 + r14]
add rsi, 0x438
mov r10, r8
sub r10, rdi
xor ebx, ebx
nop word cs:[rax + rax]
nop dword [rax + rax]
mov edi, ebx
and edi, 0x3c0
movups xmm0, xmmword [rdi + r14 + 4]
movups xmm1, xmmword [rdi + r14 + 0x14]
movups xmm2, xmmword [rsi + rbx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rbx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rbx - 0x10]
movups xmm3, xmmword [rsi + rbx]
movups xmmword [rsi + rbx - 0x30], xmm2
movups xmmword [rsi + rbx - 0x20], xmm0
lea edi, [rbx + 0x20]
and edi, 0x3e0
movups xmm0, xmmword [rdi + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rbx - 0x10], xmm0
movups xmmword [rsi + rbx], xmm1
add rbx, 0x40
add r10, 2
jne 0x1800014c0
jmp 0x180001529
xor ebx, ebx
test r8, r8
je 0x18000155e
mov edi, ebx
and edi, 0x3e0
movups xmm0, xmmword [rdi + r14 + 4]
movups xmm1, xmmword [rdi + r14 + 0x14]
mov rdx, qword [rbp - 8]
movups xmm2, xmmword [rdx + rbx]
xorps xmm2, xmm0
movups xmm0, xmmword [rdx + rbx + 0x10]
xorps xmm0, xmm1
movups xmmword [rdx + rbx], xmm2
movups xmmword [rdx + rbx + 0x10], xmm0
cmp rax, r9
je 0x18000158a
lea rbx, [r15 + r14]
add rbx, 0x408
nop
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r14 + 4]
xor byte [rbx + rax], dl
add rax, 1
cmp rax, r9
jb 0x180001570
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp r11d, 0xa
jl 0x1800018f4
test edx, edx
je 0x1800018f4
movsxd r12, dword [0x180004440]
cmp dword [0x180020a74], 0xa
jl 0x1800015d2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800015d2
nop word cs:[rax + rax]
jmp 0x1800015d0
mov r13, qword [rbp - 8]
nop word cs:[rax + rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800015e0
mov rsi, r13
nop
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800015f0
mov r14, rsi
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001600
nop word [rax + rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001610
mov qword [rbp], r15
mov rbx, r14
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001630
mov r15, rbx
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001640
sub rsp, 0x20
mov rcx, r13
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001682
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001682
nop word [rax + rax]
jmp 0x180001680
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800016b2
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800016b2
nop dword [rax]
jmp 0x1800016b0
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add r11, r9
nop word cs:[rax + rax]
nop
mov edx, dword [r11]
add rdx, r9
mov rdi, rsi
nop dword [rax]
movzx ecx, byte [rdi]
movzx eax, byte [rdx]
test cl, cl
je 0x1800016f6
add rdi, 1
add rdx, 1
cmp cl, al
je 0x1800016e0
cmp cl, al
je 0x180001704
add r11, 4
add r10, 2
jmp 0x1800016d0
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001742
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001742
nop word [rax + rax]
jmp 0x180001740
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001772
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001772
nop dword [rax]
jmp 0x180001770
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rcx, r10
add rdx, r10
mov edi, dword [rdx]
add rdi, r10
mov rsi, r14
nop dword [rax]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800017a6
add rsi, 1
add rdi, 1
cmp al, bl
je 0x180001790
cmp al, bl
je 0x1800017b4
add rdx, 4
add rcx, 2
jmp 0x180001785
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180002a30
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001822
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001822
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001820
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001852
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001852
nop dword [rax]
jmp 0x180001850
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add r9, r10
add rdx, r10
lea r14, section..data
mov r15, qword [rbp]
lea rdi, [r15 + r14]
add rdi, 0x408
mov esi, dword [rdx]
add rsi, r10
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rdi + rax]
movzx ecx, byte [rsi + rax]
test bl, bl
je 0x1800018a4
add rax, 1
cmp bl, cl
je 0x180001890
cmp bl, cl
je 0x1800018b2
add rdx, 4
add r9, 2
jmp 0x18000187b
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov edx, dword [r12 + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov eax, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov qword [rbp], r15
cmp r11d, 0xa
jl 0x180001906
test edx, edx
jne 0x180001cb6
movsxd rax, dword [0x180004440]
cmp dword [0x180020a74], 0xa
jl 0x18000192b
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a60
lea rsi, [rax + r14]
add rsi, 0x404
mov rdi, qword [rbp - 8]
nop word [rax + rax]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001940
mov r13, rdi
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001950
mov r15, r13
nop
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001960
mov r12, r15
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001970
mov rbx, r12
nop
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001980
mov r14, rbx
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001990
sub rsp, 0x20
mov rcx, rdi
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019cb
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a70
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800019fa
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a80
mov qword [rbp - 0x10], rdi
mov qword [rbp - 0x18], rsi
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add rsi, r9
nop word cs:[rax + rax]
nop
mov edi, dword [rsi]
add rdi, r9
mov rdx, r13
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rdi]
test cl, cl
je 0x180001a46
add rdx, 1
add rdi, 1
cmp cl, al
je 0x180001a30
cmp cl, al
je 0x180001a82
add rsi, 4
add r10, 2
jmp 0x180001a20
jmp 0x180001a60
jmp 0x180001a70
jmp 0x180001a80
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001abc
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b40
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ae7
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001b50
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov esi, dword [r10 + rcx + 0x24]
add rsi, r10
add rdx, r10
nop word [rax + rax]
mov edi, dword [rdx]
add rdi, r10
mov rax, r12
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180001b26
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180001b10
cmp bl, cl
je 0x180001b52
add rdx, 4
add rsi, 2
jmp 0x180001b00
jmp 0x180001b40
jmp 0x180001b50
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp - 0x10]
call fcn.180002a30
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001bb5
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c50
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001be4
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c60
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add r9, r10
add rdx, r10
lea r14, section..data
mov rax, qword [rbp]
lea rsi, [rax + r14]
add rsi, 0x408
nop dword [rax]
mov edi, dword [rdx]
add rdi, r10
xor eax, eax
nop word [rax + rax]
movzx ebx, byte [rsi + rax]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001c34
add rax, 1
cmp bl, cl
je 0x180001c20
cmp bl, cl
je 0x180001c62
add rdx, 4
add r9, 2
jmp 0x180001c10
jmp 0x180001c50
jmp 0x180001c60
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rdi, qword [rbp - 0x18]
mov edx, dword [rdi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r8d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea ebx, [r8 - 1]
imul ebx, r8d
cmp ecx, 0xa
jl 0x180002023
mov edx, ebx
and edx, 1
je 0x180002023
movsxd r12, dword [0x180004440]
cmp dword [0x180020a74], 0xa
jl 0x180001cdb
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001df0
mov r13, qword [rbp - 8]
nop
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001ce0
mov rsi, r13
nop
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001cf0
mov r14, rsi
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d00
nop word [rax + rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d10
mov rbx, r14
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d20
mov r15, rbx
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001d30
sub rsp, 0x20
mov rcx, r13
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001d6b
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e00
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001d96
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e10
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add r11, r9
nop dword [rax]
mov edx, dword [r11]
add rdx, r9
mov rdi, rsi
nop dword [rax]
movzx ecx, byte [rdi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001dd6
add rdi, 1
add rdx, 1
cmp cl, al
je 0x180001dc0
cmp cl, al
je 0x180001e12
add r11, 4
add r10, 2
jmp 0x180001db0
jmp 0x180001df0
jmp 0x180001e00
jmp 0x180001e10
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001e4c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ed0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001e77
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ee0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rcx, r10
add rdx, r10
nop word [rax + rax]
mov edi, dword [rdx]
add rdi, r10
mov rsi, r14
nop dword [rax + rax]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180001eb6
add rsi, 1
add rdi, 1
cmp al, bl
je 0x180001ea0
cmp al, bl
je 0x180001ee2
add rdx, 4
add rcx, 2
jmp 0x180001e90
jmp 0x180001ed0
jmp 0x180001ee0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180002a30
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001f44
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fe0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001f73
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ff0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add r9, r10
add rdx, r10
lea r14, section..data
mov rax, qword [rbp]
lea rdi, [rax + r14]
add rdi, 0x408
nop dword [rax]
mov esi, dword [rdx]
add rsi, r10
xor eax, eax
nop word [rax + rax]
movzx ebx, byte [rdi + rax]
movzx ecx, byte [rsi + rax]
test bl, bl
je 0x180001fc4
add rax, 1
cmp bl, cl
je 0x180001fb0
cmp bl, cl
je 0x180001ff2
add rdx, 4
add r9, 2
jmp 0x180001fa0
jmp 0x180001fe0
jmp 0x180001ff0
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov edx, dword [r12 + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
jmp 0x180001906
test bl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x180002160
lea rbx, [rdi + 0x108]
mov qword [rbp], rbx
xor esi, esi
mov qword [rbp - 8], rax
jmp 0x180002074
add rsi, 1
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
mov rax, qword [rbp - 8]
jne 0x180002160
movzx ebx, word [rdi + 6]
cmp rsi, rbx
jae 0x180002162
lea rbx, [rsi + rsi*4]
mov rdx, qword [rbp]
mov ecx, dword [rdx + rbx*8 + 0xc]
mov r8d, dword [rdx + rbx*8 + 0x10]
add rcx, rax
mov eax, dword [rdx + rbx*8 + 0x14]
lea rdx, [rax + r14]
add rdx, 0x404
sub rsp, 0x20
call fcn.1800028d0
add rsp, 0x20
mov r8d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000204d
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
je 0x18000204d
mov rax, qword [rbp]
lea r12, [rax + rbx*8]
add r12, 0xc
mov ecx, dword [r12]
mov rbx, qword [rbp - 8]
add rcx, rbx
mov r8d, dword [r12 + 4]
mov eax, dword [r12 + 8]
lea rdx, [rax + r14]
add rdx, 0x404
sub rsp, 0x20
call fcn.1800028d0
add rsp, 0x20
mov ecx, dword [r12]
add rcx, rbx
mov r8d, dword [r12 + 4]
mov eax, dword [r12 + 8]
lea rdx, [rax + r14]
add rdx, 0x404
sub rsp, 0x20
call fcn.1800028d0
add rsp, 0x20
mov r8d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000204d
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
jne 0x1800020e0
jmp 0x18000204d
jmp 0x180002160
mov esi, dword [rdi + 0xb0]
cmp dword [rax + rsi], 0
je 0x180002352
add rsi, rax
mov rbx, qword [rdi + 0x30]
mov r14, rax
sub r14, rbx
movabs r12, 0x1fffffff8
mov r9, rsi
test dl, 1
jne 0x1800021cd
jmp 0x180002350
mov ebx, dword [r9 + 4]
lea rsi, [r9 + rbx]
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete r10b
cmp ecx, 0xa
setl dl
or dl, r10b
cmp dword [r9 + rbx], 0
mov r9, rsi
je 0x180002352
test dl, 1
je 0x180002350
mov ebx, dword [r9 + 4]
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
cmp rbx, 7
jbe 0x1800022f8
cmp ecx, 0xa
jl 0x1800021f3
test edx, edx
jne 0x180002320
add rbx, r12
shr rbx, 1
mov r10d, ebx
xor r11d, r11d
cmp r11, r10
je 0x1800022f8
movzx edx, word [r9 + r11*2 + 8]
mov ebx, edx
shr ebx, 0xc
mov edi, edx
and edi, 0xfff
cmp edx, 0xa000
jae 0x180002279
cmp ebx, 3
jne 0x1800022e2
cmp ecx, 0xa
jl 0x180002242
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
jne 0x180002340
mov ecx, dword [rsi]
lea rdx, [rax + rdi*4]
add dword [rdx + rcx*4], r14d
mov r8d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800022e2
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
je 0x1800022e2
mov ecx, dword [rsi]
add dword [rdx + rcx*4], r14d
mov ecx, dword [rsi]
jmp 0x180002248
cmp ebx, 0xa
jne 0x1800022e2
mov edx, edi
cmp ecx, 0xa
jl 0x1800022b9
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
je 0x1800022b9
lea rbx, [rdx + rax]
jmp 0x1800022b3
add r11, 1
cmp ecx, 0xa
mov rdi, qword [rbp - 0x18]
jl 0x1800021ff
test edx, edx
je 0x1800021ff
jmp 0x180002320
mov ecx, dword [rsi]
add qword [rbx + rcx], r14
mov ecx, dword [rsi]
lea rbx, [rdx + rax]
add qword [rcx + rbx], r14
mov r8d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800022e2
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
jne 0x1800022b3
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
cmp ecx, 0xa
jl 0x180002298
test edx, edx
je 0x180002298
jmp 0x180002330
cmp ecx, 0xa
jl 0x180002196
test edx, edx
je 0x180002196
nop dword [rax]
jmp 0x180002310
jmp 0x180002320
jmp 0x180002330
jmp 0x180002340
jmp 0x180002350
test dl, 1
je 0x180002380
cmp ecx, 0xa
jl 0x180002382
lea ecx, [r8 - 1]
imul ecx, r8d
and ecx, 1
je 0x180002382
nop dword [rax]
jmp 0x180002370
jmp 0x180002380
lea rcx, [rax + 2]
mov qword [rbp - 0x30], rcx
mov r14d, dword [rdi + 0x90]
add r14, rax
mov r12d, dword [r14 + 0xc]
test r12, r12
je 0x180002889
mov qword [rbp - 0x28], r14
add r12, qword [rbp - 8]
sub rsp, 0x20
jmp 0x1800023c3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
mov rcx, qword [rbp - 0x10]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800023f1
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002873
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002420
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002875
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rsi, r9
mov ebx, dword [rsi]
add rbx, r9
mov rdi, r13
nop dword [rax + rax]
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x180002456
add rdi, 1
add rbx, 1
cmp al, dl
je 0x180002440
cmp al, dl
je 0x180002464
add rsi, 4
add rcx, 2
jmp 0x180002433
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
add rsp, 0x20
mov esi, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
cmp ebx, 0xa
mov rcx, qword [rbp - 0x10]
jl 0x180002548
test edx, edx
je 0x180002548
sub rsp, 0x20
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800024d4
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002877
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002503
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002879
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rsi, r9
mov ebx, dword [rsi]
add rbx, r9
mov rdi, r13
nop
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x180002536
add rdi, 1
add rbx, 1
cmp al, dl
je 0x180002520
cmp al, dl
je 0x1800023af
add rsi, 4
add rcx, 2
jmp 0x180002516
mov qword [rbp], rax
cmp ebx, 0xa
jl 0x180002559
test edx, edx
jne 0x180002887
mov rcx, qword [rbp - 0x28]
mov eax, dword [rcx]
mov r14d, dword [rcx + 0x10]
mov rcx, qword [rbp - 8]
add rax, rcx
mov qword [rbp - 0x20], rax
add r14, rcx
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax]
test rdx, rdx
je 0x18000284a
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800025c5
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002885
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800025f4
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002883
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rdi, r9
add rsi, r9
mov ebx, dword [rsi]
add rbx, r9
mov rax, r15
movzx ecx, byte [rax]
movzx edx, byte [rbx]
test cl, cl
je 0x180002625
add rax, 1
add rbx, 1
cmp cl, dl
je 0x18000260f
cmp cl, dl
je 0x180002633
add rsi, 4
add rdi, 2
jmp 0x180002607
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r14], rax
mov esi, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
cmp ebx, 0xa
mov rcx, qword [rbp - 0x10]
jl 0x18000282e
test edx, edx
je 0x18000282e
sub rsp, 0x20
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800026aa
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000287b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800026d9
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000287d
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rsi, r9
add rdx, r9
mov ebx, dword [rdx]
add rbx, r9
mov rdi, r15
nop word cs:[rax + rax]
nop
movzx eax, byte [rdi]
movzx ecx, byte [rbx]
test al, al
je 0x180002716
add rdi, 1
add rbx, 1
cmp al, cl
je 0x180002700
cmp al, cl
je 0x180002724
add rdx, 4
add rsi, 2
jmp 0x1800026ec
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r14], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002775
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000287f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800027a4
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002881
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rsi, r9
add rdx, r9
mov ebx, dword [rdx]
add rbx, r9
mov rdi, r15
nop
movzx eax, byte [rdi]
movzx ecx, byte [rbx]
test al, al
je 0x1800027d6
add rdi, 1
add rbx, 1
cmp al, cl
je 0x1800027c0
cmp al, cl
je 0x1800027e4
add rdx, 4
add rsi, 2
jmp 0x1800027b7
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r14], rax
cmp dword [0x180020a6c], 0xa
mov rcx, qword [rbp - 0x10]
jl 0x180002825
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000267c
sub rsp, 0x20
jmp 0x18000259b
add qword [rbp - 0x20], 8
add r14, 8
cmp ebx, 0xa
jl 0x180002571
test edx, edx
je 0x180002571
jmp 0x180002887
mov r14, qword [rbp - 0x28]
add r14, 0x14
cmp ebx, 0xa
mov rdi, qword [rbp - 0x18]
jl 0x180002394
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x180002394
jmp 0x180002370
jmp 0x180002873
jmp 0x180002875
jmp 0x180002877
jmp 0x180002879
jmp 0x18000287b
jmp 0x18000287d
jmp 0x18000287f
jmp 0x180002881
jmp 0x180002883
jmp 0x180002885
jmp 0x180002887
mov eax, dword [rdi + 0x28]
mov rcx, qword [rbp - 8]
add rcx, rax
sub rsp, 0x20
call rcx
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800028b9
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800028b9
jmp 0x1800028b7
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret