Function at 0x180001000
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 0x180001032
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001032
nop word [rax + rax]
jmp 0x180001030
mov ebp, dword [section..data]
mov dword [rsp + 0x74], ebp
cmp dword [0x180020a6c], 0xa
jl 0x180001062
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001062
nop word cs:[rax + rax]
jmp 0x180001060
test ebp, ebp
je 0x1800011d6
xor eax, eax
cmp ebp, 0x10
jb 0x18000114d
lea rcx, [rbp - 1]
cmp rcx, 0x400
jae 0x18000114d
mov eax, ebp
and eax, 0xfffffff0
lea rdx, [rax - 0x10]
mov rcx, rdx
shr rcx, 4
add rcx, 1
mov ebx, ecx
and ebx, 1
test rdx, rdx
je 0x180001317
mov rdx, rbx
sub rdx, rcx
xor esi, esi
lea rdi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop
mov ecx, esi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rdi + 4]
movups xmm2, xmmword [rsi + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + rdi + 0x404], xmm2
lea ecx, [rsi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + rdi + 0x414], xmm1
add rsi, 0x20
add rdx, 2
jne 0x1800010c0
test rbx, rbx
je 0x180001144
mov ecx, esi
and ecx, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rsi + rdx + 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 [rsi + rdx + 0x404], xmm1
cmp rax, rbp
je 0x1800011d6
mov rcx, rax
not rcx
test bpl, 1
je 0x180001181
mov edx, eax
and edx, 0x3f0
lea rbx, section..data
mov dl, byte [rdx + rbx + 4]
xor dl, byte [rax + rbx + 0x404]
xor dl, 0xc
mov byte [rax + rbx + 0x404], dl
or rax, 1
add rcx, rbp
je 0x1800011d6
lea rcx, section..data
nop dword [rax]
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rcx + 4]
xor dl, byte [rax + rcx + 0x404]
xor dl, 0xc
mov byte [rax + rcx + 0x404], dl
lea edx, [rax + 1]
and edx, 0x3ff
movzx edx, byte [rdx + rcx + 4]
xor dl, byte [rax + rcx + 0x405]
xor dl, 0xc
mov byte [rax + rcx + 0x405], dl
add rax, 2
cmp rbp, rax
jne 0x180001190
lea r15, section..data
mov al, byte [rbp + r15 + 0x404]
mov byte [rsp + 0x4c], al
movzx eax, word [rbp + r15 + 0x405]
mov word [rsp + 0x4d], ax
mov al, byte [rbp + r15 + 0x407]
mov byte [rsp + 0x4f], al
lea r9, [r15 + rbp]
add r9, 0x408
mov esi, dword [rsp + 0x4c]
test rsi, rsi
je 0x1800013cd
xor eax, eax
cmp esi, 0x20
jb 0x180001363
lea rdx, [rsi - 1]
cmp rdx, 0x400
jae 0x180001363
lea rax, [r15 + rbp]
add rax, 0x408
lea rcx, [rsi + r15]
add rcx, 4
cmp rax, rcx
jae 0x18000126e
lea rax, [rsi + rbp]
add rax, r15
add rax, 0x408
lea rcx, str.dqdoBqgAdJlMpTlkFGIeqBvlPvUUHJMPLpSpqAOAUBJYpjlFXTwjMfnjhRFziGgVsLIveWhAddQlAAZFxKwJoYkohvehVmOwRHDlKCdLjiDDThgXfyopXYTTHfIlObPdGkqxAeroyOMOiMqMXcVunPrrOTCuApUxVbXgiirmpVvRgRJJkvZcfwkzIniYRKJJxvQWLIWHIjUUsIxsliYCLmeGhvkxLnVtJnwmIVYzlnlrTxopBudUPtfWkeiehmmBJVkGQVTMOWPMBgtzLrLoQqweWcKQXoVFGwlwwebPlZJvfZzvEPnEnumJEIVMqSgCUtrGhkszHURQPJsXeGFwXMjtdwyOVMHmwwlWxOQGOFQGfHKwKPegeTyhuSysIDMyvqOKpLsyXlDoAJRKKqKhpCSymBHpBQKdfrhFxMXLHtQrsVbBUpQkCWAPvjFAMJQMTXqvHwEeaPwgSLfFMXwLPxkAUcIjbsTLqBXiwfMFpPHFhwrFUZWRLWkZKYUHVmLgELBcpyywxLXAkGfHfPtRDXOZjvHxSDKCCEpaffqBbfdOxLmqOojmsYKoFqEUKyIchuMhEROvkXzXkzggWWXQDOQdCRCTKrAGbUHqXqXyPsAUDaEdoqDWbwVaibLFyWfnuwcbIGuGRbIFKHeCHFnMYvsjlLBxcpRrJzkBkdMKTolpbkbAYBugAYZjiJFZpTHkweKLsREzKuQwUJQmUUJcjHiBEqYXCTYKpPuprUCLmtJfccUCgegPtVPIkEOTzROFfprcOEpFyJaHGXlKdDVpTxncSCBujIZhosvcFfwogWFFHypTMuAKTtzaBRzWgegYxqmcntKSAnHKdADLqJmSxCvVWGHCHgILTdkYZMMsDwZuGMFTggEQeLzbolpDbHhZUfyzxSpRVOpQdkUsDASRFyhdByyXuTeoBAXYKHdmPhaQXPxIPjdToGvMLSZUPqAfXvsxjWOYdeQVoGTryEEenwmKdqVQFqBvyCflLrkUpfIUVqkLbLZSBuiBvAEqkDi
cmp rax, rcx
jbe 0x18000126e
xor eax, eax
jmp 0x180001363
mov eax, esi
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x180001327
lea rdi, [r15 + rbp]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor ecx, ecx
nop word cs:[rax + rax]
nop
mov edx, ecx
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [rdi + rcx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rcx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rcx - 0x10]
movups xmm3, xmmword [rdi + rcx]
movups xmmword [rdi + rcx - 0x30], xmm2
movups xmmword [rdi + rcx - 0x20], xmm0
lea edx, [rcx + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rcx - 0x10], xmm0
movups xmmword [rdi + rcx], xmm1
add rcx, 0x40
add rbx, 2
jne 0x1800012b0
jmp 0x180001329
xor esi, esi
test rbx, rbx
jne 0x180001116
jmp 0x180001144
xor ecx, ecx
test r8, r8
je 0x18000135e
mov edx, ecx
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
movups xmm2, xmmword [r9 + rcx]
xorps xmm2, xmm0
movups xmm0, xmmword [r9 + rcx + 0x10]
xorps xmm0, xmm1
movups xmmword [r9 + rcx], xmm2
movups xmmword [r9 + rcx + 0x10], xmm0
cmp rax, rsi
je 0x1800013cd
mov rdx, rax
not rdx
test sil, 1
je 0x180001384
mov ecx, eax
and ecx, 0x3e0
mov cl, byte [rcx + r15 + 4]
xor byte [r9 + rax], cl
or rax, 1
add rdx, rsi
je 0x1800013cd
lea rdx, [r15 + rbp]
add rdx, 0x409
nop word cs:[rax + rax]
nop
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor byte [rdx + rax - 1], cl
lea ecx, [rax + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor byte [rdx + rax], cl
add rax, 2
cmp rsi, rax
jne 0x1800013a0
cmp dword [0x180020a74], 0xa
jl 0x1800013f2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800013f2
nop word [rax + rax]
jmp 0x1800013f0
add rbp, 0x408
mov qword [rsp + 0x40], r9
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x38], rax
mov rsi, r9
nop dword [rax]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001410
mov r13, rsi
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001420
mov rdi, r13
nop
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001430
mov r14, rdi
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001440
mov rbx, r14
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001450
mov r12, rbx
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001460
mov rcx, rsi
call fcn.180002460
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001495
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 0x1800014c4
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a80
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x38]
add rax, r15
add rax, 0x404
mov qword [rsp + 0x38], rax
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
nop word cs:[rax + rax]
nop
mov esi, dword [rdi]
add rsi, r9
mov rdx, r13
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001526
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001510
cmp cl, al
je 0x180001540
add rdi, 4
add r10, 2
jmp 0x180001500
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 0x180001572
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a90
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800015a1
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001aa0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
nop word cs:[rax + rax]
nop
mov esi, dword [rdx]
add rsi, r10
mov rax, r14
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x1800015e6
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800015d0
cmp bl, cl
je 0x180001600
add rdx, 4
add rdi, 2
jmp 0x1800015c0
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001658
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ab0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001687
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ac0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov r12, qword [rsp + 0x38]
nop
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [rsi + rbp]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800016c9
add rsi, 1
cmp al, bl
je 0x1800016b0
cmp al, bl
je 0x1800016e0
add rdx, 4
add rcx, 2
jmp 0x1800016a0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov edx, dword [r12 + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r14, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001b32
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001b32
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x40]
mov r14, rdx
jl 0x180001760
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, rdx
and ecx, 1
jne 0x180001ad0
nop word [rax + rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001760
mov rbx, r14
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001770
mov r13, rbx
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001780
nop dword [rax + rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001790
mov rdi, r13
nop
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017a0
mov r12, rdi
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017b0
mov rcx, r14
call fcn.180002460
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800017e5
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ae0
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001814
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001af0
mov qword [rsp + 0x38], rsi
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
nop dword [rax]
mov edx, dword [r11]
add rdx, r9
mov rsi, rbx
nop dword [rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001856
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001840
cmp cl, al
je 0x180001870
add r11, 4
add r10, 2
jmp 0x180001830
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 0x1800018a2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b00
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800018d1
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001b10
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
nop word cs:[rax + rax]
nop
mov esi, dword [rdx]
add rsi, r10
mov rbx, r13
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001916
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001900
cmp al, cl
je 0x180001930
add rdx, 4
add rdi, 2
jmp 0x1800018f0
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
mov rcx, r14
call fcn.180002460
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001986
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b20
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800019b5
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001b30
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
nop dword [rax + rax]
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [rsi + rbp]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800019f9
add rsi, 1
cmp al, bl
je 0x1800019e0
cmp al, bl
je 0x180001a10
add rdx, 4
add rcx, 2
jmp 0x1800019d0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a74], 0xa
mov r9, qword [rsp + 0x40]
jl 0x1800013fe
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800013fe
jmp 0x1800013f0
jmp 0x180001a70
jmp 0x180001a80
jmp 0x180001a90
jmp 0x180001aa0
jmp 0x180001ab0
jmp 0x180001ac0
jmp 0x180001ad0
jmp 0x180001ae0
jmp 0x180001af0
jmp 0x180001b00
jmp 0x180001b10
jmp 0x180001b20
jmp 0x180001b30
cmp word [r12 + 6], 0
je 0x180001cd4
lea r8, [r12 + 0x108]
xor r9d, r9d
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov edx, dword [0x180020a68]
mov ebp, dword [0x180020a64]
cmp ebp, 0xa
jl 0x180001b76
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001d20
cmp ebp, 0xa
jl 0x180001b8a
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001d00
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001bf8
mov ecx, dword [r10]
add rcx, r14
mov edx, dword [r10 + 8]
lea rbx, [rdx + r15]
add rbx, 0x404
jmp 0x180001bc0
add rax, 0xffffffffffffffff
add rcx, 1
add rbx, 1
test rax, rax
je 0x180001bf8
nop dword [rax + rax]
movzx edx, byte [rbx]
mov byte [rcx], dl
mov edx, dword [0x180020a68]
mov ebp, dword [0x180020a64]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebp, 0xa
jl 0x180001bea
test edi, edi
je 0x180001bea
movzx edx, byte [rbx]
mov byte [rcx], dl
jmp 0x180001bc0
test edi, edi
je 0x180001baa
cmp ebp, 0xa
jl 0x180001baa
jmp 0x180001d00
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001cc1
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001cc1
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebp, 0xa
jl 0x180001c32
test ecx, ecx
jne 0x180001d30
mov eax, dword [r10 + 4]
test rax, rax
je 0x180001cae
mov ecx, dword [r10 + 8]
add rcx, r15
add rcx, 0x404
mov ebx, dword [r10]
add rbx, r14
jmp 0x180001c70
add rax, 0xffffffffffffffff
add rbx, 1
add rcx, 1
test rax, rax
je 0x180001ca5
nop word cs:[rax + rax]
nop dword [rax]
movzx edx, byte [rcx]
mov byte [rbx], dl
mov edx, dword [0x180020a68]
mov ebp, dword [0x180020a64]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebp, 0xa
jl 0x180001c9a
test edi, edi
je 0x180001c9a
movzx edx, byte [rcx]
mov byte [rbx], dl
jmp 0x180001c70
test edi, edi
je 0x180001c51
cmp ebp, 0xa
jl 0x180001c51
jmp 0x180001d10
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebp, 0xa
jl 0x180001b76
test ecx, ecx
je 0x180001b76
jmp 0x180001d20
add r9, 1
movzx edx, word [r12 + 6]
cmp r9, rdx
jb 0x180001b4a
mov rdx, r14
sub rdx, qword [r12 + 0x30]
cmp ecx, 0xa
jl 0x180001d32
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001d32
nop dword [rax]
jmp 0x180001cf0
jmp 0x180001d00
jmp 0x180001d10
jmp 0x180001d20
jmp 0x180001d30
mov ebp, dword [r12 + 0xb0]
add rbp, r14
movabs r8, 0x1fffffff8
cmp dword [rbp], 0
je 0x180001e82
mov ebx, dword [rbp + 4]
cmp rbx, 8
jb 0x180001e41
cmp ecx, 0xa
jl 0x180001d72
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001e80
add rbx, r8
shr rbx, 1
mov r9d, ebx
test r9, r9
je 0x180001e3e
xor r10d, r10d
jmp 0x180001d96
add r10, 1
cmp r10, r9
je 0x180001e3e
movzx edi, word [rbp + r10*2 + 8]
mov esi, edi
shr esi, 0xc
mov ebx, edi
and ebx, 0xfff
cmp edi, 0xa000
jae 0x180001de7
cmp esi, 3
jne 0x180001e24
mov eax, dword [rbp]
lea rdi, [r14 + rbx*4]
add dword [rdi + rax*4], edx
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001e24
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001e24
mov eax, dword [rbp]
add dword [rdi + rax*4], edx
mov eax, dword [rbp]
jmp 0x180001dbd
cmp esi, 0xa
jne 0x180001e24
mov edi, ebx
add rdi, r14
mov eax, dword [rbp]
add qword [rax + rdi], rdx
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001e24
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001e24
mov eax, dword [rbp]
add qword [rdi + rax], rdx
mov eax, dword [rbp]
add qword [rdi + rax], rdx
jmp 0x180001df8
cmp ecx, 0xa
jl 0x180001d89
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001d89
jmp 0x180001e70
mov ebx, dword [rbp + 4]
mov ebx, ebx
add rbp, rbx
cmp ecx, 0xa
jl 0x180001d47
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001d47
jmp 0x180001cf0
jmp 0x180001e70
jmp 0x180001e80
cmp ecx, 0xa
jl 0x180001ea2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ea2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001ea0
lea rax, [r14 + 2]
mov qword [rsp + 0x68], rax
mov edx, dword [r12 + 0x90]
add rdx, r14
mov qword [rsp + 0x60], rdx
mov r15d, dword [rdx + 0xc]
test r15, r15
je 0x18000237d
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001ef3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002369
add r15, r14
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001f24
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x18000236b
add r8, rdx
mov ebp, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rbp, rdx
add rcx, rdx
mov esi, dword [rbp]
add rsi, rdx
mov rdi, r13
nop
movzx ebx, byte [rdi]
movzx eax, byte [rsi]
test bl, bl
je 0x180001f56
add rdi, 1
add rsi, 1
cmp bl, al
je 0x180001f40
cmp bl, al
je 0x180001f64
add rbp, 4
add rcx, 2
jmp 0x180001f35
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r15
call rdx
mov r12, rax
mov eax, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
cmp ebp, 0xa
mov rcx, qword [rsp + 0x30]
jl 0x180002077
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002077
call fcn.180002460
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001fc5
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000236d
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rdx + rax + 0x88]
mov r8d, dword [rdx + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ff3
mov eax, dword [0x180020a88]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
jne 0x18000236f
add r8, rdx
mov ebp, dword [rdx + rcx + 0x20]
mov ecx, dword [rdx + rcx + 0x24]
add rbp, rdx
add rcx, rdx
mov esi, dword [rbp]
add rsi, rdx
mov rdi, r13
nop dword [rax]
movzx ebx, byte [rdi]
movzx eax, byte [rsi]
test bl, bl
je 0x180002026
add rdi, 1
add rsi, 1
cmp bl, al
je 0x180002010
cmp bl, al
je 0x180002034
add rbp, 4
add rcx, 2
jmp 0x180002004
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rdx, rax
mov rcx, r15
call rdx
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov rdx, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001ef6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ef6
jmp 0x180002369
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
mov qword [rsp + 0x58], rcx
mov rdx, qword [r14 + rcx]
test rdx, rdx
je 0x18000233e
add qword [rsp + 0x58], r14
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x10]
add rax, r14
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x68]
add rax, rdx
test rdx, rdx
movzx r15d, dx
cmovns r15, rax
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800020e3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000237b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002112
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002379
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov rdi, qword [rsp + 0x50]
mov esi, dword [rdx]
add rsi, r9
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x180002145
add rdi, 1
add rsi, 1
cmp al, bl
je 0x18000212f
cmp al, bl
je 0x180002153
add rdx, 4
add rcx, 2
jmp 0x180002125
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r12
mov rdx, r15
call r9
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
cmp ebp, 0xa
jl 0x18000231d
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000231d
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov rbp, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800021bd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002371
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800021eb
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002373
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov ecx, dword [rbp + rcx + 0x24]
add rdx, rbp
add rcx, rbp
mov rdi, qword [rsp + 0x50]
mov esi, dword [rdx]
add rsi, rbp
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x18000221c
add rdi, 1
add rsi, 1
cmp al, bl
je 0x180002206
cmp al, bl
je 0x18000222a
add rdx, 4
add rcx, 2
jmp 0x1800021fc
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov rcx, r12
mov rdx, r15
call rbp
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x30]
call fcn.180002460
mov rbp, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000226f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002375
movsxd rax, dword [rbp + 0x3c]
mov ecx, dword [rbp + rax + 0x88]
mov r8d, dword [rbp + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000229d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002377
add r8, rbp
mov edx, dword [rbp + rcx + 0x20]
mov ecx, dword [rbp + rcx + 0x24]
add rdx, rbp
add rcx, rbp
mov rdi, qword [rsp + 0x50]
mov esi, dword [rdx]
add rsi, rbp
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x1800022ce
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800022b8
cmp al, bl
je 0x1800022dc
add rdx, 4
add rcx, 2
jmp 0x1800022ae
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rbp, rax
mov rcx, r12
mov rdx, r15
call rbp
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
cmp dword [0x180020a6c], 0xa
jl 0x1800020b8
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002192
jmp 0x1800020b8
add qword [rsp + 0x40], 8
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 8]
add rcx, 8
mov qword [rsp + 0x58], rcx
test rdx, rdx
jne 0x1800020a5
mov rdx, qword [rsp + 0x60]
add rdx, 0x14
cmp ebp, 0xa
mov r12, qword [rsp + 0x38]
jl 0x180001eb6
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001eb6
jmp 0x180001ea0
jmp 0x180002369
jmp 0x18000236b
jmp 0x18000236d
jmp 0x18000236f
jmp 0x180002371
jmp 0x180002373
jmp 0x180002375
jmp 0x180002377
jmp 0x180002379
jmp 0x18000237b
mov eax, dword [r12 + 0x28]
add rax, r14
call rax
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002441
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002441
mov rsi, qword [rsp + 0x38]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x1800023e4
test edx, edx
je 0x1800023e4
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r14
call rax
mov ecx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
test edx, edx
je 0x180002415
cmp eax, 9
jg 0x180002437
jmp 0x180002415
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002441
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800023b0
jmp 0x180002441
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
cmp dword [0x180020a6c], 0xa
jl 0x1800023ef
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023ef
mov eax, dword [rsi + 0x28]
add rax, r14
call rax
jmp 0x180002415
xor eax, eax
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret