Function at 0x180001120
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 0x180001152
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001152
nop
jmp 0x180001150
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov esi, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001192
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x180001192
nop
jmp 0x180001190
mov r11b, byte [section..data]
mov r15d, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
sete al
cmp r8d, 0xa
setl cl
or cl, al
mov r9b, byte [0x180004001]
mov al, byte [0x180004002]
mov byte [rbp], al
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov edx, r11d
sete al
cmp dword [0x180020a6c], 0xa
mov r11b, byte [0x180004003]
setl r12b
or r12b, al
mov r14d, ecx
or r14b, cl
cmp ebx, 0xa
jl 0x180001213
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800013b0
mov byte [rdi], dl
test cl, cl
jne 0x180001226
nop dword [rax]
test cl, cl
je 0x180001220
mov byte [rdi], dl
cmp r8d, 0xa
jl 0x180001235
test r13d, r13d
jne 0x1800013b0
mov byte [rdi + 1], r9b
test cl, cl
jne 0x180001248
nop dword [rax]
test cl, cl
je 0x180001240
mov byte [rdi + 1], r9b
cmp r8d, 0xa
jl 0x180001257
test r13d, r13d
jne 0x1800013b0
mov al, byte [rbp]
mov byte [rdi + 2], al
test cl, cl
jne 0x18000127a
nop word cs:[rax + rax]
nop dword [rax + rax]
test cl, cl
je 0x180001270
mov al, byte [rbp]
mov byte [rdi + 2], al
cmp r8d, 0xa
jl 0x180001289
test r13d, r13d
jne 0x1800013b0
mov byte [rdi + 3], r11b
test cl, cl
jne 0x1800012a8
nop word cs:[rax + rax]
nop dword [rax + rax]
test cl, cl
je 0x1800012a0
mov byte [rdi + 3], r11b
cmp r8d, 0xa
jl 0x1800012b7
test r13d, r13d
jne 0x1800013b0
test r12b, r12b
jne 0x180001412
cmp r8d, 0xa
jl 0x1800012cf
test r13d, r13d
jne 0x1800013d0
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r8d
cmovne esi, r8d
test r14b, r14b
je 0x1800013e0
cmp esi, 0xa
jl 0x1800012f5
test eax, eax
jne 0x1800013c0
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r8d
cmovne esi, r8d
test r14b, r14b
je 0x1800013f0
cmp esi, 0xa
jl 0x18000131b
test eax, eax
jne 0x1800013c0
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r8d
cmovne esi, r8d
test r14b, r14b
je 0x180001400
cmp esi, 0xa
jl 0x180001341
test eax, eax
jne 0x1800013c0
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r15d
cmovne esi, esi
mov ebx, r8d
cmovne ebx, r8d
test r14b, r14b
je 0x180001410
cmp ebx, 0xa
jl 0x180001369
test eax, eax
jne 0x1800013c0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp ebx, 0xa
jl 0x1800011ff
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x1800011ff
jmp 0x180001190
jmp 0x1800013b0
jmp 0x1800013c0
jmp 0x1800013d0
jmp 0x1800013e0
jmp 0x1800013f0
jmp 0x180001400
jmp 0x180001410
mov r9d, dword [rdi]
test r9, r9
mov r11, r10
je 0x180001537
xor ecx, ecx
cmp r9d, 0x10
jb 0x1800014fc
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x1800014fc
mov ecx, r9d
and ecx, 0xfffffff0
lea rbx, [rcx - 0x10]
mov rax, rbx
shr rax, 4
add rax, 1
mov edx, eax
and edx, 1
test rbx, rbx
je 0x1800014c3
mov rsi, rdx
sub rsi, rax
xor ebx, ebx
lea rdi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov eax, ebx
and eax, 0x3e0
movups xmm1, xmmword [rax + rdi + 4]
movups xmm2, xmmword [rbx + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rbx + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rbx + rdi + 0x404], xmm2
lea eax, [rbx + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rbx + rdi + 0x414], xmm1
add rbx, 0x20
add rsi, 2
jne 0x180001472
jmp 0x1800014c5
xor ebx, ebx
test rdx, rdx
je 0x1800014f7
mov eax, ebx
and eax, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rax + rdx + 4]
movups xmm1, xmmword [rbx + 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 [rbx + rdx + 0x404], xmm1
cmp rcx, r9
je 0x180001537
lea rax, section..data
nop word cs:[rax + rax]
nop dword [rax]
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + rax + 4]
xor dl, byte [rcx + rax + 0x404]
xor dl, 0xc
mov byte [rcx + rax + 0x404], dl
add rcx, 1
cmp rcx, r9
jb 0x180001510
cmp r8d, 0xa
jl 0x180001552
test r13d, r13d
je 0x180001552
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001550
lea r14, section..data
mov al, byte [r9 + r14 + 0x404]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [r11], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001591
test ecx, ecx
jne 0x180001570
cmp edx, 0xa
jl 0x18000159e
test ecx, ecx
jne 0x180001a90
lea rdi, [r9 + r14]
add rdi, 0x404
mov al, byte [rdi + 1]
nop dword [rax]
mov byte [r11 + 1], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x1800015d2
test ecx, ecx
jne 0x1800015b0
cmp ebx, 0xa
jl 0x1800015df
test ecx, ecx
jne 0x180001a90
mov al, byte [rdi + 2]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r11 + 2], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001612
test ecx, ecx
jne 0x1800015f0
cmp ebx, 0xa
jl 0x18000161f
test ecx, ecx
jne 0x180001a90
mov dl, byte [rdi + 3]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r11 + 3], dl
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp ebx, 0xa
jl 0x180001652
test esi, esi
jne 0x180001630
cmp ebx, 0xa
jl 0x18000165f
test esi, esi
jne 0x180001a90
cmp dword [0x180020a6c], 0xa
jl 0x180001ae2
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001ae2
cmp ebx, 0xa
jl 0x180001695
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001ae0
mov al, byte [r9 + r14 + 0x404]
nop dword [rax]
mov byte [r11], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800016c1
test ecx, ecx
jne 0x1800016a0
cmp edx, 0xa
jl 0x1800016ce
test ecx, ecx
jne 0x180001ab0
mov al, byte [r9 + r14 + 0x405]
mov byte [r11 + 1], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001722
test ecx, ecx
je 0x180001722
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000171a
mov byte [r11 + 1], al
cmp edx, 0xa
jl 0x18000172f
test ecx, ecx
jne 0x180001ab0
mov al, byte [r9 + r14 + 0x406]
mov byte [r11 + 2], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001783
test ecx, ecx
je 0x180001783
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000177b
mov byte [r11 + 2], al
cmp edx, 0xa
jl 0x180001790
test ecx, ecx
jne 0x180001ab0
mov r8b, byte [r9 + r14 + 0x407]
mov byte [r11 + 3], r8b
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x1800017e4
test ecx, ecx
je 0x1800017e4
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r10b
cmp ebx, 0xa
setl al
or al, r10b
test al, al
je 0x1800017dc
mov byte [r11 + 3], r8b
cmp ebx, 0xa
jl 0x1800017f1
test ecx, ecx
jne 0x180001ab0
cmp dword [0x180020a6c], 0xa
jl 0x18000182e
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001961
jmp 0x18000182e
cmp ebx, 0xa
jl 0x180001559
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001559
jmp 0x180001550
cmp ebx, 0xa
jl 0x180001842
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001ac0
mov al, byte [r9 + r14 + 0x404]
nop word [rax + rax]
mov byte [r11], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001871
test ecx, ecx
jne 0x180001850
cmp edx, 0xa
jl 0x18000187e
test ecx, ecx
jne 0x180001aa0
mov al, byte [r9 + r14 + 0x405]
nop word cs:[rax + rax]
mov byte [r11 + 1], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800018b2
test ecx, ecx
jne 0x180001890
cmp edx, 0xa
jl 0x1800018bf
test ecx, ecx
jne 0x180001aa0
mov al, byte [r9 + r14 + 0x406]
nop word [rax + rax]
mov byte [r11 + 2], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800018f2
test ecx, ecx
jne 0x1800018d0
cmp edx, 0xa
jl 0x1800018ff
test ecx, ecx
jne 0x180001aa0
mov al, byte [r9 + r14 + 0x407]
nop word [rax + rax]
mov byte [r11 + 3], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001932
test ecx, ecx
jne 0x180001910
cmp ebx, 0xa
jl 0x18000193f
test ecx, ecx
jne 0x180001aa0
cmp dword [0x180020a6c], 0xa
jl 0x180001811
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001811
cmp ebx, 0xa
jl 0x180001975
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001ad0
mov al, byte [r9 + r14 + 0x404]
nop dword [rax]
mov byte [r11], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800019a1
test ecx, ecx
jne 0x180001980
cmp edx, 0xa
jl 0x1800019ae
test ecx, ecx
jne 0x180001a80
mov al, byte [r9 + r14 + 0x405]
nop word cs:[rax + rax]
mov byte [r11 + 1], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800019e2
test ecx, ecx
jne 0x1800019c0
cmp edx, 0xa
jl 0x1800019ef
test ecx, ecx
jne 0x180001a80
mov al, byte [r9 + r14 + 0x406]
nop word [rax + rax]
mov byte [r11 + 2], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001a22
test ecx, ecx
jne 0x180001a00
cmp edx, 0xa
jl 0x180001a2b
test ecx, ecx
jne 0x180001a80
mov al, byte [r9 + r14 + 0x407]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r11 + 3], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001a62
test ecx, ecx
jne 0x180001a40
cmp ebx, 0xa
jl 0x18000182e
test ecx, ecx
je 0x18000182e
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001a80
jmp 0x180001a90
jmp 0x180001aa0
jmp 0x180001ab0
jmp 0x180001ac0
jmp 0x180001ad0
jmp 0x180001ae0
lea rax, [rdi + 4]
mov qword [rbp], rax
mov ebx, dword [r11]
test rbx, rbx
je 0x180001c36
xor eax, eax
cmp ebx, 0x20
jb 0x180001c11
lea rcx, [rbx - 1]
cmp rcx, 0x400
jae 0x180001c11
lea rax, [rbx + r14]
add rax, 4
cmp qword [rbp], rax
jae 0x180001b3b
lea rax, [rdi + rbx]
add rax, 4
lea rcx, str.KZzpQefKbaByyElaGljmDFBQgTqwLjrtCRLOlIRylUDOtlfjsXgnICpUDXTZvEXgneQmVqBrATKAGyBPkFZuMKluhVKMrrDpGuxmsZvTQqAGKEyRqsUbPkxuovBJGDShGzGYBaHDiiRJwHMLYZGljALVHJrcroxpuJDUoazXRUOaEdpugpSnIwoRAzSIVPBvirOhpxHufEJdOCBjQmVhyDqFPLEjIMndQvydlhTQzwPdAJWunPZCfvFfdRrtRgsMTvlibIVAhhVWkSTQRAxtbmYezRFnalbzAzqKfbDqPBnLJnUEZeBlDhgqwqLcIIZlDqQhnYhvtbnQgYYXuJFuYEuCUaOhnxZRzHAhiDWbwDhIgSdyQIXtSRfwxhCizRQhsRCaspOQHLRBGEMmhUzTkYfEtDkWEwkyupMRqVZqthFQAmcPxRYqXwLEfldYdJZdzCmttaXiDZwgdIYDWAVosYsYhDoAvVwgjivfPYcpRefRtBFcwdegFHrKjlmxXiupdpvhHDGJxoGvCTdDVIZrquglBPGxvtjKaJivAUGOPAqHxzUyZgYHuxdVKcTswpjwuHsYnpZUuRMWwfLDWOdYLtgGnnhjACmXRCwCJcfSWPlWIkkFgChwcdmGxSWHDBMnaUfkAjWXLDrxqExnfwnUylTJJoXmtYFnqlSdoFXUmZyfqwGjeCpScWabZeJeGwMSmGwbzbhSeqlDdlvyrCUdjCFnATVaVsDRVTsIZZaxxybSrOzKSIWXKokZCUhFjvdahjVRbrdpnyZdPkeslnDIoippESIgQjifQxFwMpqwztdeZauVjIOeZCxkJIdaaCrqAgPlIVSpsQwxrxInhVHkSiLhDnGvYLfOwJzenZkTgzdYKkiQeBnPJyhciFXLimyDvmfGPmwClogDqjhrKJMRqtRPWSTbCYYnYykHyijHnyiwoITipdhwraTJAGccveGrjhijWEbAxFVxfPjyqwjAPUUbLkqOzGAnSCGugmDTHIsIixTXqkUEhTZbAUSVrYj
cmp rax, rcx
jbe 0x180001b3b
xor eax, eax
jmp 0x180001c11
mov eax, ebx
and eax, 0xffffffe0
lea rdx, [rax - 0x20]
mov rcx, rdx
shr rcx, 5
add rcx, 1
mov r8d, ecx
and r8d, 1
test rdx, rdx
je 0x180001bd5
lea rsi, [r9 + r14]
add rsi, 0x438
mov rdx, r8
sub rdx, rcx
xor edi, edi
mov ecx, edi
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r14 + 4]
movups xmm1, xmmword [rcx + r14 + 0x14]
movups xmm2, xmmword [rsi + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdi - 0x10]
movups xmm3, xmmword [rsi + rdi]
movups xmmword [rsi + rdi - 0x30], xmm2
movups xmmword [rsi + rdi - 0x20], xmm0
lea ecx, [rdi + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rdi - 0x10], xmm0
movups xmmword [rsi + rdi], xmm1
add rdi, 0x40
add rdx, 2
jne 0x180001b6e
jmp 0x180001bd7
xor edi, edi
test r8, r8
je 0x180001c0c
mov ecx, edi
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r14 + 4]
movups xmm1, xmmword [rcx + r14 + 0x14]
mov rcx, qword [rbp]
movups xmm2, xmmword [rcx + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rdi], xmm2
movups xmmword [rcx + rdi + 0x10], xmm0
cmp rax, rbx
je 0x180001c36
lea rcx, [r9 + r14]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r14 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, rbx
jb 0x180001c1c
cmp dword [0x180020a7c], 0xa
jl 0x180001c52
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c52
jmp 0x180001c50
lea r15, [r9 + 0x408]
movsxd rax, dword [0x180004440]
mov rsi, qword [rbp]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001c64
add rax, r14
add rax, 0x404
mov qword [rbp - 8], rax
mov r12, rsi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001c7d
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001c8c
mov qword [rbp - 0x30], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001c9b
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001ca9
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001cb5
sub rsp, 0x20
mov rcx, rsi
call fcn.180002a00
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001cf0
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001d23
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000226d
mov qword [rbp - 0x10], 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, r12
nop word cs:[rax + rax]
nop dword [rax]
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001d66
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001d50
cmp cl, al
je 0x180001d74
add rdi, 4
add r10, 2
jmp 0x180001d3a
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
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001dae
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001de1
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000226f
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
nop dword [rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001e16
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001e00
cmp bl, cl
je 0x180001e24
add rdx, 4
add rdi, 2
jmp 0x180001df4
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 - 0x10]
call fcn.180002a00
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001e87
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 0x180001ec1
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002271
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 dword [rax + rax]
lea rax, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ef8
add rsi, 1
cmp al, bl
je 0x180001ee0
cmp al, bl
je 0x180001f06
add rdx, 4
add r9, 2
jmp 0x180001ed4
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 r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea ebx, [r13 - 1]
imul ebx, r13d
cmp ecx, 0xa
jl 0x18000227b
mov edx, ebx
and edx, 1
je 0x18000227b
movsxd rdx, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rcx, qword [rbp]
jl 0x180001f87
mov eax, dword [0x180020a80]
lea ebx, [rax - 1]
imul ebx, eax
mov rcx, qword [rbp]
and ebx, 1
jne 0x180002273
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180001f87
mov r12, rcx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001f93
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001fa2
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001fad
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001fbb
mov qword [rbp - 0x10], rdx
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001fcb
sub rsp, 0x20
mov qword [rbp - 8], rcx
call fcn.180002a00
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002007
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000203a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002275
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
nop word cs:[rax + rax]
nop
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180002076
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180002060
cmp al, bl
je 0x180002084
add rsi, 4
add r10, 2
jmp 0x18000204d
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
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800020be
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800020f1
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002277
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
nop dword [rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180002126
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180002110
cmp cl, dl
je 0x180002134
add rdi, 4
add rsi, 2
jmp 0x180002104
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 - 8]
call fcn.180002a00
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002197
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 0x1800021d1
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002279
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 dword [rax + rax]
lea rax, [r15 + rsi]
movzx eax, byte [r14 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180002209
add rsi, 1
cmp al, bl
je 0x1800021f0
cmp al, bl
je 0x180002217
add rdx, 4
add rcx, 2
jmp 0x1800021e4
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
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 [0x180020a7c], 0xa
jl 0x180001c59
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c59
jmp 0x180001c50
jmp 0x18000226d
jmp 0x18000226f
jmp 0x180002271
jmp 0x180002273
jmp 0x180002275
jmp 0x180002277
jmp 0x180002279
mov qword [rbp], rax
test bl, 1
sete dl
cmp ecx, 0xa
setl bl
or bl, dl
cmp bl, 1
jne 0x18000242b
mov rdx, qword [rbp - 8]
lea r11, [rdx + 0x108]
xor r10d, r10d
mov rdx, qword [rbp - 8]
movzx edx, word [rdx + 6]
cmp r10, rdx
jae 0x180002435
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea rax, [r10 + r10*4]
lea r8, [r11 + rax*8]
add r8, 0xc
lea r15, [r11 + rax*8]
add r15, 0x10
lea r9, [r11 + rax*8]
add r9, 0x14
cmp edx, 0xa
jl 0x1800022f1
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002431
mov r13d, dword [r15]
test r13, r13
je 0x18000235f
mov eax, dword [r9]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
add rdi, qword [rbp]
jmp 0x180002327
add r13, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test r13, r13
je 0x18000235f
movzx eax, byte [rcx]
mov byte [rdi], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edx, 0xa
jl 0x180002351
test eax, eax
je 0x180002351
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x180002327
cmp edx, 0xa
jl 0x180002316
test eax, eax
je 0x180002316
jmp 0x18000242d
mov r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea esi, [r13 - 1]
imul esi, r13d
cmp ecx, 0xa
jl 0x18000240f
mov edi, esi
and edi, 1
je 0x18000240f
cmp edx, 0xa
jl 0x18000239c
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002433
mov r13d, dword [r15]
test r13, r13
je 0x1800022dd
mov eax, dword [r9]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
add rdi, qword [rbp]
jmp 0x1800023da
add r13, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test r13, r13
je 0x1800022dd
movzx eax, byte [rcx]
mov byte [rdi], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edx, 0xa
jl 0x180002404
test eax, eax
je 0x180002404
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x1800023da
cmp edx, 0xa
jl 0x1800023c5
test eax, eax
je 0x1800023c5
jmp 0x18000242f
add r10, 1
test sil, 1
sete dl
cmp ecx, 0xa
setl bl
or bl, dl
cmp bl, 1
je 0x1800022a4
jmp 0x18000242b
jmp 0x18000242d
jmp 0x18000242f
jmp 0x180002431
jmp 0x180002433
mov rdx, qword [rbp - 8]
mov edi, dword [rdx + 0xb0]
mov rax, qword [rbp]
cmp dword [rax + rdi], 0
je 0x18000266f
mov rdx, qword [rbp]
add rdi, rdx
mov rsi, qword [rbp - 8]
sub rdx, qword [rsi + 0x30]
movabs r8, 0x1fffffff8
mov r10, rdi
test bl, 1
jne 0x1800024aa
jmp 0x18000266d
mov esi, dword [r10 + 4]
lea rdi, [r10 + rsi]
lea ebx, [r13 - 1]
imul ebx, r13d
test bl, 1
sete r9b
cmp ecx, 0xa
setl bl
or bl, r9b
cmp dword [r10 + rsi], 0
mov r10, rdi
je 0x18000266f
test bl, 1
je 0x18000266d
mov r9d, dword [r10 + 4]
lea ebx, [r13 - 1]
imul ebx, r13d
and ebx, 1
cmp r9, 7
jbe 0x180002656
cmp ecx, 0xa
jl 0x1800024d0
test ebx, ebx
jne 0x180002669
add r9, r8
shr r9, 1
mov r9d, r9d
xor r11d, r11d
cmp r11, r9
je 0x180002656
movzx ebx, word [r10 + r11*2 + 8]
mov esi, ebx
shr esi, 0xc
mov r14d, ebx
and r14d, 0xfff
cmp ebx, 0xa000
jae 0x180002529
cmp esi, 3
jne 0x180002638
cmp ecx, 0xa
jl 0x180002521
lea ecx, [r13 - 1]
imul ecx, r13d
and ecx, 1
jne 0x180002607
mov rax, r14
jmp 0x1800025db
cmp esi, 0xa
jne 0x180002638
mov ebx, r14d
cmp ecx, 0xa
jl 0x180002582
lea ecx, [r13 - 1]
imul ecx, r13d
and ecx, 1
je 0x180002582
mov rax, qword [rbp]
add rax, rbx
mov ecx, dword [rdi]
add qword [rcx + rax], rdx
mov ecx, dword [rdi]
add qword [rcx + rax], rdx
cmp dword [0x180020a6c], 0xa
jl 0x180002582
mov ecx, dword [0x180020a70]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180002582
mov ecx, dword [rdi]
add qword [rax + rcx], rdx
mov ecx, dword [rdi]
add qword [rax + rcx], rdx
jmp 0x18000255a
add rbx, qword [rbp]
mov eax, dword [rdi]
add qword [rax + rbx], rdx
mov r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002638
lea esi, [r13 - 1]
imul esi, r13d
and esi, 1
je 0x180002638
mov eax, dword [rdi]
add qword [rbx + rax], rdx
mov eax, dword [rdi]
add qword [rbx + rax], rdx
jmp 0x18000258c
add r11, 1
cmp ecx, 0xa
jl 0x1800024dc
test ebx, ebx
je 0x1800024dc
jmp 0x180002669
mov ecx, dword [rdi]
mov rsi, qword [rbp]
lea rcx, [rsi + rcx*4]
add dword [rcx + rax*4], edx
mov r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180002638
lea esi, [r13 - 1]
imul esi, r13d
and esi, 1
je 0x180002638
mov eax, r14d
mov rcx, qword [rbp]
lea rcx, [rcx + rax*4]
mov esi, dword [rdi]
add dword [rcx + rsi*4], edx
mov esi, dword [rdi]
add dword [rcx + rsi*4], edx
cmp dword [0x180020a6c], 0xa
jl 0x1800025db
mov esi, dword [0x180020a70]
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
jne 0x180002612
jmp 0x1800025db
lea ebx, [r13 - 1]
imul ebx, r13d
and ebx, 1
cmp ecx, 0xa
jl 0x1800025c1
test ebx, ebx
je 0x1800025c1
jmp 0x18000266b
cmp ecx, 0xa
jl 0x180002473
test ebx, ebx
je 0x180002473
jmp 0x180002667
jmp 0x180002669
jmp 0x18000266b
jmp 0x18000266d
test bl, 1
je 0x1800029ee
mov rdx, qword [rbp - 8]
mov edx, dword [rdx + 0x90]
mov rax, qword [rbp]
mov qword [rbp - 0x18], rdx
mov edx, dword [rax + rdx + 0xc]
test edx, edx
je 0x1800029cd
mov rax, qword [rbp]
add qword [rbp - 0x18], rax
add rax, 2
mov qword [rbp - 0x28], rax
cmp ecx, 0xa
jl 0x1800026bc
lea ecx, [r13 - 1]
imul ecx, r13d
and ecx, 1
jne 0x1800029f8
mov r14d, edx
add r14, qword [rbp]
jmp 0x1800026dd
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002a00
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x18000270f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002742
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029f0
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r12
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x180002773
add rdi, 1
add rsi, 1
cmp al, dl
je 0x18000275d
cmp al, dl
je 0x180002781
add rbx, 4
add rcx, 2
jmp 0x180002755
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 r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000286b
lea edx, [r13 - 1]
imul edx, r13d
and edx, 1
je 0x18000286b
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002a00
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800027f5
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002828
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029f2
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r12
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x180002859
add rdi, 1
add rsi, 1
cmp al, dl
je 0x180002843
cmp al, dl
je 0x1800026c5
add rbx, 4
add rcx, 2
jmp 0x18000283b
mov rax, qword [rbp - 0x18]
mov edx, dword [rax]
mov rax, qword [rbp]
mov qword [rbp - 0x20], rdx
mov rdx, qword [rax + rdx]
test rdx, rdx
je 0x1800029b6
mov rax, qword [rbp]
add qword [rbp - 0x20], rax
mov rcx, qword [rbp - 0x18]
mov r14d, dword [rcx + 0x10]
add r14, rax
jmp 0x1800028b8
add r14, 8
mov rax, qword [rbp - 0x20]
mov rdx, qword [rax + 8]
add rax, 8
mov qword [rbp - 0x20], rax
test rdx, rdx
je 0x1800029b6
mov rax, qword [rbp - 0x28]
add rax, rdx
test rdx, rdx
movzx r13d, dx
cmovns r13, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002a00
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800028fc
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000292f
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029f4
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 - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002961
add rax, 1
add rsi, 1
cmp bl, cl
je 0x18000294b
cmp bl, cl
je 0x18000296f
add rdx, 4
add rdi, 2
jmp 0x180002942
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r13
call r9
add rsp, 0x20
mov qword [r14], rax
mov r13d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000289b
lea edx, [r13 - 1]
imul edx, r13d
and edx, 1
je 0x18000289b
jmp 0x1800029f6
mov rax, qword [rbp - 0x18]
mov edx, dword [rax + 0x20]
add rax, 0x14
mov qword [rbp - 0x18], rax
test edx, edx
jne 0x1800026a6
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
mov rcx, qword [rbp]
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
jmp 0x1800029ee
jmp 0x1800029f0
jmp 0x1800029f2
jmp 0x1800029f4
jmp 0x1800029f6
jmp 0x1800029f8