Function at 0x180001060
Capabilities:
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 0x180001092
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001092
nop word [rax + rax]
jmp 0x180001090
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 0x1800010e8
test eax, eax
je 0x1800010e8
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 0x1800010e0
mov byte [rsp + 0x34], dl
cmp ecx, 0xa
jl 0x1800010f5
test eax, eax
jne 0x180001220
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 0x180001148
test eax, eax
je 0x180001148
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 0x180001140
mov byte [rsp + 0x35], dl
cmp ecx, 0xa
jl 0x180001155
test eax, eax
jne 0x180001220
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 0x1800011a8
test eax, eax
je 0x1800011a8
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 0x1800011a0
mov byte [rsp + 0x36], dl
cmp ecx, 0xa
jl 0x1800011b1
test eax, eax
jne 0x180001220
mov bl, byte [0x180004003]
mov byte [rsp + 0x37], bl
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp edi, 0xa
jl 0x180001208
test edx, edx
je 0x180001208
mov eax, dword [0x180020a70]
mov edi, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete r8b
cmp edi, 0xa
setl cl
or cl, r8b
nop dword [rax + rax]
test cl, cl
je 0x180001200
mov byte [rsp + 0x37], bl
cmp edi, 0xa
jl 0x180001222
test edx, edx
je 0x180001222
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x180001220
mov ecx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a78], 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x180001290
mov esi, dword [rsp + 0x34]
xor ebx, ebx
lea rbp, section..data
nop word cs:[rax + rax]
nop dword [rax]
cmp rsi, rbx
je 0x180001292
mov ecx, ebx
and ecx, 0x3ff
movzx ecx, byte [rcx + rbp + 4]
xor cl, byte [rbx + rbp + 0x404]
xor cl, 0xc
mov byte [rbx + rbp + 0x404], cl
add rbx, 1
test dl, dl
jne 0x180001260
nop dword [rax + rax]
jmp 0x180001290
cmp edi, 0xa
jl 0x1800012b2
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800012b2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800012b0
lea r13, [rsi + rbp]
add r13, 0x404
mov dl, byte [r13]
mov byte [rsp + 0x30], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x18000130d
test eax, eax
je 0x18000130d
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001305
mov byte [rsp + 0x30], dl
cmp ecx, 0xa
jl 0x18000131a
test eax, eax
jne 0x180001430
mov dl, byte [r13 + 1]
mov byte [rsp + 0x31], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x18000136a
test eax, eax
je 0x18000136a
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001362
mov byte [rsp + 0x31], dl
cmp ecx, 0xa
jl 0x180001377
test eax, eax
jne 0x180001430
mov dl, byte [r13 + 2]
mov byte [rsp + 0x32], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x1800013c7
test eax, eax
je 0x1800013c7
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x1800013bf
mov byte [rsp + 0x32], dl
cmp ecx, 0xa
jl 0x1800013d0
test eax, eax
jne 0x180001430
mov dl, byte [r13 + 3]
mov byte [rsp + 0x33], dl
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x180001420
test eax, eax
je 0x180001420
mov ebx, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete r8b
cmp ecx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001418
mov byte [rsp + 0x33], dl
cmp ecx, 0xa
jl 0x180001432
test eax, eax
je 0x180001432
nop dword [rax]
jmp 0x180001430
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a78], 0xa
setl al
or al, cl
cmp al, 1
jne 0x180001490
add r13, 4
mov ecx, dword [rsp + 0x30]
lea rdx, [rsi + rbp]
add rdx, 0x408
xor edi, edi
cmp rcx, rdi
je 0x180001492
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + rbp + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test al, al
jne 0x180001469
nop word cs:[rax + rax]
jmp 0x180001490
cmp dword [0x180020a7c], 0xa
jl 0x1800014ae
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014ae
jmp 0x1800014ac
add rsi, 0x408
mov qword [rsp + 0x48], r13
movsxd rax, dword [0x180004440]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014c1
add rax, rbp
add rax, 0x404
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r13
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014df
mov r12, r13
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800014ed
mov qword [rsp + 0x58], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800014fe
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000150d
mov r14, r15
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000151a
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000154f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a49
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000157e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a4b
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, r13
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x1800015af
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001599
cmp al, bl
je 0x1800015bd
add rdi, 4
add r10, 2
jmp 0x180001591
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r15
call r9
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800015ef
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a4d
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000161e
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a4f
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
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000164f
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001639
cmp cl, dl
je 0x18000165d
add rdi, 4
add r9, 2
jmp 0x180001631
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, r14
mov r8, r14
call r10
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016b6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a51
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800016e5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a53
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
lea rcx, [rsi + rax]
movzx ebx, byte [rbp + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x180001718
add rax, 1
cmp bl, cl
je 0x1800016ff
cmp bl, cl
je 0x180001726
add rdx, 4
add r9, 2
jmp 0x1800016f8
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 r12, rax
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001a63
test ecx, ecx
je 0x180001a63
movsxd rax, dword [0x180004440]
mov qword [rsp + 0x40], rax
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rsp + 0x48]
mov r14, rdx
jl 0x1800017a8
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, rdx
and ecx, 1
jne 0x180001a55
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800017a8
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800017b5
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017c1
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800017cd
mov rdi, r12
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017dc
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800017e8
mov rcx, r14
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000181c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a57
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000184b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a59
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
movzx eax, byte [rcx]
movzx r15d, byte [rdx]
test al, al
je 0x18000187f
add rcx, 1
add rdx, 1
cmp al, r15b
je 0x180001867
cmp al, r15b
je 0x18000188e
add r11, 4
add r10, 2
jmp 0x18000185e
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 0x1800018c0
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a5b
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018ef
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001a5d
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
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001920
add rbx, 1
add rax, 1
cmp cl, dl
je 0x18000190a
cmp cl, dl
je 0x18000192e
add rdi, 4
add r9, 2
jmp 0x180001902
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, r14
call fcn.1800021d0
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001985
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a5f
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800019b4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001a61
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
lea rcx, [rsi + rax]
movzx ebx, byte [rbp + rcx]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x1800019e7
add rax, 1
cmp bl, cl
je 0x1800019ce
cmp bl, cl
je 0x1800019f5
add rdx, 4
add r9, 2
jmp 0x1800019c7
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + rbp + 0x454]
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
cmp dword [0x180020a7c], 0xa
mov r13, qword [rsp + 0x48]
jl 0x1800014ba
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014ba
jmp 0x1800014ac
jmp 0x180001a49
jmp 0x180001a4b
jmp 0x180001a4d
jmp 0x180001a4f
jmp 0x180001a51
jmp 0x180001a53
jmp 0x180001a55
jmp 0x180001a57
jmp 0x180001a59
jmp 0x180001a5b
jmp 0x180001a5d
jmp 0x180001a5f
jmp 0x180001a61
cmp edx, 0xa
jl 0x180001a6e
test ecx, ecx
je 0x180001a6e
jmp 0x180001a6c
mov rcx, qword [rsp + 0x38]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x180001b4f
cmp dword [0x180020a6c], 0xa
jl 0x180001aad
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001b4b
lea rcx, [r9 + r9*4]
mov eax, dword [r8 + rcx*8 + 0xc]
mov edx, dword [r8 + rcx*8 + 0x10]
mov ecx, dword [r8 + rcx*8 + 0x14]
lea rsi, [rcx + rbp]
add rsi, 0x404
add rax, r12
sub rdx, 1
jb 0x180001b11
movzx ecx, byte [rsi]
mov byte [rax], cl
mov edi, dword [0x180020a70]
mov ebx, dword [0x180020a6c]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp ebx, 0xa
jl 0x180001afe
test ecx, ecx
je 0x180001afe
movzx ecx, byte [rsi]
mov byte [rax], cl
jmp 0x180001ad4
add rsi, 1
add rax, 1
cmp ebx, 0xa
jl 0x180001ace
test ecx, ecx
je 0x180001ace
jmp 0x180001b49
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001b2f
test ecx, ecx
jne 0x180001b4d
add r9, 1
cmp edx, 0xa
jl 0x180001a7d
test ecx, ecx
je 0x180001a7d
jmp 0x180001a6c
jmp 0x180001b49
jmp 0x180001b4b
jmp 0x180001b4d
mov rcx, qword [rsp + 0x38]
mov rbp, qword [rcx + 0x30]
mov rcx, r12
sub rcx, rbp
cmp edx, 0xa
jl 0x180001b70
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
je 0x180001b70
jmp 0x180001b6e
mov rbp, qword [rsp + 0x38]
mov ebp, dword [rbp + 0xb0]
add rbp, r12
movabs r8, 0x1fffffff8
cmp dword [rbp], 0
je 0x180001d3d
mov ebx, dword [rbp + 4]
cmp rbx, 8
jb 0x180001d05
cmp edx, 0xa
jl 0x180001bb3
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001d33
add rbx, r8
shr rbx, 1
mov r9d, ebx
xor r10d, r10d
cmp r10, r9
je 0x180001d05
movzx esi, word [rbp + r10*2 + 8]
mov ebx, esi
shr ebx, 0xc
mov edi, esi
and edi, 0xfff
cmp esi, 0xa000
jae 0x180001c18
cmp ebx, 3
jne 0x180001cf1
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x180001c02
test ebx, ebx
jne 0x180001d37
cmp edx, 0xa
jl 0x180001cbf
test ebx, ebx
jne 0x180001ce5
jmp 0x180001cbf
cmp ebx, 0xa
jne 0x180001cf1
cmp edx, 0xa
jl 0x180001c35
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d39
mov eax, dword [rbp]
mov esi, edi
add rsi, r12
add qword [rax + rsi], rcx
jmp 0x180001c4a
mov eax, dword [rbp]
add qword [rsi + rax], rcx
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001cf1
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001cf1
cmp edx, 0xa
jl 0x180001c7e
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001c9f
mov eax, dword [rbp]
add qword [rsi + rax], rcx
cmp dword [0x180020a78], 0xa
jl 0x180001c43
mov eax, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001c43
mov eax, dword [rbp]
add qword [rsi + rax], rcx
jmp 0x180001c7e
add r10, 1
cmp edx, 0xa
jl 0x180001bbf
test esi, esi
je 0x180001bbf
jmp 0x180001d33
mov eax, dword [rbp]
lea rax, [r12 + rax*4]
add dword [rax + rdi*4], ecx
mov eax, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001cf1
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001cf1
mov eax, dword [rbp]
lea rax, [r12 + rax*4]
add dword [rax + rdi*4], ecx
jmp 0x180001cbf
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp edx, 0xa
jl 0x180001ca8
test esi, esi
je 0x180001ca8
jmp 0x180001d35
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edx, 0xa
jl 0x180001d17
test ebx, ebx
jne 0x180001d3b
mov edi, dword [rbp + 4]
add rbp, rdi
cmp edx, 0xa
jl 0x180001b88
test ebx, ebx
je 0x180001b88
jmp 0x180001b6e
jmp 0x180001d33
jmp 0x180001d35
jmp 0x180001d37
jmp 0x180001d39
jmp 0x180001d3b
cmp edx, 0xa
jl 0x180001d4f
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d4f
jmp 0x180001d4d
lea rax, [r12 + 2]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x90]
add rax, r12
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov r15d, dword [rax + 0xc]
test r15, r15
je 0x18000219d
add r15, r12
jmp 0x180001d93
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r15
call r9
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001dbe
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002132
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ded
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002134
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 rbx, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180001e1f
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180001e09
cmp al, dl
je 0x180001e2d
add rbp, 4
add rcx, 2
jmp 0x180001e00
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r15
call r9
mov r14, rax
mov edx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180001f04
test ecx, ecx
je 0x180001f04
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e91
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002136
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ec0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002138
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 rbx, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180001ef2
add rbx, 1
add rsi, 1
cmp al, dl
je 0x180001edc
cmp al, dl
je 0x180001d83
add rbp, 4
add rcx, 2
jmp 0x180001ed3
cmp eax, 0xa
jl 0x180001f11
test ecx, ecx
jne 0x180002142
mov rbp, qword [rsp + 0x48]
mov ebx, dword [rbp]
mov edi, dword [rbp + 0x10]
add rbx, r12
mov qword [rsp + 0x50], rbx
add rdi, r12
mov rbp, qword [rsp + 0x50]
mov rbp, qword [rbp]
test rbp, rbp
je 0x18000210f
mov rdx, qword [rsp + 0x60]
add rdx, rbp
test rbp, rbp
movzx r15d, bp
cmovns r15, rdx
cmp eax, 0xa
jl 0x180001f59
test ecx, ecx
jne 0x180002144
cmp eax, 0xa
jl 0x180001f80
test ecx, ecx
jne 0x180002058
jmp 0x180001f80
add rdi, 8
add qword [rsp + 0x50], 8
cmp eax, 0xa
jl 0x180001f27
test ecx, ecx
je 0x180001f27
jmp 0x180002142
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001fab
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000213a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001fda
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000213e
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov ebp, dword [rdx]
add rbp, r9
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rax]
movzx ecx, byte [rbp]
test bl, bl
je 0x18000200e
add rax, 1
add rbp, 1
cmp bl, cl
je 0x180001ff7
cmp bl, cl
je 0x18000201c
add rdx, 4
add rsi, 2
jmp 0x180001fed
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
mov rdx, r15
call r9
mov qword [rdi], rax
mov edx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x180001f68
test ecx, ecx
je 0x180001f68
mov rcx, qword [rsp + 0x40]
call fcn.1800021d0
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002083
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000213c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800020b2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002140
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov ebp, dword [rdx]
add rbp, r9
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rax]
movzx ecx, byte [rbp]
test bl, bl
je 0x1800020e6
add rax, 1
add rbp, 1
cmp bl, cl
je 0x1800020cf
cmp bl, cl
je 0x1800020f4
add rdx, 4
add rsi, 2
jmp 0x1800020c5
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
mov rcx, r14
mov rdx, r15
call r9
mov qword [rdi], rax
jmp 0x180001f80
add qword [rsp + 0x48], 0x14
cmp eax, 0xa
jl 0x180001d6c
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001d6c
jmp 0x180001d4d
jmp 0x180002132
jmp 0x180002134
jmp 0x180002136
jmp 0x180002138
jmp 0x18000213a
jmp 0x18000213c
jmp 0x18000213e
jmp 0x180002140
jmp 0x180002142
jmp 0x180002144
mov ecx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800021b5
cmp eax, 0xa
jl 0x180002167
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x18000218e
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
cmp dword [0x180020a78], 0xa
jl 0x18000219d
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000219d
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
jmp 0x180002167
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x28]
add rax, r12
call rax
mov eax, dword [0x180020a78]
cmp eax, 0xa
jge 0x180002146
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret