Function at 0x180001090
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
mov ecx, dword [0x180020a70]
mov esi, dword [0x180020a74]
jl 0x1800010cf
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800012a7
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp esi, 0xa
jl 0x180001103
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001430
mov al, byte [section..data]
mov byte [r10], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001157
test ecx, ecx
je 0x180001157
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x180001150
mov byte [r10], al
cmp edx, 0xa
jl 0x180001164
test ecx, ecx
jne 0x180001420
mov al, byte [0x180004001]
mov byte [r10 + 1], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800011b8
test ecx, ecx
je 0x1800011b8
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x1800011b0
mov byte [r10 + 1], al
cmp edx, 0xa
jl 0x1800011c5
test ecx, ecx
jne 0x180001420
mov al, byte [0x180004002]
mov byte [r10 + 2], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001218
test ecx, ecx
je 0x180001218
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x180001210
mov byte [r10 + 2], al
cmp edx, 0xa
jl 0x180001225
test ecx, ecx
jne 0x180001420
mov al, byte [0x180004003]
mov byte [r10 + 3], al
mov ecx, dword [0x180020a70]
mov esi, dword [0x180020a74]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp esi, 0xa
jl 0x180001278
test edi, edi
je 0x180001278
mov ecx, dword [0x180020a70]
mov esi, dword [0x180020a74]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
sete dl
cmp esi, 0xa
setl bl
or bl, dl
nop dword [rax]
test bl, bl
je 0x180001270
mov byte [r10 + 3], al
cmp esi, 0xa
jl 0x180001285
test edi, edi
jne 0x180001420
cmp dword [0x180020a6c], 0xa
jl 0x180001442
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001442
cmp esi, 0xa
jl 0x1800012bb
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001440
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001304
test eax, eax
je 0x180001304
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop dword [rax]
test dl, dl
je 0x180001300
cmp ecx, 0xa
jl 0x180001311
test eax, eax
jne 0x180001410
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001354
test eax, eax
je 0x180001354
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001350
cmp ecx, 0xa
jl 0x180001361
test eax, eax
jne 0x180001410
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800013a4
test eax, eax
je 0x1800013a4
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x1800013a0
cmp ecx, 0xa
jl 0x1800013ad
test eax, eax
jne 0x180001410
mov ecx, dword [0x180020a70]
mov esi, dword [0x180020a74]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp esi, 0xa
jl 0x1800013f4
test eax, eax
je 0x1800013f4
mov ecx, dword [0x180020a70]
mov esi, dword [0x180020a74]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete dl
cmp esi, 0xa
setl bl
or bl, dl
nop dword [rax + rax]
test bl, bl
je 0x1800013f0
cmp esi, 0xa
jl 0x1800010cf
test eax, eax
je 0x1800010cf
nop word cs:[rax + rax]
nop
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
jmp 0x180001440
mov r12d, dword [r10]
test r12, r12
je 0x1800015dc
xor r11d, r11d
cmp r12d, 0x10
jb 0x180001547
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x180001547
mov r11d, r12d
and r11d, 0xfffffff0
lea rdi, [r11 - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x180001509
mov rdx, r8
sub rdx, rax
xor eax, eax
lea r10, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop word cs:[rax + rax]
nop
mov edi, eax
and edi, 0x3e0
movups xmm1, xmmword [rdi + r10 + 4]
movups xmm2, xmmword [rax + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r10 + 0x404], xmm2
lea edi, [rax + 0x10]
and edi, 0x3f0
movups xmm2, xmmword [rdi + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r10 + 0x414], xmm1
add rax, 0x20
add rdx, 2
jne 0x1800014b0
jmp 0x18000150b
xor eax, eax
test r8, r8
je 0x18000153e
mov edi, eax
and edi, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rdi + rdx + 4]
movups xmm1, xmmword [rax + 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 [rax + rdx + 0x404], xmm1
cmp r11, r12
je 0x1800015dc
mov rdx, r11
not rdx
test r12b, 1
je 0x18000157e
mov edi, r11d
and edi, 0x3f0
lea r8, section..data
mov al, byte [rdi + r8 + 4]
xor al, byte [r11 + r8 + 0x404]
xor al, 0xc
mov byte [r11 + r8 + 0x404], al
or r11, 1
add rdx, r12
je 0x1800015dc
lea rax, section..data
nop word [rax + rax]
mov ebx, r11d
and ebx, 0x3ff
movzx ebx, byte [rbx + rax + 4]
xor bl, byte [r11 + rax + 0x404]
xor bl, 0xc
mov byte [r11 + rax + 0x404], bl
lea ebx, [r11 + 1]
and ebx, 0x3ff
movzx ebx, byte [rbx + rax + 4]
xor bl, byte [r11 + rax + 0x405]
xor bl, 0xc
mov byte [r11 + rax + 0x405], bl
add r11, 2
cmp r12, r11
jne 0x180001590
cmp esi, 0xa
jl 0x1800015f2
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x1800015f2
nop dword [rax]
jmp 0x1800015f0
lea r14, section..data
lea rsi, [r12 + r14]
add rsi, 0x404
mov al, byte [rsi]
mov byte [r9], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001657
test ecx, ecx
je 0x180001657
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x180001650
mov byte [r9], al
cmp edx, 0xa
jl 0x180001664
test ecx, ecx
jne 0x180001780
mov al, byte [rsi + 1]
mov byte [r9 + 1], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800016b8
test ecx, ecx
je 0x1800016b8
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop dword [rax + rax]
test bl, bl
je 0x1800016b0
mov byte [r9 + 1], al
cmp edx, 0xa
jl 0x1800016c5
test ecx, ecx
jne 0x180001780
mov al, byte [rsi + 2]
mov byte [r9 + 2], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001714
test ecx, ecx
je 0x180001714
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000170c
mov byte [r9 + 2], al
cmp edx, 0xa
jl 0x18000171d
test ecx, ecx
jne 0x180001780
mov al, byte [rsi + 3]
mov byte [r9 + 3], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x18000176c
test ecx, ecx
je 0x18000176c
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001764
mov byte [r9 + 3], al
cmp edx, 0xa
jl 0x180001782
test ecx, ecx
je 0x180001782
nop word cs:[rax + rax]
nop
jmp 0x180001780
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a6c], 0xa
setl al
or al, cl
cmp al, 1
jne 0x1800017e0
add rsi, 4
mov ecx, dword [r9]
lea rdx, [r12 + r14]
add rdx, 0x408
xor edi, edi
cmp rcx, rdi
je 0x1800017e2
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + r14 + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test al, al
jne 0x1800017b8
nop word cs:[rax + rax]
jmp 0x1800017e0
cmp dword [0x180020a7c], 0xa
jl 0x180001802
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001802
nop dword [rax]
jmp 0x180001800
add r12, 0x408
mov qword [rbp - 0x10], rsi
movsxd rax, dword [0x180004440]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001814
add rax, r14
add rax, 0x404
mov qword [rbp], rax
mov r13, rsi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000182d
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000183b
mov r15, rdi
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001847
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001854
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001860
sub rsp, 0x20
mov rcx, rsi
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000189b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000211b
mov qword [rbp - 0x28], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018ce
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000211d
mov qword [rbp - 8], rsi
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, r13
nop dword [rax]
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001906
add rdx, 1
add rsi, 1
cmp cl, al
je 0x1800018f0
cmp cl, al
je 0x180001914
add rdi, 4
add r10, 2
jmp 0x1800018e5
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 [0x180020a84], 0xa
jl 0x18000194e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000211f
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000197d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002121
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, r15
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x1800019b6
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800019a0
cmp bl, cl
je 0x1800019c4
add rdx, 4
add rdi, 2
jmp 0x180001990
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 - 8]
call fcn.1800029c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a27
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002123
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rcx, section..data
jl 0x180001a5d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002125
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001a98
add rsi, 1
cmp al, bl
je 0x180001a80
cmp al, bl
je 0x180001aa6
add rdx, 4
add r9, 2
jmp 0x180001a70
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
mov rsi, qword [rbp - 0x10]
jl 0x180002127
test ecx, ecx
je 0x180002127
movsxd rdx, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r13, rsi
jl 0x180001b29
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r13, rsi
and ecx, 1
jne 0x1800020ff
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001b29
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001b37
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001b43
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001b4d
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001b5a
mov qword [rbp], rdx
mov r15, rdi
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001b6a
sub rsp, 0x20
mov rcx, r13
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ba5
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002101
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001bd4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002103
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 rsi, rbx
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001c06
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001bf0
cmp cl, al
je 0x180001c14
add r11, 4
add r10, 2
jmp 0x180001be7
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 [0x180020a84], 0xa
jl 0x180001c4e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002105
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c7d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002107
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 rbx, r14
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001cb6
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001ca0
cmp al, cl
je 0x180001cc4
add rdx, 4
add rdi, 2
jmp 0x180001c90
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, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, r13
call fcn.1800029c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d26
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002109
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rcx, section..data
jl 0x180001d5c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000210b
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word cs:[rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001d98
add rsi, 1
cmp al, bl
je 0x180001d80
cmp al, bl
je 0x180001da6
add rdx, 4
add r9, 2
jmp 0x180001d6f
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r14, rdx
jl 0x180001e04
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, rdx
and ecx, 1
jne 0x18000210d
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001e04
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001e11
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e1d
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e28
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001e36
mov r15, rdi
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001e42
sub rsp, 0x20
mov rcx, r14
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e7d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000210f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001eac
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002111
mov qword [rbp], rsi
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 rsi, rbx
nop dword [rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001ee6
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001ed0
cmp cl, al
je 0x180001ef4
add r11, 4
add r10, 2
jmp 0x180001ec3
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 [0x180020a84], 0xa
jl 0x180001f2e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002113
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f5d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002115
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 rbx, r13
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001f96
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001f80
cmp al, cl
je 0x180001fa4
add rdx, 4
add rdi, 2
jmp 0x180001f70
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, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, r14
call fcn.1800029c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180002006
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002117
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r14, section..data
jl 0x18000203c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002119
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word cs:[rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [r14 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180002079
add rsi, 1
cmp al, bl
je 0x180002060
cmp al, bl
je 0x180002087
add rdx, 4
add rcx, 2
jmp 0x18000204f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
mov rsi, qword [rbp - 0x10]
jl 0x1800020d8
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001afe
cmp dword [0x180020a7c], 0xa
jl 0x18000180d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000180d
jmp 0x180001800
jmp 0x1800020ff
jmp 0x180002101
jmp 0x180002103
jmp 0x180002105
jmp 0x180002107
jmp 0x180002109
jmp 0x18000210b
jmp 0x18000210d
jmp 0x18000210f
jmp 0x180002111
jmp 0x180002113
jmp 0x180002115
jmp 0x180002117
jmp 0x180002119
jmp 0x18000211b
jmp 0x18000211d
jmp 0x18000211f
jmp 0x180002121
jmp 0x180002123
jmp 0x180002125
cmp ebx, 0xa
jl 0x180002132
test ecx, ecx
je 0x180002132
jmp 0x180002130
mov rcx, qword [rbp]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rbp]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x1800022d2
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
cmp ecx, 0xa
jl 0x18000217d
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800022ce
cmp ecx, 0xa
jl 0x180002191
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800022ca
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180002201
mov ebx, dword [r10]
add rbx, r15
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rdi, [rax + rcx]
add rdi, 0x404
jmp 0x1800021c9
add r11, 0xffffffffffffffff
add rdi, 1
add rbx, 1
test r11, r11
je 0x180002201
movzx eax, byte [rdi]
mov byte [rbx], al
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800021f3
test eax, eax
je 0x1800021f3
movzx eax, byte [rdi]
mov byte [rbx], al
jmp 0x1800021c9
cmp ecx, 0xa
jl 0x1800021b8
test eax, eax
je 0x1800021b8
jmp 0x1800022ca
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a6c]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ebx, 0xa
jl 0x1800022b0
test edi, edi
je 0x1800022b0
cmp ecx, 0xa
jl 0x18000223b
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800022d0
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180002169
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rbx, [rax + rcx]
add rbx, 0x404
mov edi, dword [r10]
add rdi, r15
jmp 0x18000227b
add r11, 0xffffffffffffffff
add rbx, 1
add rdi, 1
test r11, r11
je 0x180002169
movzx eax, byte [rbx]
mov byte [rdi], al
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800022a5
test eax, eax
je 0x1800022a5
movzx eax, byte [rbx]
mov byte [rdi], al
jmp 0x18000227b
cmp ecx, 0xa
jl 0x180002266
test eax, eax
je 0x180002266
jmp 0x1800022cc
add r9, 1
cmp ebx, 0xa
jl 0x180002140
test edi, edi
je 0x180002140
jmp 0x180002130
jmp 0x1800022ca
jmp 0x1800022cc
jmp 0x1800022ce
jmp 0x1800022d0
mov rdx, qword [rbp]
mov ecx, dword [rdx + 0xb0]
add rcx, r15
mov r11, r15
sub r11, qword [rdx + 0x30]
movabs r8, 0x1fffffff8
jmp 0x1800022f8
mov edx, dword [rcx + 4]
add rcx, rdx
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete r9b
cmp ebx, 0xa
setl dl
or dl, r9b
test dl, dl
je 0x18000230f
cmp dword [rcx], 0
je 0x180002483
mov edx, dword [rcx + 4]
cmp rdx, 8
jb 0x180002463
cmp ebx, 0xa
jl 0x180002337
and edi, 1
jne 0x18000247d
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r10d, r10d
cmp r10, r9
je 0x180002463
movzx esi, word [rcx + r10*2 + 8]
mov edx, esi
shr edx, 0xc
mov edi, esi
and edi, 0xfff
cmp esi, 0xa000
jae 0x1800023b8
cmp edx, 3
jne 0x180002428
cmp ebx, 0xa
jl 0x180002384
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000247f
mov eax, dword [rcx]
lea rdi, [r15 + rdi*4]
add dword [rdi + rax*4], r11d
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180002428
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002428
mov eax, dword [rcx]
add dword [rdi + rax*4], r11d
mov eax, dword [rcx]
jmp 0x18000238a
cmp edx, 0xa
jne 0x180002428
cmp ebx, 0xa
jl 0x1800023d1
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002481
mov edi, edi
add rdi, r15
mov eax, dword [rcx]
add qword [rax + rdi], r11
jmp 0x1800023e4
mov eax, dword [rcx]
add qword [rdi + rax], r11
mov eax, dword [0x180020a78]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180002428
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002428
mov eax, dword [rcx]
add qword [rdi + rax], r11
mov eax, dword [rcx]
add qword [rdi + rax], r11
cmp dword [0x180020a6c], 0xa
jl 0x1800023de
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002400
jmp 0x1800023de
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete sil
cmp ebx, 0xa
setl dl
or dl, sil
jne 0x18000244b
xor esi, esi
test sil, 1
mov esi, edx
je 0x180002443
add r10, 1
cmp ebx, 0xa
jl 0x180002343
and edi, 1
je 0x180002343
jmp 0x18000247d
cmp ebx, 0xa
jl 0x1800022f2
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800022f2
jmp 0x18000247b
jmp 0x18000247d
jmp 0x18000247f
jmp 0x180002481
cmp ebx, 0xa
jl 0x180002495
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002495
jmp 0x180002493
lea rax, [r15 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x18000296f
add r12, r15
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800024f4
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002963
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002523
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002965
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 rax, r13
movzx ebx, byte [rax]
movzx edx, byte [rsi]
test bl, bl
je 0x180002554
add rax, 1
add rsi, 1
cmp bl, dl
je 0x18000253e
cmp bl, dl
je 0x180002562
add rdi, 4
add rcx, 2
jmp 0x180002536
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 r14, rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002730
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002730
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800025d3
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000295b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002602
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000295d
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, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002633
add rbx, 1
add rsi, 1
cmp al, dl
je 0x18000261d
cmp al, dl
je 0x180002641
add rdi, 4
add rcx, 2
jmp 0x180002615
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 - 8]
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002683
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000295f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800026b2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002961
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, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x1800026e3
add rbx, 1
add rsi, 1
cmp al, dl
je 0x1800026cd
cmp al, dl
je 0x1800026f1
add rdi, 4
add rcx, 2
jmp 0x1800026c5
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800024c2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025a1
jmp 0x1800024c2
mov rdx, qword [rbp - 0x10]
mov edx, dword [rdx]
mov qword [rbp - 0x18], rdx
mov rdx, qword [r15 + rdx]
test rdx, rdx
je 0x180002939
add qword [rbp - 0x18], r15
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x10]
add rax, r15
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
jmp 0x18000278f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800027c1
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000296b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027f0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002967
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x28]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002822
add rsi, 1
add rdi, 1
cmp al, bl
je 0x18000280c
cmp al, bl
je 0x180002830
add rdx, 4
add rcx, 2
jmp 0x180002803
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000291b
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000291b
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.1800029c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800028a8
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002969
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800028d7
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000296d
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x28]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002909
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800028f3
cmp al, bl
je 0x18000276d
add rdx, 4
add rcx, 2
jmp 0x1800028ea
add qword [rbp - 0x20], 8
mov rbx, qword [rbp - 0x18]
mov rdx, qword [rbx + 8]
add rbx, 8
mov qword [rbp - 0x18], rbx
test rdx, rdx
jne 0x180002759
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x1800024ae
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800024ae
jmp 0x180002493
jmp 0x18000295b
jmp 0x18000295d
jmp 0x18000295f
jmp 0x180002961
jmp 0x180002963
jmp 0x180002965
jmp 0x180002967
jmp 0x180002969
jmp 0x18000296b
jmp 0x18000296d
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add r15, rax
sub rsp, 0x20
call r15
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800029a0
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800029a0
jmp 0x18000299e
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret