Function at 0x1401ae300
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rsi, qword [rcx]
mov rbp, rcx
xor ecx, ecx
mov qword [rsp + 0x50], rsi
mov r13d, r9d
mov dword [rsp + 0x40], ecx
mov r14, rdx
mov dword [rsp + 0x3c], ecx
mov r12d, ecx
cmp qword [rbp + 0x198], rcx
jne 0x1401ae779
cmp qword [r8 + 0x68], rcx
jne 0x1401ae779
cmp byte [rdx + 0x3f], 1
je 0x1401ae779
cmp r9d, 0xb
jne 0x1401ae37c
cmp word [rdx + 0x34], cx
jl 0x1401ae376
movzx r13d, byte [rdx + 0x3e]
cmp r13d, r9d
jne 0x1401ae37c
mov r13d, 2
mov rcx, qword [r8 + 0x28]
cmp dword [rcx], 1
jne 0x1401ae779
cmp qword [rcx + 0x30], r12
jne 0x1401ae779
cmp qword [r8 + 0x30], r12
jne 0x1401ae779
cmp qword [r8 + 0x48], r12
jne 0x1401ae779
cmp qword [r8 + 0x38], r12
jne 0x1401ae779
cmp qword [r8 + 0x60], r12
jne 0x1401ae779
cmp qword [r8 + 0x50], r12
jne 0x1401ae779
test byte [r8 + 4], 1
jne 0x1401ae779
mov rax, qword [r8 + 0x20]
cmp dword [rax], 1
jne 0x1401ae779
mov rax, qword [rax + 8]
cmp byte [rax], 0xb4
jne 0x1401ae779
lea r8, [rcx + 8]
xor edx, edx
mov rcx, rbp
call fcn.140160550
mov qword [rsp + 0x48], rax
mov r10, rax
test rax, rax
je 0x1401ae779
mov eax, dword [r14 + 0x28]
cmp dword [r10 + 0x28], eax
jne 0x1401ae421
mov rax, qword [r14 + 0x60]
cmp qword [r10 + 0x60], rax
je 0x1401ae779
mov r8d, dword [r10 + 0x30]
mov ecx, r8d
mov edx, dword [r14 + 0x30]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x1401ae779
cmp byte [r10 + 0x3f], r12b
jne 0x1401ae779
movzx ecx, word [r14 + 0x36]
cmp cx, word [r10 + 0x36]
jne 0x1401ae779
movzx eax, word [r10 + 0x34]
cmp word [r14 + 0x34], ax
jne 0x1401ae779
bt edx, 0x10
jae 0x1401ae47e
bt r8d, 0x10
jae 0x1401ae779
xor r11d, r11d
mov r15d, r11d
cmp r11w, cx
jge 0x1401ae731
mov ebp, r11d
mov esi, r11d
mov edx, 0x200
nop dword [rax]
mov rbx, qword [r14 + 8]
mov rdi, qword [r10 + 8]
add rbx, rsi
add rdi, rsi
movzx ecx, word [rbx + 0x12]
movzx eax, word [rdi + 0x12]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x1401ae779
test cx, cx
je 0x1401ae563
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x1401ae4de
mov rdx, r11
jmp 0x1401ae509
cmp byte [r10 + 0x3f], r12b
je 0x1401ae4e9
mov rdx, r11
jmp 0x1401ae509
mov rdx, qword [r10 + 0x50]
test rdx, rdx
jne 0x1401ae4f7
mov rdx, r11
jmp 0x1401ae509
cmp dword [rdx], eax
jge 0x1401ae500
mov rdx, r11
jmp 0x1401ae509
shl rax, 5
mov rdx, qword [rax + rdx - 0x18]
movzx eax, word [rbx + 0x10]
test ax, ax
jne 0x1401ae517
mov r8, r11
jmp 0x1401ae543
cmp byte [r14 + 0x3f], r12b
je 0x1401ae522
mov r8, r11
jmp 0x1401ae543
mov r8, qword [r14 + 0x50]
test r8, r8
jne 0x1401ae530
mov r8, r11
jmp 0x1401ae543
cmp dword [r8], eax
jge 0x1401ae53a
mov r8, r11
jmp 0x1401ae543
shl rax, 5
mov r8, qword [rax + r8 - 0x18]
xor ecx, ecx
lea r9d, [rcx - 1]
call fcn.140140520
test eax, eax
jne 0x1401ae779
mov r10, qword [rsp + 0x48]
xor r11d, r11d
mov edx, 0x200
movzx eax, byte [rdi + 0xc]
cmp byte [rbx + 0xc], al
jne 0x1401ae779
test word [rdi + 0x12], dx
jne 0x1401ae57b
mov r9, r11
jmp 0x1401ae59d
mov rax, qword [rdi]
cmp byte [rax], r12b
je 0x1401ae58b
inc rax
cmp byte [rax], r12b
jne 0x1401ae583
test byte [rdi + 0x12], 4
je 0x1401ae599
inc rax
cmp byte [rax], r12b
jne 0x1401ae591
lea r9, [rax + 1]
test word [rbx + 0x12], dx
je 0x1401ae61b
mov rax, qword [rbx]
cmp byte [rax], r12b
je 0x1401ae5b8
nop dword [rax + rax]
inc rax
cmp byte [rax], r12b
jne 0x1401ae5b0
test byte [rbx + 0x12], 4
je 0x1401ae5c8
nop
inc rax
cmp byte [rax], r12b
jne 0x1401ae5c0
lea r8, [rax + 1]
test r8, r8
je 0x1401ae61b
test r9, r9
je 0x1401ae779
sub r9, r8
lea r10, [0x1401cf710]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401ae608
test edx, edx
jne 0x1401ae616
mov r10, qword [rsp + 0x48]
jmp 0x1401ae620
movzx ecx, byte [rax + r10]
movzx edx, byte [rdx + r10]
sub edx, ecx
jne 0x1401ae601
inc r8
jmp 0x1401ae5f0
neg r9
sbb edx, edx
test edx, edx
jne 0x1401ae779
test byte [rbx + 8], 0xf
je 0x1401ae638
test byte [rdi + 8], 0xf
je 0x1401ae779
test byte [rbx + 0x12], 0x60
jne 0x1401ae707
test rbp, rbp
jle 0x1401ae707
movzx eax, word [rbx + 0x10]
test ax, ax
jne 0x1401ae659
mov rdx, r11
jmp 0x1401ae684
cmp byte [r14 + 0x3f], r12b
je 0x1401ae664
mov rdx, r11
jmp 0x1401ae684
mov rdx, qword [r14 + 0x50]
test rdx, rdx
jne 0x1401ae672
mov rdx, r11
jmp 0x1401ae684
cmp dword [rdx], eax
jge 0x1401ae67b
mov rdx, r11
jmp 0x1401ae684
shl rax, 5
mov rdx, qword [rax + rdx - 0x18]
movzx eax, word [rdi + 0x10]
test ax, ax
jne 0x1401ae692
mov r8, r11
jmp 0x1401ae6be
cmp byte [r10 + 0x3f], r12b
je 0x1401ae69d
mov r8, r11
jmp 0x1401ae6be
mov r8, qword [r10 + 0x50]
test r8, r8
jne 0x1401ae6ab
mov r8, r11
jmp 0x1401ae6be
cmp dword [r8], eax
jge 0x1401ae6b5
mov r8, r11
jmp 0x1401ae6be
shl rax, 5
mov r8, qword [rax + r8 - 0x18]
test r8, r8
mov ecx, r11d
mov eax, r11d
sete cl
test rdx, rdx
sete al
cmp eax, ecx
jne 0x1401ae779
test rdx, rdx
je 0x1401ae707
mov rax, qword [rdx + 8]
mov r9, qword [r8 + 8]
sub r9, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x1401ae703
inc rax
test ecx, ecx
jne 0x1401ae6f0
test edx, edx
jne 0x1401ae779
movsx eax, word [r14 + 0x36]
inc r15d
inc rbp
add rsi, 0x18
mov edx, 0x200
cmp r15d, eax
jl 0x1401ae4a0
mov rbp, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [r14 + 0x10]
mov eax, 1
test rdi, rdi
je 0x1401ae7de
nop dword [rax]
nop word [rax + rax]
cmp byte [rdi + 0x62], 0
mov rbx, qword [r10 + 0x10]
cmovne r12d, eax
test rbx, rbx
je 0x1401ae779
mov rdx, rbx
mov rcx, rdi
call fcn.1401ae1a0
test eax, eax
jne 0x1401ae799
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401ae761
xor eax, eax
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov eax, dword [rdi + 0x58]
mov r10, qword [rsp + 0x48]
cmp dword [rbx + 0x58], eax
jne 0x1401ae7cc
mov rax, qword [r14 + 0x60]
cmp qword [r10 + 0x60], rax
jne 0x1401ae7cc
mov rax, qword [0x14020e240]
test rax, rax
je 0x1401ae779
mov ecx, 0x19b
call rax
test eax, eax
je 0x1401ae779
mov r10, qword [rsp + 0x48]
mov rdi, qword [rdi + 0x28]
mov eax, 1
test rdi, rdi
jne 0x1401ae750
mov rdx, qword [r14 + 0x20]
test rdx, rdx
je 0x1401ae7fe
mov rcx, qword [r10 + 0x20]
mov r8d, 0xffffffff
call fcn.140141d00
test eax, eax
jne 0x1401ae779
mov rax, qword [rsi + 0x30]
bt rax, 0xe
jae 0x1401ae814
cmp qword [r14 + 0x48], 0
jne 0x1401ae779
bt rax, 0x20
jb 0x1401ae779
mov rcx, qword [rsp + 0x48]
mov esi, 0xffff8000
mov dword [rsp + 0x38], esi
mov rcx, qword [rcx + 0x60]
test rcx, rcx
je 0x1401ae85f
mov rax, qword [rsp + 0x50]
xor esi, esi
mov dword [rsp + 0x38], esi
mov rax, qword [rax + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x1401ae85f
nop
inc esi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1401ae850
mov dword [rsp + 0x38], esi
mov rdi, qword [rbp + 0x10]
test rdi, rdi
jne 0x1401ae88a
cmp qword [rbp + 0xa8], rdi
jne 0x1401ae87f
mov rax, qword [rbp]
test byte [rax + 0x60], 8
jne 0x1401ae87f
mov byte [rbp + 0x23], 1
mov rcx, rbp
call fcn.14017a830
mov rdi, rax
mov rax, qword [rbp + 0xa8]
mov rcx, rbp
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, esi
jb 0x1401ae8b3
bts eax, esi
mov dword [rcx + 0x7c], eax
cmp esi, 1
jne 0x1401ae8b3
call fcn.140161bb0
mov r15d, dword [rbp + 0x34]
mov r8, r14
mov edx, dword [rsp + 0xb0]
mov rcx, rbp
lea eax, [r15 + 2]
mov dword [rbp + 0x34], eax
call fcn.1400b0540
mov rcx, qword [rsp + 0x90]
mov ebp, eax
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1401ae8ec
mov eax, dword [rcx + 0x38]
inc eax
mov dword [rcx + 0x38], eax
jmp 0x1401ae8fb
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov eax, dword [rcx + rax*4 + 0xe4]
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov r9d, eax
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.140179ea0
mov rcx, qword [rsp + 0x90]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1401ae929
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
jmp 0x1401ae938
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov eax, dword [rcx + rax*4 + 0xe4]
mov r8d, dword [rsp + 0xb0]
lea edx, [r15 + 1]
mov r9, r14
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 0x71
call fcn.1401617e0
mov rbx, qword [rsp + 0x50]
test byte [rbx + 0x2c], 4
jne 0x1401ae9ba
cmp word [r14 + 0x34], 0
jge 0x1401ae972
cmp qword [r14 + 0x10], 0
jne 0x1401ae980
test r12d, r12d
jne 0x1401ae980
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x1401ae9ba
xor r9d, r9d
lea r12d, [r15 + 1]
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x24]
call fcn.140179ea0
mov edx, 9
mov rcx, rdi
mov ebx, eax
call fcn.140179dc0
mov edx, ebx
mov dword [rsp + 0x40], eax
mov rcx, rdi
call fcn.140184c50
mov rbx, qword [rsp + 0x50]
jmp 0x1401ae9be
lea r12d, [r15 + 1]
mov r8, qword [rsp + 0x48]
test byte [r8 + 0x30], 0x80
jne 0x1401aebaa
mov rcx, qword [rsp + 0x90]
mov r9, r8
mov r8d, esi
mov dword [rsp + 0x20], 0x70
mov edx, r15d
call fcn.1401617e0
xor r9d, r9d
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x24]
call fcn.140179ea0
cmp word [r14 + 0x34], 0
mov dword [rsp + 0x3c], eax
jl 0x1401aea7f
mov ebx, dword [rsp + 0x34]
mov r8d, r15d
mov r9d, ebx
mov edx, 0x87
mov rcx, rdi
call fcn.140179ea0
mov esi, eax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
jne 0x1401aea67
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x1f]
call fcn.140179f10
mov rcx, qword [rsp + 0x90]
mov r8, r14
mov edx, r13d
mov ebx, eax
call fcn.14016d7a0
mov edx, ebx
mov rcx, rdi
call fcn.140184c50
mov ebx, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x90]
mov r8d, ebx
mov edx, ebp
call fcn.1400b0660
mov ebp, dword [rsp + 0x34]
jmp 0x1401aeaaf
cmp qword [r14 + 0x10], 0
jne 0x1401aea96
test byte [rbx + 0x2c], 8
jne 0x1401aea96
mov r8d, r12d
mov edx, 0x7f
jmp 0x1401aea9e
mov r8d, r15d
mov edx, 0x87
mov ebp, dword [rsp + 0x34]
mov rcx, rdi
mov r9d, ebp
call fcn.140179ea0
mov esi, eax
mov r13, qword [rsp + 0x50]
test byte [r13 + 0x2c], 4
je 0x1401aead2
mov r8d, r12d
mov edx, 0x89
mov rcx, rdi
call fcn.140179e30
mov ebx, 0x98
jmp 0x1401aead7
mov ebx, 0xa9
mov r9d, r15d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, 0x81
mov rcx, rdi
call fcn.140179f10
mov r9d, dword [rsp + 0x30]
mov r8d, r12d
mov edx, 0x80
mov dword [rsp + 0x20], ebp
mov rcx, rdi
call fcn.140179f10
test byte [r13 + 0x2c], 4
jne 0x1401aeb53
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x1401aeb53
movsxd rax, dword [rdi + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], 0
lea rdx, [rax + rdx*8]
je 0x1401aeb4b
mov r9d, 0xfffffffb
mov r8, r14
mov rcx, rdi
call fcn.14019b070
jmp 0x1401aeb53
mov qword [rdx + 0x10], r14
mov byte [rdx + 1], 0xfb
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1401aeb6e
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], bx
mov r9d, esi
mov r8d, r15d
mov edx, 0x27
mov rcx, rdi
call fcn.140179ea0
xor r9d, r9d
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140179ea0
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140179ea0
jmp 0x1401aec37
movsxd r10, dword [rsp + 0xb0]
mov r11, qword [rsp + 0x90]
cmp r10d, 1
je 0x1401aec00
mov rax, qword [r11]
mov rdx, r10
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1401aec00
mov rax, qword [r14]
mov r9b, 1
mov r8d, dword [r14 + 0x28]
mov edx, r10d
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.14010f130
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0x48]
cmp esi, 1
je 0x1401aec37
mov rax, qword [r11]
movsxd rdx, esi
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1401aec37
mov rax, qword [r8]
xor r9d, r9d
mov r8d, dword [r8 + 0x28]
mov edx, esi
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.14010f130
mov r13, qword [r14 + 0x10]
test r13, r13
je 0x1401af232
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x48]
xor bpl, bpl
mov dword [rsp + 0x44], ebp
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x1401aec7d
mov rdx, rsi
mov rcx, r13
call fcn.1401ae1a0
test eax, eax
jne 0x1401aec7d
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1401aec65
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rsi + 0x58]
cmp dword [rdi + 0x94], ecx
jg 0x1401aecac
mov eax, dword [rsp + 0x38]
mov r9d, edx
mov edx, 0x70
mov dword [rsp + 0x20], eax
mov r8d, r15d
mov rcx, rdi
call fcn.140108480
jmp 0x1401aece0
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x38]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x70
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 0x10], r8
mov r14, qword [rsp + 0x90]
mov rdx, rsi
mov rcx, r14
mov rbx, qword [r14 + 0x10]
call fcn.14015f6e0
mov r8, rax
test rax, rax
je 0x1401aed42
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x1401aed26
cmp qword [rax + 0x308], 0
jne 0x1401aed42
add dword [r8], 0xffffffff
jne 0x1401aed42
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.140138fd0
jmp 0x1401aed42
movsxd rax, dword [rbx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], r8
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 0x58]
cmp dword [rdi + 0x94], ecx
jg 0x1401aed75
mov eax, dword [rsp + 0xb0]
mov r9d, edx
mov edx, 0x71
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, rdi
call fcn.140108480
jmp 0x1401aedac
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0xb0]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x71
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 0x10], r8
mov rbx, qword [r14 + 0x10]
mov rdx, r13
mov rcx, r14
call fcn.14015f6e0
mov r8, rax
test rax, rax
je 0x1401aee06
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
je 0x1401aedea
cmp qword [rax + 0x308], 0
jne 0x1401aee06
add dword [r8], 0xffffffff
jne 0x1401aee06
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.140138fd0
jmp 0x1401aee06
movsxd rax, dword [rbx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf8
mov qword [rax + rcx*8 - 8], r8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1401aee23
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 1
movsxd r14, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r14d
jg 0x1401aee52
xor eax, eax
xor r9d, r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x24]
call fcn.140108480
mov r14d, eax
xor r8d, r8d
jmp 0x1401aee80
lea rcx, [r14 + r14*2]
xor r8d, r8d
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x2c], 4
je 0x1401aefe9
movzx eax, word [rsi + 0x60]
mov ebx, r8d
mov r11, r8
cmp r8w, ax
jae 0x1401aef1d
mov r10, qword [rsi + 0x40]
lea r12, [0x1401cf9ec]
mov ebp, eax
nop dword [rax]
mov r9, qword [r10]
test r9, r9
je 0x1401aef12
mov r8, r12
sub r9, r12
lea r12, [0x1401cf710]
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1401aeee6
test edx, edx
je 0x1401aeefb
inc r8
jmp 0x1401aeed0
movzx ecx, byte [rax + r12]
movzx edx, byte [rdx + r12]
sub edx, ecx
jne 0x1401aeef9
inc r8
jmp 0x1401aeed0
test edx, edx
lea r12, [0x1401cf9ec]
jne 0x1401aef12
inc ebx
inc r11
add r10, 8
cmp r11, rbp
jl 0x1401aeeb0
mov ebp, dword [rsp + 0x44]
lea r12d, [r15 + 1]
xor r8d, r8d
movzx eax, word [rsi + 0x60]
cmp ebx, eax
jne 0x1401af00b
movsxd rcx, dword [rdi + 0x90]
mov bpl, 0x90
cmp dword [rdi + 0x94], ecx
jg 0x1401aef58
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov r8d, r12d
mov edx, 0x89
mov rcx, rdi
call fcn.140108480
xor r8d, r8d
jmp 0x1401aef86
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x89
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401aefb9
mov dword [rsp + 0x20], r8d
mov r9d, r15d
mov r8d, r12d
mov edx, 0x81
mov rcx, rdi
call fcn.140108480
mov ebx, dword [rsp + 0x30]
xor r8d, r8d
jmp 0x1401af06c
mov ebx, dword [rsp + 0x30]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
jmp 0x1401af067
mov rax, qword [rsp + 0x48]
mov edx, 1
test byte [rax + 0x30], 0x80
je 0x1401af010
movzx eax, byte [r13 + 0x64]
and al, 3
movzx ebp, bpl
cmp al, 2
cmove ebp, edx
jmp 0x1401af010
mov edx, 1
movsxd rcx, dword [rdi + 0x90]
mov ebx, dword [rsp + 0x30]
cmp dword [rdi + 0x94], ecx
jg 0x1401af03f
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x86
mov r8d, r15d
mov rcx, rdi
call fcn.140108480
xor r8d, r8d
jmp 0x1401af06c
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x86
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401af098
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, r12d
mov edx, 0x8a
mov rcx, rdi
call fcn.140108480
xor r8d, r8d
jmp 0x1401af0c6
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1401af0e9
lea rcx, [rax + rax*2]
or bpl, 8
mov rax, qword [rdi + 0x88]
movzx edx, bpl
mov word [rax + rcx*8 - 0x16], dx
movsxd rcx, dword [rdi + 0x90]
lea edx, [r14 + 1]
cmp dword [rdi + 0x94], ecx
jg 0x1401af119
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r15d
mov edx, 0x27
mov rcx, rdi
call fcn.140108480
xor r8d, r8d
jmp 0x1401af147
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1401af15f
lea rax, [0x140213918]
jmp 0x1401af171
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401af19f
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140108480
xor r8d, r8d
jmp 0x1401af1cd
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401af1f5
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140108480
jmp 0x1401af223
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x1401aec50
jmp 0x1401af236
mov ebx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x1401af248
mov edx, eax
mov rcx, rdi
call fcn.140184c50
mov ecx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x90]
test ecx, ecx
je 0x1401af26a
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1401af26a
mov dword [rdx + rax*4 + 0xe4], ecx
inc byte [rdx + 0x1f]
test ebx, ebx
je 0x1401af280
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1401af280
mov dword [rdx + rax*4 + 0xe4], ebx
inc byte [rdx + 0x1f]
mov ebx, dword [rsp + 0x40]
test ebx, ebx
je 0x1401af2cd
cmp qword [rdx + 0xa0], 0
je 0x1401af29a
mov rcx, rdx
call fcn.1400b06d0
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x46]
call fcn.140179ea0
mov edx, ebx
mov rcx, rdi
call fcn.140184c50
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140179ea0
jmp 0x1401ae779
mov eax, 1
jmp 0x1401ae77b