Function at 0x180001070
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 [0x180020a64], 0xa
jl 0x1800010a2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010a2
nop
jmp 0x1800010a0
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800010e2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800010e2
nop
jmp 0x1800010e0
lea r8, section..data
cmp ebx, 0xa
jl 0x1800010fd
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001460
mov r11d, 3
mov rdi, r10
mov rax, r8
mov cl, byte [r8]
nop dword [rax]
mov byte [rdi], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x180001142
test esi, esi
je 0x180001142
cmp ebx, 0xa
jl 0x180001170
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x18000118c
jmp 0x180001170
cmp ebx, 0xa
jl 0x18000114f
test esi, esi
jne 0x180001460
add rax, 1
add rdi, 1
sub r11, 1
jb 0x180001190
movzx ecx, byte [rax]
jmp 0x180001110
mov byte [rdi], cl
cmp dword [0x180020a70], 0xa
jl 0x180001110
mov edx, dword [0x180020a6c]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
je 0x180001110
mov byte [rdi], cl
jmp 0x180001170
cmp dword [0x180020a64], 0xa
jl 0x1800014c2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014c2
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x1800011d6
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x1800014a0
mov r9d, 3
mov rsi, r8
mov cl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001222
test edi, edi
je 0x180001222
cmp ebx, 0xa
jl 0x180001250
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x18000126c
jmp 0x180001250
cmp ebx, 0xa
jl 0x18000122f
test edi, edi
jne 0x180001470
add rsi, 1
add rax, 1
sub r9, 1
jb 0x180001270
movzx ecx, byte [rsi]
jmp 0x1800011f0
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x1800011f0
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800011f0
mov byte [rax], cl
jmp 0x180001250
cmp dword [0x180020a64], 0xa
jl 0x18000128e
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001362
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x1800012b2
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x1800014b0
mov r9d, 3
mov rsi, r8
mov cl, byte [r8]
nop
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800012f2
test edi, edi
je 0x1800012f2
cmp ebx, 0xa
jl 0x180001320
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x18000133c
jmp 0x180001320
cmp ebx, 0xa
jl 0x1800012ff
test edi, edi
jne 0x180001480
add rsi, 1
add rax, 1
sub r9, 1
jb 0x180001340
movzx ecx, byte [rsi]
jmp 0x1800012c0
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x1800012c0
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800012c0
mov byte [rax], cl
jmp 0x180001320
cmp dword [0x180020a64], 0xa
jl 0x180001420
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001420
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x180001386
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x1800014c0
mov r9d, 3
mov rsi, r8
mov cl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800013d2
test edi, edi
je 0x1800013d2
cmp ebx, 0xa
jl 0x180001400
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x18000141c
jmp 0x180001400
cmp ebx, 0xa
jl 0x1800013df
test edi, edi
jne 0x180001490
add rsi, 1
add rax, 1
sub r9, 1
jb 0x18000128e
movzx ecx, byte [rsi]
jmp 0x1800013a0
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x1800013a0
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800013a0
mov byte [rax], cl
jmp 0x180001400
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp ebx, 0xa
jl 0x1800010e9
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800010e9
jmp 0x1800010e0
jmp 0x180001460
jmp 0x180001470
jmp 0x180001480
jmp 0x180001490
jmp 0x1800014a0
jmp 0x1800014b0
jmp 0x1800014c0
mov r15d, dword [r10]
test r15, r15
je 0x1800015df
xor edi, edi
cmp r15d, 0x10
jb 0x1800015b1
lea rax, [r15 - 1]
cmp rax, 0x400
jae 0x1800015b1
mov edi, r15d
and edi, 0xfffffff0
lea rcx, [rdi - 0x10]
mov rax, rcx
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rcx, rcx
je 0x180001578
mov rcx, r8
sub rcx, rax
xor esi, esi
lea r10, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov eax, esi
and eax, 0x3e0
movups xmm1, xmmword [rax + r10 + 4]
movups xmm2, xmmword [rsi + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + r10 + 0x404], xmm2
lea eax, [rsi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r10 + 0x414], xmm1
add rsi, 0x20
add rcx, 2
jne 0x180001521
jmp 0x18000157a
xor esi, esi
test r8, r8
je 0x1800015ac
mov eax, esi
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rsi + rcx + 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 + rcx + 0x404], xmm1
cmp rdi, r15
je 0x1800015df
lea rax, section..data
mov ecx, edi
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [rdi + rax + 0x404]
xor cl, 0xc
mov byte [rdi + rax + 0x404], cl
add rdi, 1
cmp rdi, r15
jb 0x1800015b8
lea rax, section..data
lea r10, [r15 + rax]
add r10, 0x404
cmp ebx, 0xa
jl 0x180001605
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001780
cmp ebx, 0xa
jl 0x180001619
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001790
mov r8d, 3
mov rdx, r9
mov rax, r10
mov cl, byte [r10]
nop dword [rax + rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x180001662
test esi, esi
je 0x180001662
cmp edi, 0xa
jl 0x180001690
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x1800016ac
jmp 0x180001690
cmp edi, 0xa
jl 0x18000166f
test esi, esi
jne 0x180001790
add rax, 1
add rdx, 1
sub r8, 1
jb 0x1800016b0
movzx ecx, byte [rax]
jmp 0x180001630
mov byte [rdx], cl
cmp dword [0x180020a70], 0xa
jl 0x180001630
mov ebx, dword [0x180020a6c]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x180001630
mov byte [rdx], cl
jmp 0x180001690
cmp dword [0x180020a64], 0xa
jl 0x1800017a4
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800017a4
cmp edi, 0xa
jl 0x1800016e6
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800017a2
mov r8d, 3
mov rax, r9
mov rdi, r10
mov cl, byte [r10]
nop word cs:[rax + rax]
nop
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x180001732
test esi, esi
je 0x180001732
cmp ebx, 0xa
jl 0x180001760
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x18000177c
jmp 0x180001760
cmp ebx, 0xa
jl 0x18000173b
test esi, esi
jne 0x1800017a0
add rdi, 1
add rax, 1
sub r8, 1
jb 0x1800015f1
movzx ecx, byte [rdi]
jmp 0x180001700
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x180001700
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x180001700
mov byte [rax], cl
jmp 0x180001760
jmp 0x180001780
jmp 0x180001790
jmp 0x1800017a0
jmp 0x1800017a2
add r10, 4
mov qword [rbp - 0x10], r10
mov r9d, dword [r9]
test r9, r9
je 0x180001842
xor eax, eax
cmp r9d, 0x20
jb 0x180001817
lea rdx, [r9 - 1]
cmp rdx, 0x400
lea rbx, section..data
jae 0x18000181e
lea rcx, [r15 + rbx]
add rcx, 0x408
lea rdx, [r9 + rbx]
add rdx, 4
cmp rcx, rdx
jae 0x180001e59
lea rcx, [r9 + r15]
lea rax, section..data
add rcx, rax
add rcx, 0x408
lea rdx, str.BEKmaswwLEUchcAHqEDaTveMxybOXvXXDwMRPBVRPFxLynfEcOZBtrmqhewEQPZOzbsiiRRlUgqQqYhCgdoCSyEzhhSBbsXymPkpjKzAhQyVqtydFeUyhcOIZIJvPQOvuWsdVeQdZgPdEMGLOCDEDHXpYznUlrbYVSRhxPqSdhcDQlOnhabyYTbUFCRxyfvhXezBuHjyrmUfhuGwCeQdKoACnawVMJRyxxffTXPcZusGmshDDKUeIScXznfvmFLgixRYbTcRYTvxtFWgcxehMbvTGUkwGVnpAMIiYgECBdskkhgDeGjGsKcGrIcOjZkopOFxuPHHHhxUZsgbdLoouMaHweMdfPYwyExdAzidhvomxHvhgXuiQyAvgRuMiHGOsbwVYMfqYXrVUseGjJxheEWaOQwghsTLYDhpaAkaxYBSdMXRtDOYISKedEKoqlBzgXDUSOlsiXHQoEthKuAicucsyzwIZvFKTdFGMtFfuzrWScYcqIPFmtHhIaKEyGJGdbeQxkAFOzjGDoTdkgCbmRypisDFGZEgPiDcmAFPGaGiRSwsfIiVEpdRhWWhPciFwzlOueRGEOcgYTFfzwVGTMFnHscYRrxdGnwoMfhMdOhvRoCgInUufEXJXXgiFSjDnsdifmKoIidQreyOihkktncrDjKFcbhPAWSRqFrXSPpsUjPYmrluqCBxRrPeBlQXQqVCkmyDPooyvWBLaOPHaOIWnqKgBpOrqDMvIjjDvTPURhUlMEEyDHShmmlGxCPtcUPsFuItYccHEEibehnjIuFHRwXROlnBJMpDUPRCuzfHIzPZUwOVxhgaVXWOYAJqMpyIXnhMZEWECcuTMOzifzluEzcrACnTzSVBlgmFLwUBmSKFedKOqAsdQBGlWznVwaCUghVzWpMrMagkcZErOKhqjKUXmsHIszonHEdKdkhkecGkBtjTkBQDjSuVYIBCqopDOhPJBrfiRYVPOqVGTWLowBFoJuGyHboBzvoZReBCajnhkCgnaKwbxZxfXWQ
cmp rcx, rdx
jbe 0x180001e59
xor eax, eax
lea rbx, section..data
lea rdx, [r15 + rbx]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + rbx + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x180001829
cmp dword [0x180020a74], 0xa
jl 0x18000185e
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000185e
jmp 0x18000185c
add r15, 0x408
movsxd rax, dword [0x180004440]
mov r12, qword [rbp - 0x10]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001870
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rbp - 8], rax
mov qword [rbp], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001894
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800018a3
mov qword [rbp - 0x28], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800018b2
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800018c0
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800018cc
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001908
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e3f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001937
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e41
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rdx, r12
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001968
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001952
cmp cl, al
je 0x180001976
add rdi, 4
add r10, 2
jmp 0x18000194a
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 0x1800019b0
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e43
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800019df
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e45
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
mov rax, r13
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001a10
add rsi, 1
add rax, 1
cmp bl, cl
je 0x1800019fa
cmp bl, cl
je 0x180001a1e
add rdx, 4
add rdi, 2
jmp 0x1800019f2
movzx eax, word [rdi]
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]
call fcn.1800027d0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a81
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e47
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001ab0
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e49
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ae9
add rsi, 1
cmp al, bl
je 0x180001ad1
cmp al, bl
je 0x180001af7
add rdx, 4
add r9, 2
jmp 0x180001aca
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r13, rax
mov edi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x180001f48
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001f48
movsxd rax, dword [0x180004440]
mov qword [rbp - 8], rax
cmp dword [0x180020a74], 0xa
mov r12, qword [rbp - 0x10]
jl 0x180001b7a
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, qword [rbp - 0x10]
and ecx, 1
jne 0x180001e4b
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001b7a
mov qword [rbp], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001b8a
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001b99
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001ba4
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001bb2
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001bbe
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001bfa
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e4d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c29
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e4f
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edx, dword [rsi]
add rdx, r9
mov rcx, r12
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001c5a
add rdx, 1
add rcx, 1
cmp al, bl
je 0x180001c44
cmp al, bl
je 0x180001c68
add rsi, 4
add r10, 2
jmp 0x180001c3c
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001ca2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e51
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001cd1
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001e53
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001d02
add rax, 1
add rbx, 1
cmp cl, dl
je 0x180001cec
cmp cl, dl
je 0x180001d10
add rdi, 4
add rsi, 2
jmp 0x180001ce4
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]
call fcn.1800027d0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001d73
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e55
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001da2
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e57
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ddb
add rsi, 1
cmp al, bl
je 0x180001dc3
cmp al, bl
je 0x180001de9
add rdx, 4
add r9, 2
jmp 0x180001dbc
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a74], 0xa
jl 0x180001865
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001865
jmp 0x18000185c
jmp 0x180001e3f
jmp 0x180001e41
jmp 0x180001e43
jmp 0x180001e45
jmp 0x180001e47
jmp 0x180001e49
jmp 0x180001e4b
jmp 0x180001e4d
jmp 0x180001e4f
jmp 0x180001e51
jmp 0x180001e53
jmp 0x180001e55
jmp 0x180001e57
mov eax, r9d
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 0x180001ef7
lea rcx, section..data
lea rdi, [r15 + rcx]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + rcx + 4]
movups xmm1, xmmword [rdx + rcx + 0x14]
movups xmm2, xmmword [rdi + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rsi - 0x10]
movups xmm3, xmmword [rdi + rsi]
movups xmmword [rdi + rsi - 0x30], xmm2
movups xmmword [rdi + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + rcx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + rcx + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x180001e94
jmp 0x180001ef9
xor esi, esi
test r8, r8
je 0x180001f33
mov edx, esi
and edx, 0x3e0
lea rcx, section..data
movups xmm0, xmmword [rdx + rcx + 4]
movups xmm1, xmmword [rdx + rcx + 0x14]
mov rcx, qword [rbp - 0x10]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, r9
lea rbx, section..data
je 0x180001842
jmp 0x18000181e
mov rax, qword [rbp - 8]
cmp word [rax + 6], 0
je 0x180002143
mov rax, qword [rbp - 8]
lea r9, [rax + 0x108]
xor r8d, r8d
mov edx, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x180001f85
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x18000206b
cmp ecx, 0xa
jl 0x180001f99
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180002167
lea rax, [r8 + r8*4]
mov r10d, dword [r9 + rax*8 + 0x10]
test r10, r10
je 0x180002047
mov edi, dword [r9 + rax*8 + 0xc]
mov eax, dword [r9 + rax*8 + 0x14]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov rcx, r13
add rdi, r13
jmp 0x180001fde
add r10, 0xffffffffffffffff
add rax, 1
add rdi, 1
test r10, r10
je 0x180002047
movzx ecx, byte [rax]
mov byte [rdi], cl
mov edx, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x180002013
test ebx, ebx
je 0x180002013
cmp ecx, 0xa
jl 0x180002021
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180002040
jmp 0x180002021
cmp ecx, 0xa
jl 0x180001fcd
test ebx, ebx
je 0x180001fcd
jmp 0x180002163
movzx ecx, byte [rax]
mov byte [rdi], cl
cmp dword [0x180020a70], 0xa
jl 0x180001fde
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001fde
movzx ecx, byte [rax]
mov byte [rdi], cl
jmp 0x180002021
mov edi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x18000212e
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x18000212e
cmp ecx, 0xa
jl 0x18000207f
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180002169
lea rax, [r8 + r8*4]
mov r10d, dword [r9 + rax*8 + 0x10]
test r10, r10
je 0x180001f85
mov edi, dword [r9 + rax*8 + 0xc]
mov eax, dword [r9 + rax*8 + 0x14]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov rcx, r13
add rdi, r13
jmp 0x1800020c8
add r10, 0xffffffffffffffff
add rax, 1
add rdi, 1
test r10, r10
je 0x180001f85
movzx ecx, byte [rax]
mov byte [rdi], cl
mov edx, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x1800020fd
test ebx, ebx
je 0x1800020fd
cmp ecx, 0xa
jl 0x180002108
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180002127
jmp 0x180002108
cmp ecx, 0xa
jl 0x1800020b3
test ebx, ebx
je 0x1800020b3
jmp 0x180002165
movzx ecx, byte [rax]
mov byte [rdi], cl
cmp dword [0x180020a70], 0xa
jl 0x1800020c8
mov ecx, dword [0x180020a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800020c8
movzx ecx, byte [rax]
mov byte [rdi], cl
jmp 0x180002108
add r8, 1
mov rax, qword [rbp - 8]
movzx eax, word [rax + 6]
cmp r8, rax
jb 0x180001f65
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x30]
mov rax, r13
sub rax, rcx
cmp ebx, 0xa
jl 0x18000216b
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x18000216b
jmp 0x180002161
jmp 0x180002163
jmp 0x180002165
jmp 0x180002167
jmp 0x180002169
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx + 0xb0]
mov rdx, r13
add rcx, r13
movabs r8, 0x1fffffff8
cmp dword [rcx], 0
je 0x18000237a
mov edx, dword [rcx + 4]
cmp rdx, 8
jb 0x180002346
cmp ebx, 0xa
jl 0x1800021af
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x180002374
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r11d, r11d
cmp r11, r9
je 0x180002346
movzx edx, word [rcx + r11*2 + 8]
mov esi, edx
shr esi, 0xc
mov r10d, edx
and r10d, 0xfff
cmp edx, 0xa000
jae 0x180002258
cmp esi, 3
jne 0x1800022a7
mov edx, dword [rcx]
mov rsi, r13
lea rdx, [rdx*4]
add rdx, r13
add dword [rdx + r10*4], eax
mov edi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x1800022a7
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
je 0x1800022a7
mov rdx, r13
lea rdx, [r10*4]
add rdx, r13
mov ebx, dword [rcx]
add dword [rdx + rbx*4], eax
mov ebx, dword [rcx]
add dword [rdx + rbx*4], eax
mov edi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x1800022a7
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x180002230
jmp 0x1800022a7
cmp esi, 0xa
jne 0x1800022a7
lea r14d, [rdi - 1]
imul r14d, edi
and r14d, 1
mov r10d, r10d
cmp ebx, 0xa
jl 0x18000229b
test r14d, r14d
je 0x18000229b
mov edx, dword [rcx]
mov rsi, r13
lea rsi, [r10 + r13]
add qword [rdx + rsi], rax
mov edx, dword [0x180020a68]
mov ebx, dword [0x180020a64]
lea r14d, [rdx - 1]
imul r14d, edx
and r14d, 1
cmp ebx, 0xa
jl 0x1800022d7
test r14d, r14d
jne 0x180002302
jmp 0x1800022d7
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x1800022bd
test edx, edx
jne 0x180002376
add r11, 1
cmp ebx, 0xa
jl 0x1800021bb
test edx, edx
je 0x1800021bb
jmp 0x180002374
mov edx, dword [rcx]
mov rsi, r10
mov rdi, r13
add rsi, r13
add qword [rdx + rsi], rax
mov edi, dword [0x180020a68]
mov ebx, dword [0x180020a64]
cmp ebx, 0xa
jl 0x1800022a7
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
je 0x1800022a7
mov rdx, r13
lea rdx, [r10 + r13]
mov esi, dword [rcx]
add qword [rsi + rdx], rax
mov esi, dword [rcx]
add qword [rsi + rdx], rax
cmp dword [0x180020a64], 0xa
jl 0x1800022d7
mov esi, dword [0x180020a68]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x1800022d7
mov esi, dword [rcx]
add qword [rdx + rsi], rax
mov esi, dword [rcx]
add qword [rdx + rsi], rax
cmp dword [0x180020a64], 0xa
jge 0x18000231e
jmp 0x1800022d7
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x180002358
test edx, edx
jne 0x180002378
mov esi, dword [rcx + 4]
add rcx, rsi
cmp ebx, 0xa
jl 0x180002185
test edx, edx
je 0x180002185
jmp 0x180002161
jmp 0x180002374
jmp 0x180002376
jmp 0x180002378
cmp ebx, 0xa
jl 0x18000238c
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x18000238c
jmp 0x18000238a
mov rcx, r13
lea rax, [r13 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, r13
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x1800027a3
add r14, r13
sub rsp, 0x20
jmp 0x1800023d6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002404
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002791
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002433
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002793
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002464
add rsi, 1
add rbx, 1
cmp al, dl
je 0x18000244e
cmp al, dl
je 0x180002472
add rdi, 4
add rcx, 2
jmp 0x180002446
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002557
test edx, edx
je 0x180002557
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800024e5
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002795
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002514
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002797
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r12
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002545
add rsi, 1
add rbx, 1
cmp al, dl
je 0x18000252f
cmp al, dl
je 0x1800023c2
add rdi, 4
add rcx, 2
jmp 0x180002527
cmp ecx, 0xa
jl 0x180002564
test edx, edx
jne 0x1800027a1
mov rdx, qword [rbp - 0x18]
mov ebx, dword [rdx]
mov edi, dword [rdx + 0x10]
mov rdx, r13
add rbx, r13
mov qword [rbp - 0x20], rbx
add rdi, r13
mov qword [rbp - 0x10], rdi
mov rdx, qword [rbp - 0x20]
mov rdx, qword [rdx]
test rdx, rdx
je 0x18000276f
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
jmp 0x1800025c4
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800025f6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002799
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002625
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000279b
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rdx, r9
add rdi, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x28]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002657
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002641
cmp bl, cl
je 0x180002665
add rdx, 4
add rdi, 2
jmp 0x180002638
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002752
test edx, edx
je 0x180002752
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800027d0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800026df
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000279d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000270e
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000279f
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rdx, r9
add rdi, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x28]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002740
add rsi, 1
add rax, 1
cmp bl, cl
je 0x18000272a
cmp bl, cl
je 0x1800025a2
add rdx, 4
add rdi, 2
jmp 0x180002721
add qword [rbp - 0x20], 8
add qword [rbp - 0x10], 8
cmp ecx, 0xa
jl 0x18000257e
test edx, edx
je 0x18000257e
jmp 0x1800027a1
add qword [rbp - 0x18], 0x14
cmp ecx, 0xa
jl 0x1800023a8
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023a8
jmp 0x18000238a
jmp 0x180002791
jmp 0x180002793
jmp 0x180002795
jmp 0x180002797
jmp 0x180002799
jmp 0x18000279b
jmp 0x18000279d
jmp 0x18000279f
jmp 0x1800027a1
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
mov rcx, r13
add rcx, rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rcx