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
jl 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop
jmp 0x1800010c0
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp dword [0x180020a74], 0xa
jl 0x180001102
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001102
nop dword [rax]
jmp 0x180001100
lea r8, section..data
mov r11d, 3
mov rdi, r10
mov rax, r8
mov cl, byte [r8]
nop dword [rax + rax]
mov byte [rdi], cl
mov edx, dword [0x180020a78]
mov ebx, dword [0x180020a74]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x18000117e
test esi, esi
je 0x18000117e
cmp ebx, 0xa
jl 0x180001160
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x1800012b0
nop word cs:[rax + rax]
nop
mov byte [rdi], cl
cmp dword [0x180020a74], 0xa
jl 0x180001120
mov edx, dword [0x180020a78]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001160
jmp 0x180001120
cmp ebx, 0xa
jl 0x18000118b
test esi, esi
jne 0x1800012c0
add rax, 1
add rdi, 1
sub r11, 1
jb 0x18000119d
mov cl, byte [rax]
jmp 0x180001120
cmp dword [0x180020a6c], 0xa
jl 0x1800012f2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800012f2
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x1800011e3
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x1800012f0
mov r9d, 3
mov rcx, r8
mov dl, byte [r8]
nop
mov byte [rax], dl
mov ebx, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x18000124e
test esi, esi
je 0x18000124e
cmp edi, 0xa
jl 0x180001230
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x1800012d0
nop word cs:[rax + rax]
nop
mov byte [rax], dl
cmp dword [0x180020a74], 0xa
jl 0x1800011f0
mov ebx, dword [0x180020a78]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180001230
jmp 0x1800011f0
cmp edi, 0xa
jl 0x18000125b
test esi, esi
jne 0x1800012e0
add rcx, 1
add rax, 1
sub r9, 1
jb 0x18000126d
mov dl, byte [rcx]
jmp 0x1800011f0
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp edi, 0xa
jl 0x180001109
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001109
jmp 0x180001100
jmp 0x1800012b0
jmp 0x1800012c0
jmp 0x1800012d0
jmp 0x1800012e0
jmp 0x1800012f0
mov r13d, dword [r10]
test r13, r13
je 0x180001411
xor edi, edi
cmp r13d, 0x10
jb 0x1800013e5
lea rcx, [r13 - 1]
cmp rcx, 0x400
jae 0x1800013e5
mov edi, r13d
and edi, 0xfffffff0
lea rax, [rdi - 0x10]
mov rcx, rax
shr rcx, 4
add rcx, 1
mov r8d, ecx
and r8d, 1
test rax, rax
je 0x1800013ab
mov rax, r8
sub rax, rcx
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 ecx, esi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + 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 ecx, [rsi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r10 + 0x414], xmm1
add rsi, 0x20
add rax, 2
jne 0x180001352
jmp 0x1800013ad
xor esi, esi
test r8, r8
je 0x1800013e0
mov ecx, esi
and ecx, 0x3f0
lea rax, section..data
movups xmm0, xmmword [rcx + rax + 4]
movups xmm1, xmmword [rsi + rax + 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 + rax + 0x404], xmm1
cmp rdi, r13
je 0x180001411
lea rcx, section..data
mov eax, edi
and eax, 0x3ff
movzx eax, byte [rax + rcx + 4]
xor al, byte [rdi + rcx + 0x404]
xor al, 0xc
mov byte [rdi + rcx + 0x404], al
add rdi, 1
cmp rdi, r13
jb 0x1800013ec
cmp ebx, 0xa
jl 0x180001432
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001432
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180001430
lea rax, section..data
lea r8, [rax + r13]
add r8, 0x404
lea r10, [rax + r13]
add r10, 0x404
mov r11d, 3
mov rax, r9
mov rcx, r10
mov bl, byte [r10]
mov byte [rax], bl
mov esi, dword [0x180020a78]
mov edx, dword [0x180020a74]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp edx, 0xa
jl 0x1800014b0
test edi, edi
je 0x1800014b0
cmp edx, 0xa
jl 0x180001492
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
jne 0x1800015a0
mov byte [rax], bl
cmp dword [0x180020a74], 0xa
jl 0x18000145e
mov edx, dword [0x180020a78]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001492
jmp 0x18000145e
cmp edx, 0xa
jl 0x1800014bd
test edi, edi
jne 0x1800015a2
add rcx, 1
add rax, 1
sub r11, 1
jb 0x1800014cf
mov bl, byte [rcx]
jmp 0x18000145e
cmp dword [0x180020a6c], 0xa
jl 0x1800015aa
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800015aa
cmp edx, 0xa
jl 0x180001505
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800015a8
mov r11d, 3
mov rax, r9
mov rcx, r8
mov dl, byte [r8]
mov byte [rax], dl
mov esi, dword [0x180020a78]
mov edi, dword [0x180020a74]
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
cmp edi, 0xa
jl 0x180001562
test ebx, ebx
je 0x180001562
cmp edi, 0xa
jl 0x180001544
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x1800015a4
mov byte [rax], dl
cmp dword [0x180020a74], 0xa
jl 0x180001514
mov esi, dword [0x180020a78]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x180001544
jmp 0x180001514
cmp edi, 0xa
jl 0x18000156b
test ebx, ebx
jne 0x1800015a6
add rcx, 1
add rax, 1
sub r11, 1
jb 0x18000157d
mov dl, byte [rcx]
jmp 0x180001514
cmp edi, 0xa
jl 0x18000144f
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x18000144f
jmp 0x180001430
jmp 0x1800015a0
jmp 0x1800015a2
jmp 0x1800015a4
jmp 0x1800015a6
jmp 0x1800015a8
lea rax, [r10 + 4]
mov qword [rbp - 0x10], rax
mov r9d, dword [r9]
test r9, r9
je 0x180001726
xor eax, eax
cmp r9d, 0x20
jb 0x1800016f5
lea rcx, [r9 - 1]
cmp rcx, 0x400
jae 0x1800016f5
lea rax, section..data
lea rcx, [r9 + rax]
add rcx, 4
cmp qword [rbp - 0x10], rcx
jae 0x18000160b
lea rcx, [r10 + r9]
add rcx, 4
lea rdx, str.trqYaJEdWclqmvAVurODZICmrgRkCrkDvyfgVeYtDLQrXKGwrBscYBCOjsUsgkdeMtrDAMuaeGZCMgjvTrhdhobulQtnvSgqJsMmHTxMEwMeUcdiDbCDOJRgLRkpWAqYKFvdDmrkVOVfdBQppjPcGhwGGoDVbdKbzKlAasPMGDFlWmzIDVvYUGuXdPEYhzYLVfsfgOhzZOTjDzpWGcQQmtSquxHvDwlEdIUpCMRRvgzfCOYXVXiDnhxOjMYLeiqULJIGuipwepfmUiPUCpBpzWBeiaeSXfeIWLvfiAhjrqjPBvkIvJnbzoVQpAumRrxmRVHpraaRmIazvUhAdEcPKwcPntgVtCYIRfKOVugODHlgTGKsksuJcnwfVGPtjElRDgpdkHOnoaPvMpavqojoUpIFqkOIPwSPqJvQGrsnBSxIpknKCZcicivUnVmRkKHwgutfwJQBlHSkooOYpBbYQiwUJvMuTJvuhmvcWcJfwtuprfUkDSwqVmCkQsHXkoDeSCYQPxFmVMUpGvcLjLWTBYHOzJEDDbEiriTbHAMZiytdmFQeEVaPPBmnqpeunEdeVjoUIBtISgqvJgLdYzylpRTFeXZACSgAgjJDVwTTuhwpZICPiyyufRiCOnXdjlYXkDUnTofVStRcdAZDpMZbIiRdCRYlPSVfDLzkbPHWCDuErDTdHDQPzGJVtCsgbYqYssBEQoBoytTshwGFJEDyWggbpoOXwYirvBlKEOwfRPQpopotFVlrtLcMhKjWfUxkOpmrmtFRAmfRBBsnRwBFFgaEVXtMyURtJBAKZSSEGbYxfgAXUBIFvHfUQbaHzPXVEzphEheUzQXihIbtGVahZpBjmocsCcEgGvLwOOmSgKwWnZgnCkTbajBprBmIzLgGkpmXgwvaLJfpdYndSuQeeCZTVwMRggwOpGDZPykCmgaQcIsBwWnipRPMyCZHIccimnRvosSaPnaykQxIVCzGjDWDoqmwTcbkWVVGhjFHiLOuXjJmfxEuKuzmlFgZrOB
cmp rcx, rdx
jbe 0x18000160b
xor eax, eax
jmp 0x1800016f5
mov eax, r9d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rcx, rbx
shr rcx, 5
add rcx, 1
mov r8d, ecx
and r8d, 1
test rbx, rbx
je 0x1800016b4
lea rdx, section..data
lea rdi, [rdx + r13]
add rdi, 0x438
mov rbx, r8
sub rbx, rcx
xor esi, esi
lea rdx, section..data
mov ecx, esi
and ecx, 0x3c0
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 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 ecx, [rsi + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + rdx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + rdx + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x180001651
jmp 0x1800016b6
xor esi, esi
test r8, r8
je 0x1800016f0
mov ecx, esi
and ecx, 0x3e0
lea rdx, section..data
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 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
je 0x180001726
lea rcx, section..data
add rcx, r13
add rcx, 0x408
lea rbx, section..data
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rbx + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r9
jb 0x18000170d
cmp dword [0x180020a7c], 0xa
jl 0x180001742
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001742
jmp 0x180001740
add r13, 0x408
movsxd rax, dword [str.cfhiOg]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp], rax
mov rax, qword [rbp]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp], rax
jne 0x18000176c
mov r15, qword [rbp]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001781
mov qword [rbp - 0x18], r15
mov rax, qword [rbp - 0x18]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp - 0x18], rax
jne 0x18000178f
mov r12, qword [rbp - 0x18]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017a4
mov r14, r12
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017b3
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017c0
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800017fb
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d47
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000182a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d49
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, r15
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x18000185b
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001845
cmp al, bl
je 0x180001869
add rsi, 4
add r10, 2
jmp 0x18000183d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800018a3
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d4b
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018d2
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001d4d
add r8, r10
mov edx, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdx, r10
add r9, r10
mov eax, dword [rdx]
add rax, r10
mov rsi, r12
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x180001903
add rsi, 1
add rax, 1
cmp bl, cl
je 0x1800018ed
cmp bl, cl
je 0x180001911
add rdx, 4
add r9, 2
jmp 0x1800018e5
movzx eax, word [r9]
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, rdi
mov r8, rdi
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001975
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d4f
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019a4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d51
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rcx, section..data
lea rax, [rsi + r13]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800019dd
add rsi, 1
cmp al, bl
je 0x1800019c5
cmp al, bl
je 0x1800019eb
add rdx, 4
add r9, 2
jmp 0x1800019b7
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 r14, rax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edi, [rdx - 1]
imul edi, edx
cmp ebx, 0xa
jl 0x180001d61
mov eax, edi
and eax, 1
je 0x180001d61
movsxd rax, dword [str.cfhiOg]
mov qword [rbp - 0x18], rax
cmp dword [0x180020a7c], 0xa
mov rax, qword [rbp - 0x10]
mov qword [rbp], rax
jl 0x180001a78
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x10]
mov qword [rbp], rax
and ecx, 1
jne 0x180001d53
mov rax, qword [rbp]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp], rax
jne 0x180001a78
mov r15, qword [rbp]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a8d
mov r14, r15
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a9a
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001aa4
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001ab1
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001abd
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001afb
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d55
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b2a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d57
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, r15
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001b5b
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001b45
cmp al, bl
je 0x180001b69
add rsi, 4
add r10, 2
jmp 0x180001b3d
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 0x180001ba3
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d59
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001bd2
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001d5b
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, r14
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001c03
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001bed
cmp cl, dl
je 0x180001c11
add rdi, 4
add rsi, 2
jmp 0x180001be5
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c74
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d5d
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ca3
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d5f
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rcx, section..data
lea rax, [rsi + r13]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001cdc
add rsi, 1
cmp al, bl
je 0x180001cc4
cmp al, bl
je 0x180001cea
add rdx, 4
add r9, 2
jmp 0x180001cb6
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
lea rax, section..data
mov rcx, qword [rbp - 0x18]
mov edx, dword [rcx + rax + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
jl 0x180001749
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001749
jmp 0x180001740
jmp 0x180001d47
jmp 0x180001d49
jmp 0x180001d4b
jmp 0x180001d4d
jmp 0x180001d4f
jmp 0x180001d51
jmp 0x180001d53
jmp 0x180001d55
jmp 0x180001d57
jmp 0x180001d59
jmp 0x180001d5b
jmp 0x180001d5d
jmp 0x180001d5f
and edi, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
cmp al, 1
jne 0x180001f73
mov rcx, qword [rbp - 8]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x180001f7f
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
cmp ebx, 0xa
jl 0x180001dcc
test edi, edi
jne 0x180001eb4
jmp 0x180001dcc
add r9, 1
and edi, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
cmp al, 1
je 0x180001d85
jmp 0x180001f73
cmp ecx, 0xa
jl 0x180001de0
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f7b
lea rdx, [r9 + r9*4]
mov r10d, dword [r8 + rdx*8 + 0x10]
test r10, r10
je 0x180001e8e
mov ebx, dword [r8 + rdx*8 + 0xc]
mov eax, dword [r8 + rdx*8 + 0x14]
lea rcx, section..data
lea rsi, [rax + rcx]
add rsi, 0x404
add rbx, r14
jmp 0x180001e24
add r10, 0xffffffffffffffff
add rsi, 1
add rbx, 1
test r10, r10
je 0x180001e8e
mov al, byte [rsi]
mov byte [rbx], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001e80
test edx, edx
je 0x180001e80
cmp ecx, 0xa
jl 0x180001e5a
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f75
movzx eax, byte [rsi]
mov byte [rbx], al
cmp dword [0x180020a74], 0xa
jl 0x180001e24
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001e24
movzx eax, byte [rsi]
mov byte [rbx], al
jmp 0x180001e5a
cmp ecx, 0xa
jl 0x180001e13
test edx, edx
je 0x180001e13
jmp 0x180001f79
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea edi, [rdx - 1]
imul edi, edx
cmp ebx, 0xa
jl 0x180001db1
mov esi, edi
and esi, 1
je 0x180001db1
cmp ecx, 0xa
jl 0x180001ec8
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f7d
lea rdx, [r9 + r9*4]
mov r10d, dword [r8 + rdx*8 + 0x10]
test r10, r10
je 0x180001dcc
mov ebx, dword [r8 + rdx*8 + 0xc]
mov eax, dword [r8 + rdx*8 + 0x14]
lea rcx, section..data
lea rsi, [rax + rcx]
add rsi, 0x404
add rbx, r14
jmp 0x180001f10
add r10, 0xffffffffffffffff
add rsi, 1
add rbx, 1
test r10, r10
je 0x180001dcc
mov al, byte [rsi]
mov byte [rbx], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001f68
test edx, edx
je 0x180001f68
cmp ecx, 0xa
jl 0x180001f42
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f77
movzx eax, byte [rsi]
mov byte [rbx], al
cmp dword [0x180020a74], 0xa
jl 0x180001f10
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001f10
movzx eax, byte [rsi]
mov byte [rbx], al
jmp 0x180001f42
cmp ecx, 0xa
jl 0x180001efb
test edx, edx
je 0x180001efb
jmp 0x180001f71
jmp 0x180001f73
jmp 0x180001f75
jmp 0x180001f77
jmp 0x180001f79
jmp 0x180001f7b
jmp 0x180001f7d
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx + 0xb0]
cmp dword [r14 + rcx], 0
je 0x1800020f8
add rcx, r14
mov rdi, qword [rbp - 8]
mov rsi, qword [rdi + 0x30]
mov r12, r14
sub r12, rsi
movabs r8, 0x1fffffff8
mov r9, rcx
test al, 1
jne 0x180001fee
jmp 0x1800020f6
mov edi, dword [r9 + 4]
lea rcx, [r9 + rdi]
lea eax, [rdx - 1]
imul eax, edx
test al, 1
sete r10b
cmp ebx, 0xa
setl al
or al, r10b
cmp dword [r9 + rdi], 0
mov r9, rcx
je 0x1800020f8
test al, 1
je 0x1800020f6
mov eax, dword [r9 + 4]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp rax, 7
jbe 0x1800020df
cmp ebx, 0xa
jl 0x180002012
test esi, esi
jne 0x1800020f2
add rax, r8
shr rax, 1
mov r10d, eax
xor r11d, r11d
cmp r11, r10
je 0x1800020df
movzx edi, word [r9 + r11*2 + 8]
mov esi, edi
shr esi, 0xc
mov eax, edi
and eax, 0xfff
cmp edi, 0xa000
jae 0x18000209a
cmp esi, 3
jne 0x1800020b6
mov edx, dword [rcx]
lea rdx, [r14 + rdx*4]
add dword [rdx + rax*4], r12d
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800020b6
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
je 0x1800020b6
lea rax, [r14 + rax*4]
mov edx, dword [rcx]
add dword [rax + rdx*4], r12d
mov edx, dword [rcx]
add dword [rax + rdx*4], r12d
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800020b6
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180002070
jmp 0x1800020b6
cmp esi, 0xa
jne 0x1800020b6
mov edx, dword [rcx]
mov eax, eax
add rax, r14
add qword [rdx + rax], r12
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x1800020c8
test esi, esi
jne 0x1800020f4
add r11, 1
cmp ebx, 0xa
jl 0x18000201e
test esi, esi
je 0x18000201e
jmp 0x1800020f2
cmp ebx, 0xa
jl 0x180001fbb
test esi, esi
je 0x180001fbb
jmp 0x1800020f0
jmp 0x1800020f2
jmp 0x1800020f4
jmp 0x1800020f6
test al, 1
je 0x18000210e
cmp ebx, 0xa
jl 0x180002110
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180002110
jmp 0x18000210c
jmp 0x18000210e
lea rax, [r14 + 2]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov r13d, dword [rax + 0xc]
test r13, r13
je 0x180002440
add r13, r14
sub rsp, 0x20
jmp 0x180002158
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
call r9
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002186
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002432
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800021b5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002434
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov ebx, dword [rsi]
add rbx, r9
mov rax, r15
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x1800021e6
add rax, 1
add rbx, 1
cmp dl, cl
je 0x1800021d0
cmp dl, cl
je 0x1800021f4
add rsi, 4
add r10, 2
jmp 0x1800021c8
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
call r9
add rsp, 0x20
mov rdi, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800022da
test edx, edx
je 0x1800022da
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002268
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002436
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002297
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002438
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov ebx, dword [rsi]
add rbx, r9
mov rax, r15
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x1800022c8
add rax, 1
add rbx, 1
cmp dl, cl
je 0x1800022b2
cmp dl, cl
je 0x180002143
add rsi, 4
add r10, 2
jmp 0x1800022aa
cmp ecx, 0xa
jl 0x1800022e7
test edx, edx
jne 0x18000243a
mov rdx, qword [rbp - 0x20]
mov r13d, dword [rdx]
mov edx, dword [rdx + 0x10]
add r13, r14
add rdx, r14
mov qword [rbp - 0x10], rdx
mov rdx, qword [r13]
test rdx, rdx
je 0x180002410
mov rax, qword [rbp - 0x28]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.1800024c0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000234c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000243c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000237b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000243e
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x1800023ad
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180002397
cmp bl, cl
je 0x1800023bb
add rdx, 4
add r10, 2
jmp 0x18000238e
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
add r13, 8
add rcx, 8
mov qword [rbp - 0x10], rcx
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800022fb
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800022fb
jmp 0x18000243a
add qword [rbp - 0x20], 0x14
cmp ecx, 0xa
jl 0x180002129
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002129
jmp 0x18000210c
jmp 0x180002432
jmp 0x180002434
jmp 0x180002436
jmp 0x180002438
jmp 0x18000243a
jmp 0x18000243c
jmp 0x18000243e
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800024ac
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800024ac
mov rsi, qword [rbp - 8]
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800024ac
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002472
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret