Function at 0x180001070
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 [0x180020a64], 0xa
jl 0x1800010a2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010a2
nop
jmp 0x1800010a0
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp dword [0x180020a6c], 0xa
jl 0x1800010e2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010e2
nop dword [rax]
jmp 0x1800010e0
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 [0x180020a70]
mov ebx, dword [0x180020a6c]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x18000113e
test esi, esi
je 0x18000113e
mov byte [rdi], cl
cmp dword [0x180020a6c], 0xa
jl 0x180001100
mov edx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001120
jmp 0x180001100
cmp ebx, 0xa
jl 0x18000114b
test esi, esi
jne 0x180001250
add rdi, 1
add rax, 1
sub r11, 1
jb 0x18000115d
mov cl, byte [rax]
jmp 0x180001100
cmp dword [0x180020a64], 0xa
jl 0x180001272
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001272
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x1800011a3
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180001270
mov r9d, 3
mov rcx, r8
mov dl, byte [r8]
nop
mov byte [rax], dl
mov ebx, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x1800011ee
test esi, esi
je 0x1800011ee
mov byte [rax], dl
cmp dword [0x180020a6c], 0xa
jl 0x1800011b0
mov ebx, dword [0x180020a70]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x1800011d0
jmp 0x1800011b0
cmp edi, 0xa
jl 0x1800011f7
test esi, esi
jne 0x180001260
add rax, 1
add rcx, 1
sub r9, 1
jb 0x180001209
mov dl, byte [rcx]
jmp 0x1800011b0
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 0x1800010e9
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x1800010e9
jmp 0x1800010e0
jmp 0x180001250
jmp 0x180001260
jmp 0x180001270
mov r12d, dword [r10]
test r12, r12
je 0x180001390
xor edi, edi
cmp r12d, 0x10
jb 0x180001362
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x180001362
mov edi, r12d
and edi, 0xfffffff0
lea rcx, [rdi - 0x10]
mov rax, rcx
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rcx, rcx
je 0x180001329
mov rcx, r8
sub rcx, rax
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 eax, esi
and eax, 0x3e0
movups xmm1, xmmword [rax + 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 eax, [rsi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r10 + 0x414], xmm1
add rsi, 0x20
add rcx, 2
jne 0x1800012d2
jmp 0x18000132b
xor esi, esi
test r8, r8
je 0x18000135d
mov eax, esi
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rsi + rcx + 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 + rcx + 0x404], xmm1
cmp rdi, r12
je 0x180001390
lea rax, section..data
mov ecx, edi
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [rdi + rax + 0x404]
xor cl, 0xc
mov byte [rdi + rax + 0x404], cl
add rdi, 1
cmp rdi, r12
jb 0x180001369
cmp ebx, 0xa
jl 0x1800013a2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800013a2
jmp 0x1800013a0
lea r14, section..data
lea r8, [r12 + r14]
add r8, 0x404
lea r10, [r12 + r14]
add r10, 0x404
mov r11d, 3
mov rax, r9
mov rcx, r10
mov bl, byte [r10]
nop
mov byte [rax], bl
mov esi, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp edx, 0xa
jl 0x18000140e
test edi, edi
je 0x18000140e
mov byte [rax], bl
cmp dword [0x180020a6c], 0xa
jl 0x1800013d0
mov edx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x1800013f0
jmp 0x1800013d0
cmp edx, 0xa
jl 0x18000141b
test edi, edi
jne 0x180001500
add rax, 1
add rcx, 1
sub r11, 1
jb 0x18000142d
mov bl, byte [rcx]
jmp 0x1800013d0
cmp dword [0x180020a64], 0xa
jl 0x180001514
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001514
cmp edx, 0xa
jl 0x180001463
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001512
mov r11d, 3
mov rax, r9
mov rcx, r8
mov bl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], bl
mov edx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp esi, 0xa
jl 0x1800014be
test edi, edi
je 0x1800014be
mov byte [rax], bl
cmp dword [0x180020a6c], 0xa
jl 0x180001480
mov edx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x1800014a0
jmp 0x180001480
cmp esi, 0xa
jl 0x1800014c7
test edi, edi
jne 0x180001510
add rax, 1
add rcx, 1
sub r11, 1
jb 0x1800014d9
mov bl, byte [rcx]
jmp 0x180001480
cmp esi, 0xa
jl 0x1800013bf
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800013bf
jmp 0x1800013a0
jmp 0x180001500
jmp 0x180001510
jmp 0x180001512
lea r13, [r10 + 4]
mov r9d, dword [r9]
test r9, r9
je 0x18000166a
xor eax, eax
cmp r9d, 0x20
jb 0x180001645
lea rcx, [r9 - 1]
cmp rcx, 0x400
jae 0x180001645
lea rcx, [r9 + r14]
add rcx, 4
cmp r13, rcx
jae 0x180001569
lea rcx, [r10 + r9]
add rcx, 4
lea rdx, str.qmGnttRptXFfHJRfMdtSXnyjomDYlOixIAsTCMzSIyIKauAXKFzhBCdglFIkJGDvuPQJdRCnHyoncCdYxLkqZQoeamDQdLfAIgrjeJUzFClTXsEsgGuRaUhfKGTioORnCYUpXyJjrITiZbbZJwYfAOwtKFiGZzasaBqvevThvdBKGTdVEAsacxOtrUBzWolnVufuhqgWUQGcXpgUhEZSObWKRwizAcqDZXHzreWOGrcEhnyXaMpUAJAMOehqoqSGtuXaDIzEytgReRcmoTOsKIVBGaIFtIMyEqxDTgqEdaRdoEFHVHuWyrKoQHUzHnEReeIVtdjezffJSPjOOHimcdqyeTbadRpGgteCXJCFLvSxfIcvFlfspTunfOLillAcvnLgZPPYhadDwGJBEDkSnQTzVrowRRIVCdiffJuDXlloveZSLMCidbvmysukRFyMzAWYbTlfpPqJndaMwDKOBnAMFYptJHsrifdgGprwLOSVoIcTdMKBgoSacEpLfdehMkJXvfEgIZSYacMyoOJSszvjVCIetdePXXuOBwgXvjsTAYZFJyMxbSYgIwJgwxHIPUoSQcQUjrXDfMTxODZiYUBWOjkdTEqqjrawGOpfbQIaIQqYWadhiKtUYcbbvWRBzwkleZyZxphZOhbLuFGeoccXXgZdwYnoukcQVJCGrQvrdnTdSdTDfFtRoSyOwrWKAvIQvwzqXHIsvtEbrRXkCPWUvysfeKvkrnRohtxavbAlMIhqQkdYkABMKcBbhrDTMiKjKLxwqteGKxOUeqYSLOrJvZvvBdzYaYazVnLzdddJceXssjroaHjlGBuhSQDZqPafGtPmZKiaFBXDOAYGbqlaVnXbPDYhkdXtwzubpQadyRPDqbgMVaszgbAoludPFeegchESgitVQePguEDuWAoogDDGgYDBtZLEpyJuWUYwVZZgPaEqYOVIdwfnFyUIOIjZGhmEgXccKPknHUaLFmYjCzgPZnMmSxnalUGDzHSeSrCUeIimBYVBdxGMHIh
cmp rcx, rdx
jbe 0x180001569
xor eax, eax
jmp 0x180001645
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 0x180001604
lea rdi, [r12 + r14]
add rdi, 0x438
mov rbx, r8
sub rbx, rcx
xor esi, esi
mov ecx, esi
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r14 + 4]
movups xmm1, xmmword [rcx + 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 ecx, [rsi + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000159d
jmp 0x180001606
xor esi, esi
test r8, r8
je 0x180001640
mov ecx, esi
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r14 + 4]
movups xmm1, xmmword [rcx + r14 + 0x14]
mov rcx, r13
movups xmm2, xmmword [r13 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rsi], xmm2
movups xmmword [r13 + rsi + 0x10], xmm0
cmp rax, r9
je 0x18000166a
lea rcx, [r12 + r14]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r14 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r9
jb 0x180001650
cmp dword [0x180020a74], 0xa
jl 0x180001686
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001686
jmp 0x180001684
movsxd rax, dword [0x180004440]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000168d
add rax, r14
add rax, 0x404
mov qword [rbp], rax
mov qword [rbp - 8], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800016a9
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016b7
mov qword [rbp - 0x28], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016c5
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800016d2
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800016de
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002370
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001717
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001717
jmp 0x180001715
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001744
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001744
jmp 0x180001742
add r8, 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 rsi, r13
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001776
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001760
cmp cl, al
je 0x180001784
add r11, 4
add r10, 2
jmp 0x180001757
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 [0x180020a7c], 0xa
jl 0x1800017bc
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800017bc
jmp 0x1800017ba
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800017e9
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800017e9
jmp 0x1800017e7
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, r15
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x18000181a
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180001804
cmp bl, cl
je 0x180001828
add rdx, 4
add r9, 2
jmp 0x1800017fc
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 - 8]
call fcn.180002370
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000188a
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000188a
jmp 0x180001888
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800018b7
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800018b7
jmp 0x1800018b5
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rdi, [r12 + r14]
add rdi, 0x408
mov eax, dword [rdx]
add rax, r10
xor esi, esi
movzx ebx, byte [rdi + rsi]
movzx ecx, byte [rax + rsi]
test bl, bl
je 0x1800018f0
add rsi, 1
cmp bl, cl
je 0x1800018dc
cmp bl, cl
je 0x1800018fe
add rdx, 4
add r9, 2
jmp 0x1800018d5
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 r12, rax
mov ebx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
cmp r8d, 0xa
jl 0x18000194c
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x18000194c
jmp 0x18000194a
mov rax, qword [rbp]
cmp word [rax + 6], 0
je 0x180001ca5
mov rax, qword [rbp]
lea r15, [rax + 0x108]
xor r10d, r10d
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp r8d, 0xa
jl 0x180001b09
test eax, eax
je 0x180001b09
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea rax, [r10 + r10*4]
lea rsi, [r15 + rax*8]
add rsi, 0xc
lea r11, [r15 + rax*8]
add r11, 0x10
lea r9, [r15 + rax*8]
add r9, 0x14
cmp ecx, 0xa
jl 0x1800019c0
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ce2
mov r8d, dword [r11]
test r8, r8
je 0x180001a44
mov eax, dword [r9]
lea rbx, [rax + r14]
add rbx, 0x404
mov eax, dword [rsi]
add rax, r12
jmp 0x1800019ee
add r8, 0xffffffffffffffff
add rax, 1
add rbx, 1
test r8, r8
je 0x180001a44
mov cl, byte [rbx]
mov byte [rax], cl
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ecx, 0xa
jl 0x180001a36
test edx, edx
je 0x180001a36
movzx ecx, byte [rbx]
mov byte [rax], cl
movzx ecx, byte [rbx]
mov byte [rax], cl
cmp dword [0x180020a6c], 0xa
jl 0x1800019ee
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a10
jmp 0x1800019ee
cmp ecx, 0xa
jl 0x1800019dd
test edx, edx
je 0x1800019dd
jmp 0x180001cda
cmp ecx, 0xa
jl 0x180001a58
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ce4
mov edx, dword [r11]
test rdx, rdx
je 0x180001ae5
mov eax, dword [r9]
lea rbx, [rax + r14]
add rbx, 0x404
mov eax, dword [rsi]
add rax, r12
jmp 0x180001a8a
add rdx, 0xffffffffffffffff
add rax, 1
add rbx, 1
test rdx, rdx
je 0x180001ae5
mov cl, byte [rbx]
mov byte [rax], cl
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea r8d, [rdi - 1]
imul r8d, edi
and r8d, 1
cmp ecx, 0xa
jl 0x180001ad6
test r8d, r8d
je 0x180001ad6
movzx ecx, byte [rbx]
mov byte [rax], cl
movzx ecx, byte [rbx]
mov byte [rax], cl
cmp dword [0x180020a6c], 0xa
jl 0x180001a8a
mov ecx, dword [0x180020a70]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
jne 0x180001ab0
jmp 0x180001a8a
cmp ecx, 0xa
jl 0x180001a79
test r8d, r8d
je 0x180001a79
jmp 0x180001cdc
mov edx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp r8d, 0xa
jl 0x180001b09
test eax, eax
jne 0x1800019ac
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp r8d, 0xa
jl 0x180001b23
test eax, eax
jne 0x180001bea
cmp ecx, 0xa
jl 0x180001b37
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ce6
lea rax, [r10 + r10*4]
mov r8d, dword [r15 + rax*8 + 0x10]
test r8, r8
je 0x180001bc4
mov ebx, dword [r15 + rax*8 + 0xc]
mov eax, dword [r15 + rax*8 + 0x14]
add rax, r14
add rax, 0x404
add rbx, r12
jmp 0x180001b6e
add r8, 0xffffffffffffffff
add rbx, 1
add rax, 1
test r8, r8
je 0x180001bc4
mov cl, byte [rax]
mov byte [rbx], cl
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ecx, 0xa
jl 0x180001bb6
test edx, edx
je 0x180001bb6
movzx ecx, byte [rax]
mov byte [rbx], cl
movzx ecx, byte [rax]
mov byte [rbx], cl
cmp dword [0x180020a6c], 0xa
jl 0x180001b6e
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001b90
jmp 0x180001b6e
cmp ecx, 0xa
jl 0x180001b5d
test edx, edx
je 0x180001b5d
jmp 0x180001cde
mov ebx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
cmp r8d, 0xa
jl 0x180001c90
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001c90
cmp ecx, 0xa
jl 0x180001bfe
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001ce8
lea rax, [r10 + r10*4]
mov r8d, dword [r15 + rax*8 + 0x10]
test r8, r8
je 0x180001b23
mov ebx, dword [r15 + rax*8 + 0xc]
mov eax, dword [r15 + rax*8 + 0x14]
add rax, r14
add rax, 0x404
add rbx, r12
jmp 0x180001c3d
add r8, 0xffffffffffffffff
add rbx, 1
add rax, 1
test r8, r8
je 0x180001b23
mov cl, byte [rax]
mov byte [rbx], cl
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ecx, 0xa
jl 0x180001c85
test edx, edx
je 0x180001c85
movzx ecx, byte [rax]
mov byte [rbx], cl
movzx ecx, byte [rax]
mov byte [rbx], cl
cmp dword [0x180020a6c], 0xa
jl 0x180001c3d
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001c5f
jmp 0x180001c3d
cmp ecx, 0xa
jl 0x180001c28
test edx, edx
je 0x180001c28
jmp 0x180001ce0
add r10, 1
mov rax, qword [rbp]
movzx eax, word [rax + 6]
cmp r10, rax
jb 0x180001969
mov rax, qword [rbp]
mov ecx, dword [rax + 0xb0]
cmp dword [r12 + rcx], 0
je 0x180001ec6
add rcx, r12
mov rax, qword [rbp]
mov rdx, qword [rax + 0x30]
mov rax, r12
sub rax, rdx
movabs r15, 0x1fffffff8
mov r10, rcx
jmp 0x180001cf6
jmp 0x180001cda
jmp 0x180001cdc
jmp 0x180001cde
jmp 0x180001ce0
jmp 0x180001ce2
jmp 0x180001ce4
jmp 0x180001ce6
jmp 0x180001ce8
cmp dword [rcx], 0
mov r10, rcx
je 0x180001ec6
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
cmp r8d, 0xa
jl 0x180001d0d
test edi, edi
jne 0x180001ec4
mov esi, dword [r10 + 4]
cmp rsi, 8
jb 0x180001e8f
cmp r8d, 0xa
jl 0x180001d29
test edi, edi
jne 0x180001ebe
add rsi, r15
shr rsi, 1
mov r9d, esi
xor r14d, r14d
cmp r14, r9
je 0x180001e8f
movzx edi, word [r10 + r14*2 + 8]
mov edx, edi
shr edx, 0xc
mov esi, edi
and esi, 0xfff
cmp edi, 0xa000
jae 0x180001dc6
cmp edx, 3
jne 0x180001e72
mov edx, dword [rcx]
lea rdx, [r12 + rdx*4]
add dword [rdx + rsi*4], eax
mov ebx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
cmp r8d, 0xa
jl 0x180001e72
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x180001e72
lea rdi, [r12 + rsi*4]
mov edx, dword [rcx]
add dword [rdi + rdx*4], eax
mov edx, dword [rcx]
add dword [rdi + rdx*4], eax
mov ebx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
cmp r8d, 0xa
jl 0x180001e72
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x180001d95
jmp 0x180001e72
cmp edx, 0xa
jne 0x180001e72
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp r8d, 0xa
jl 0x180001de6
test edx, edx
jne 0x180001ec2
mov r11d, esi
cmp r8d, 0xa
jl 0x180001e10
test edx, edx
jne 0x180001e3a
jmp 0x180001e10
add r14, 1
cmp r8d, 0xa
jl 0x180001d35
test edi, edi
je 0x180001d35
jmp 0x180001ebe
mov edx, dword [rcx]
mov rbx, r11
add rbx, r12
add qword [rdx + rbx], rax
mov ebx, dword [0x180020a68]
mov r8d, dword [0x180020a64]
cmp r8d, 0xa
jl 0x180001e72
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x180001e72
lea rdx, [r11 + r12]
mov ebx, dword [rcx]
add qword [rbx + rdx], rax
mov ebx, dword [rcx]
add qword [rbx + rdx], rax
cmp dword [0x180020a64], 0xa
jl 0x180001e10
mov ebx, dword [0x180020a68]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x180001e10
mov ebx, dword [rcx]
add qword [rdx + rbx], rax
mov ebx, dword [rcx]
add qword [rdx + rbx], rax
jmp 0x180001e4a
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
cmp r8d, 0xa
jl 0x180001df5
test edi, edi
je 0x180001df5
jmp 0x180001ec0
lea ecx, [rbx - 1]
imul ecx, ebx
test cl, 1
sete cl
cmp r8d, 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x180001eb8
mov ecx, dword [r10 + 4]
add rcx, r10
test dl, dl
jne 0x180001cea
test dl, dl
je 0x180001eb8
jmp 0x180001ea9
jmp 0x180001ebe
jmp 0x180001ec0
jmp 0x180001ec2
jmp 0x180001ec4
cmp r8d, 0xa
jl 0x180001ed9
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001ed9
jmp 0x180001ed7
lea rax, [r12 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r12
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x1800022eb
add r14, r12
sub rsp, 0x20
jmp 0x180001f21
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp - 8]
call fcn.180002370
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001f4f
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022d9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001f7e
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022db
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r13
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x180001faf
add rsi, 1
add rbx, 1
cmp al, dl
je 0x180001f99
cmp al, dl
je 0x180001fbd
add rdi, 4
add rcx, 2
jmp 0x180001f91
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800020a2
test edx, edx
je 0x1800020a2
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002370
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002030
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022dd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000205f
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022df
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r13
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x180002090
add rsi, 1
add rbx, 1
cmp al, dl
je 0x18000207a
cmp al, dl
je 0x180001f0d
add rdi, 4
add rcx, 2
jmp 0x180002072
cmp ecx, 0xa
jl 0x1800020af
test edx, edx
jne 0x1800022e9
mov rdx, qword [rbp - 0x10]
mov ebx, dword [rdx]
mov edx, dword [rdx + 0x10]
add rbx, r12
mov qword [rbp - 0x20], rbx
add rdx, r12
mov qword [rbp - 0x18], rdx
mov rdx, qword [rbp - 0x20]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800022b7
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
jmp 0x18000210c
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002370
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000213e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022e1
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000216d
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022e3
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov edi, dword [r9 + rax + 0x24]
add rdx, r9
add rdi, r9
mov eax, dword [rdx]
add rax, r9
mov rsi, qword [rbp - 0x28]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x18000219f
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002189
cmp bl, cl
je 0x1800021ad
add rdx, 4
add rdi, 2
jmp 0x180002180
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000229a
test edx, edx
je 0x18000229a
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002370
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002227
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022e5
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002256
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022e7
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov edi, dword [r9 + rax + 0x24]
add rdx, r9
add rdi, r9
mov eax, dword [rdx]
add rax, r9
mov rsi, qword [rbp - 0x28]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x180002288
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002272
cmp bl, cl
je 0x1800020ea
add rdx, 4
add rdi, 2
jmp 0x180002269
add qword [rbp - 0x20], 8
add qword [rbp - 0x18], 8
cmp ecx, 0xa
jl 0x1800020c6
test edx, edx
je 0x1800020c6
jmp 0x1800022e9
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x180001ef3
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ef3
jmp 0x180001ed7
jmp 0x1800022d9
jmp 0x1800022db
jmp 0x1800022dd
jmp 0x1800022df
jmp 0x1800022e1
jmp 0x1800022e3
jmp 0x1800022e5
jmp 0x1800022e7
jmp 0x1800022e9
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a64], 0xa
jl 0x180002357
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002357
mov rsi, qword [rbp]
mov eax, dword [rsi + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a64], 0xa
jl 0x180002357
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000231d
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret