Function at 0x180001090
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, 0x68
cmp dword [0x180020a6c], 0xa
jl 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop word [rax + rax]
jmp 0x1800010c0
mov dl, byte [section..data]
mov byte [rsp + 0x34], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001118
test eax, eax
je 0x180001118
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x180001110
mov byte [rsp + 0x34], dl
cmp ecx, 0xa
jl 0x180001125
test eax, eax
jne 0x180001250
mov dl, byte [0x180004001]
mov byte [rsp + 0x35], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x180001178
test eax, eax
je 0x180001178
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x180001170
mov byte [rsp + 0x35], dl
cmp ecx, 0xa
jl 0x180001185
test eax, eax
jne 0x180001250
mov dl, byte [0x180004002]
mov byte [rsp + 0x36], dl
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1800011d8
test eax, eax
je 0x1800011d8
mov ebp, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
nop
test bl, bl
je 0x1800011d0
mov byte [rsp + 0x36], dl
cmp ecx, 0xa
jl 0x1800011e1
test eax, eax
jne 0x180001250
mov bl, byte [0x180004003]
mov byte [rsp + 0x37], bl
mov esi, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
cmp edi, 0xa
jl 0x180001238
test edx, edx
je 0x180001238
mov esi, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
sete al
cmp edi, 0xa
setl cl
or cl, al
nop dword [rax]
test cl, cl
je 0x180001230
mov byte [rsp + 0x37], bl
cmp edi, 0xa
jl 0x180001252
test edx, edx
je 0x180001252
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180001250
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x180020a78], 0xa
setl dl
or dl, al
cmp dl, 1
jne 0x1800012c0
mov ebp, dword [rsp + 0x34]
xor ebx, ebx
lea r15, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rbp, rbx
je 0x1800012c2
mov ecx, ebx
and ecx, 0x3ff
movzx ecx, byte [rcx + r15 + 4]
xor cl, byte [rbx + r15 + 0x404]
xor cl, 0xc
mov byte [rbx + r15 + 0x404], cl
add rbx, 1
test dl, dl
jne 0x180001290
nop
jmp 0x1800012c0
cmp edi, 0xa
jl 0x1800012e2
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x1800012e2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800012e0
lea r11, [r15 + rbp]
add r11, 0x404
mov r9d, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea r10d, [r9 - 1]
imul r10d, r9d
and r10d, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
mov r8d, dword [0x180020a74]
lea edx, [r8 - 1]
imul edx, r8d
test dl, 1
sete dl
cmp dword [0x180020a78], 0xa
setl r8b
or r8b, dl
cmp edi, 0xa
jl 0x18000134a
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
jne 0x180001490
mov al, byte [r11]
mov byte [rsp + 0x30], al
test bl, bl
jne 0x18000135d
test bl, bl
je 0x180001355
mov byte [rsp + 0x30], al
cmp ecx, 0xa
jl 0x18000136b
test r10d, r10d
jne 0x180001490
mov al, byte [r11 + 1]
mov byte [rsp + 0x31], al
test bl, bl
jne 0x18000137f
test bl, bl
je 0x180001377
mov byte [rsp + 0x31], al
cmp ecx, 0xa
jl 0x18000138d
test r10d, r10d
jne 0x180001490
mov al, byte [r11 + 2]
mov byte [rsp + 0x32], al
test bl, bl
jne 0x1800013a1
test bl, bl
je 0x180001399
mov byte [rsp + 0x32], al
cmp ecx, 0xa
jl 0x1800013af
test r10d, r10d
jne 0x180001490
mov al, byte [r11 + 3]
mov byte [rsp + 0x33], al
test bl, bl
jne 0x1800013c3
test bl, bl
je 0x1800013bb
mov byte [rsp + 0x33], al
cmp ecx, 0xa
jl 0x1800013d1
test r10d, r10d
jne 0x180001490
test r8b, r8b
jne 0x1800014b2
cmp ecx, 0xa
jl 0x1800013e8
test r10d, r10d
jne 0x1800014b0
mov al, byte [r11]
mov byte [rsp + 0x30], al
test bl, bl
jne 0x1800013fb
test bl, bl
je 0x1800013f3
mov byte [rsp + 0x30], al
cmp ecx, 0xa
jl 0x180001409
test r10d, r10d
jne 0x1800014a0
mov al, byte [r11 + 1]
mov byte [rsp + 0x31], al
test bl, bl
jne 0x18000141d
test bl, bl
je 0x180001415
mov byte [rsp + 0x31], al
cmp ecx, 0xa
jl 0x180001427
test r10d, r10d
jne 0x1800014a0
mov al, byte [r11 + 2]
mov byte [rsp + 0x32], al
test bl, bl
jne 0x18000143b
test bl, bl
je 0x180001433
mov byte [rsp + 0x32], al
cmp ecx, 0xa
jl 0x180001445
test r10d, r10d
jne 0x1800014a0
mov al, byte [r11 + 3]
mov byte [rsp + 0x33], al
test bl, bl
jne 0x180001459
test bl, bl
je 0x180001451
mov byte [rsp + 0x33], al
cmp ecx, 0xa
jl 0x180001463
test r10d, r10d
jne 0x1800014a0
mov edi, ecx
mov esi, r9d
cmp ecx, 0xa
jl 0x180001336
mov edi, ecx
mov esi, r9d
test r10d, r10d
je 0x180001336
jmp 0x1800012e0
jmp 0x180001490
jmp 0x1800014a0
jmp 0x1800014b0
add r11, 4
mov r9d, dword [rsp + 0x30]
test r9, r9
mov qword [rsp + 0x40], r11
je 0x180001620
xor ecx, ecx
cmp r9d, 0x20
jb 0x1800015fc
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800015fc
lea rcx, [r15 + rbp]
add rcx, 0x408
lea rdx, [r9 + r15]
add rdx, 4
cmp rcx, rdx
jae 0x18000151f
lea rcx, [r9 + rbp]
add rcx, r15
add rcx, 0x408
lea rdx, str.EfaADPBLXETMtDXKYsyEcPgbXDAuwwHjwzZqDiBnAHFgJdoiRGFBQqLYariCXQStUXQBSjHKAPeHOLZYyYwyTaoxzMGiErqWZVmgHiHtmmgRKyEQdyDhlxdhCzVMVapfZLqbOZvOkHxjbQiewOAMrUzWcIUrwvJZsJVlslULddEmKVqyInbBHKecymMzgmuSmUlmdEdRLTveLCoXbPnlZWRvGfAOuVWSbtRByvbUSWdpwJULYDhFKlvQyZBOgVunoDcJhKzciuDYLvzpiKzactbhGcZegtYnMogkDdiGmVPjsXcvzMthOsXLarSSjgTkvkcHKnvpmVsEFgfdcCntBldeFnYiAExmywiFYKfyGRpRJYnCdwuBYKRxnJBJSrfpQxIHKxOqaUwbmhLXdBTyIkmwuPyDnDQcyheVLiXliPUTUuPakxgcjJWqKjiBTjgWpMKypknXIAHdkiMsuguFZSCKCsjLmgJjmvLZIzYvmDcokBDrLWnEbwtWBKDtqCmMZmgFxjSUQnkOSJmbyDFTktnfwzelfMBUYfLArzorzPdmdasRIkkUtMeflvSyyFxFnsIsSSlBHQxwMWDtZrEerPSEgySuOLZIIKwsCmjzqOyGmffErVivsqGYyisPrOfHKMSlWtQcMeegPqqgRJhSiRfvVpyuvEYQeBajuCOKsCCIHxDVOteStZxskfHDlIlMJUTZTJRrqSZFBfTijdQYHbbbVlHevFGPIFOsIXrAazpOcvlsOlEjbtIuiGeQGlCBqUnhfzleWZpZRmPlYlvBCETIWntdwSvsjOsdWOxJUiAfUbOOuqifjtiUOtMMTdJuyJoZRmijQMvAOwxmTGavtBiqCIpkuCxCFbgjZDyMVTkFvIljvLYCaddYMLxSxGuYMysAZCgPAdzOlHyvpBtGTFhIFZXgXOlejIlSWiwAJKIxcWMXVsvOQTLyCqqvJclgzhpBOWorMGwcmhJHWVeECPqLkYZjymQztnzZcejziaUdCGuGIoKKouTAUCiTelw
cmp rcx, rdx
jbe 0x18000151f
xor ecx, ecx
jmp 0x1800015fc
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 0x1800015ba
lea rdi, [r15 + rbp]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor eax, eax
mov edx, eax
and edx, 0x3c0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 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 + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rax - 0x10], xmm0
movups xmmword [rdi + rax], xmm1
add rax, 0x40
add rbx, 2
jne 0x180001553
jmp 0x1800015bc
xor eax, eax
test r8, r8
je 0x1800015f2
mov edx, eax
and edx, 0x3e0
movups xmm0, xmmword [rdx + r15 + 4]
movups xmm1, xmmword [rdx + r15 + 0x14]
mov rdx, qword [rsp + 0x40]
movups xmm2, xmmword [rdx + rax]
xorps xmm2, xmm0
movups xmm0, xmmword [rdx + rax + 0x10]
xorps xmm0, xmm1
movups xmmword [rdx + rax], xmm2
movups xmmword [rdx + rax + 0x10], xmm0
cmp rcx, r9
mov r11, qword [rsp + 0x40]
je 0x180001620
lea rdx, [r15 + rbp]
add rdx, 0x408
mov eax, ecx
and eax, 0x3ff
movzx eax, byte [rax + r15 + 4]
xor byte [rdx + rcx], al
add rcx, 1
cmp rcx, r9
jb 0x180001607
cmp dword [0x180020a7c], 0xa
jl 0x180001642
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001642
nop word [rax + rax]
jmp 0x180001640
add rbp, 0x408
movsxd rax, dword [0x180004440]
mov rdi, r11
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001653
add rax, r15
add rax, 0x404
mov qword [rsp + 0x38], rax
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000166d
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000167c
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001688
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001696
mov rsi, r14
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800016a3
mov rcx, rdi
call fcn.180002240
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016d5
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c0c
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x48], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000170e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c0e
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, r12
nop dword [rax]
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001746
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001730
cmp al, bl
je 0x180001754
add rdi, 4
add r10, 2
jmp 0x180001721
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001786
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c10
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800017b5
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001c12
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, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x1800017e6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x1800017d0
cmp cl, dl
je 0x1800017f4
add rdi, 4
add r9, 2
jmp 0x1800017c8
movzx eax, word [r9]
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, rsi
mov r8, rsi
call r10
mov rcx, qword [rsp + 0x48]
call fcn.180002240
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x18000184d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c14
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000187c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c16
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 word cs:[rax + rax]
lea rcx, [rax + rbp]
movzx ebx, byte [r15 + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x1800018b9
add rax, 1
cmp bl, cl
je 0x1800018a0
cmp bl, cl
je 0x1800018c7
add rdx, 4
add r9, 2
jmp 0x18000188f
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x50]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
mov r13, rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001c26
test edx, edx
je 0x180001c26
movsxd r8, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rsp + 0x40]
mov rsi, rdx
jl 0x180001944
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rsi, rdx
and ecx, 1
jne 0x180001c18
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001944
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001950
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000195c
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001966
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001973
mov qword [rsp + 0x38], r8
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001984
mov rcx, rsi
call fcn.180002240
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800019b8
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c1a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019e7
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c1c
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 rcx, rbx
nop word cs:[rax + rax]
nop dword [rax]
movzx eax, byte [rcx]
movzx r12d, byte [rdx]
test al, al
je 0x180001a28
add rcx, 1
add rdx, 1
cmp al, r12b
je 0x180001a10
cmp al, r12b
je 0x180001a37
add r11, 4
add r10, 2
jmp 0x1800019fa
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, rdi
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a69
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c1e
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a98
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001c20
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 cs:[rax + rax]
nop dword [rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001ad6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001ac0
cmp cl, dl
je 0x180001ae4
add rdi, 4
add r9, 2
jmp 0x180001aab
movzx eax, word [r9]
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, r13
mov r8, r13
call r10
mov rcx, rsi
call fcn.180002240
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b3b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c22
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b6a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c24
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 word cs:[rax + rax]
nop
lea rcx, [rax + rbp]
movzx ebx, byte [r15 + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001ba9
add rax, 1
cmp bl, cl
je 0x180001b90
cmp bl, cl
je 0x180001bb7
add rdx, 4
add r9, 2
jmp 0x180001b7d
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + r15 + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a7c], 0xa
mov r11, qword [rsp + 0x40]
jl 0x180001649
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001649
jmp 0x180001640
jmp 0x180001c0c
jmp 0x180001c0e
jmp 0x180001c10
jmp 0x180001c12
jmp 0x180001c14
jmp 0x180001c16
jmp 0x180001c18
jmp 0x180001c1a
jmp 0x180001c1c
jmp 0x180001c1e
jmp 0x180001c20
jmp 0x180001c22
jmp 0x180001c24
cmp ecx, 0xa
jl 0x180001c31
test edx, edx
je 0x180001c31
jmp 0x180001c2f
mov rdx, qword [rsp + 0x38]
lea r8, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rsp + 0x38]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x180001d12
cmp dword [0x180020a6c], 0xa
jl 0x180001c70
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d0e
lea rdx, [r9 + r9*4]
mov eax, dword [r8 + rdx*8 + 0xc]
mov ecx, dword [r8 + rdx*8 + 0x10]
mov edx, dword [r8 + rdx*8 + 0x14]
lea rbx, [rdx + r15]
add rbx, 0x404
add rax, r13
sub rcx, 1
jb 0x180001cd4
movzx edx, byte [rbx]
mov byte [rax], dl
mov edi, dword [0x180020a70]
mov ebp, dword [0x180020a6c]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebp, 0xa
jl 0x180001cc1
test edx, edx
je 0x180001cc1
movzx edx, byte [rbx]
mov byte [rax], dl
jmp 0x180001c97
add rbx, 1
add rax, 1
cmp ebp, 0xa
jl 0x180001c91
test edx, edx
je 0x180001c91
jmp 0x180001d0c
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001cf2
test edx, edx
jne 0x180001d10
add r9, 1
cmp ecx, 0xa
jl 0x180001c40
test edx, edx
je 0x180001c40
jmp 0x180001c2f
jmp 0x180001d0c
jmp 0x180001d0e
jmp 0x180001d10
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rdx + 0x30]
mov rdx, r13
sub rdx, rbp
cmp ecx, 0xa
jl 0x180001d33
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001d33
jmp 0x180001d31
mov rbp, qword [rsp + 0x38]
mov ebp, dword [rbp + 0xb0]
add rbp, r13
movabs r8, 0x1fffffff8
cmp dword [rbp], 0
je 0x180001ebe
mov ebx, dword [rbp + 4]
cmp rbx, 8
jb 0x180001e77
cmp ecx, 0xa
jl 0x180001d76
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001eba
add rbx, r8
shr rbx, 1
mov r9d, ebx
xor r10d, r10d
cmp r10, r9
je 0x180001e77
movzx edi, word [rbp + r10*2 + 8]
mov ebx, edi
shr ebx, 0xc
mov esi, edi
and esi, 0xfff
cmp edi, 0xa000
jae 0x180001e13
cmp ebx, 3
jne 0x180001e4e
mov eax, dword [rbp]
lea rax, [rax*4]
add rax, r13
mov esi, esi
add dword [rax + rsi*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001e4e
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001e4e
lea rsi, [rsi*4]
add rsi, r13
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
mov eax, dword [rbp]
add dword [rsi + rax*4], edx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001e4e
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x180001de9
jmp 0x180001e4e
cmp ebx, 0xa
jne 0x180001e4e
mov eax, dword [rbp]
add rsi, r13
add qword [rax + rsi], rdx
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001e4e
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001e4e
mov eax, dword [rbp]
add qword [rsi + rax], rdx
mov eax, dword [rbp]
add qword [rsi + rax], rdx
jmp 0x180001e22
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001e60
test esi, esi
jne 0x180001ebc
add r10, 1
cmp ecx, 0xa
jl 0x180001d82
test esi, esi
je 0x180001d82
jmp 0x180001eba
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
sete r10b
cmp ecx, 0xa
setl bl
or bl, r10b
jne 0x180001e9c
xor esi, esi
test sil, 1
mov esi, ebx
je 0x180001e94
mov ebx, dword [rbp + 4]
add rbp, rbx
cmp ecx, 0xa
jl 0x180001d4b
and r9d, 1
je 0x180001d4b
jmp 0x180001d31
jmp 0x180001eba
jmp 0x180001ebc
mov rdx, qword [rsp + 0x38]
mov edi, dword [rdx + 0x90]
add rdi, r13
lea rdx, [r13 + 2]
mov qword [rsp + 0x60], rdx
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
je 0x180001fa1
mov r14d, dword [rdi + 0xc]
test al, al
je 0x180001fa1
test r14d, r14d
je 0x1800021d8
mov rcx, qword [rsp + 0x48]
call fcn.180002240
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f2f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021d4
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f5e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021d6
add r14, r13
add r8, r9
mov ebp, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbp, r9
add rcx, r9
mov esi, dword [rbp]
add rsi, r9
mov rax, r12
movzx ebx, byte [rax]
movzx edx, byte [rsi]
test bl, bl
je 0x180001f93
add rax, 1
add rsi, 1
cmp bl, dl
je 0x180001f7d
cmp bl, dl
je 0x180001faa
add rbp, 4
add rcx, 2
jmp 0x180001f74
test al, al
je 0x180001fa1
jmp 0x180001eef
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
call r9
mov qword [rsp + 0x40], rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180001fdf
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021d2
mov edx, dword [rdi]
mov r15d, dword [rdi + 0x10]
add r15, r13
add rdx, r13
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1800021c1
mov rax, qword [rsp + 0x60]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
jmp 0x18000202e
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call r9
mov qword [r15], rax
mov rcx, qword [rsp + 0x48]
call fcn.180002240
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002059
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021ca
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002088
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021cc
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rbp, qword [rsp + 0x58]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x1800020bc
add rbp, 1
add rsi, 1
cmp al, bl
je 0x1800020a5
cmp al, bl
je 0x1800020ca
add rdx, 4
add rcx, 2
jmp 0x18000209b
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, qword [rsp + 0x40]
mov rdx, r14
call r9
mov qword [r15], rax
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800021a4
test edx, edx
je 0x1800021a4
mov rcx, qword [rsp + 0x48]
call fcn.180002240
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002133
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021ce
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000215e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800021d0
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rbp, qword [rsp + 0x58]
movzx eax, byte [rbp]
movzx ebx, byte [rsi]
test al, al
je 0x180002192
add rbp, 1
add rsi, 1
cmp al, bl
je 0x18000217b
cmp al, bl
je 0x180002016
add rdx, 4
add rcx, 2
jmp 0x180002171
add qword [rsp + 0x50], 8
add r15, 8
cmp ecx, 0xa
jl 0x180001ff0
test edx, edx
je 0x180001ff0
jmp 0x1800021d2
add rdi, 0x14
jmp 0x180001ed5
jmp 0x1800021ca
jmp 0x1800021cc
jmp 0x1800021ce
jmp 0x1800021d0
jmp 0x1800021d2
jmp 0x1800021d4
jmp 0x1800021d6
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r13
call rax
cmp dword [0x180020a78], 0xa
jl 0x18000222e
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000222e
mov rsi, qword [rsp + 0x38]
mov eax, dword [rsi + 0x28]
add rax, r13
call rax
mov eax, dword [rsi + 0x28]
add rax, r13
call rax
cmp dword [0x180020a78], 0xa
jl 0x18000222e
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002204
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret