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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rdi, qword [rcx + 0x10]
xor ebx, ebx
mov rsi, qword [rsp + 0x130]
xor bpl, bpl
mov qword [rsp + 0xb0], r9
mov r13, rcx
mov qword [rsp + 0x50], r8
mov r14d, ebx
movsxd r9, dword [rdi + 0xb8]
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x90], rsi
mov byte [rsp + 0x40], bpl
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x70], ebx
mov dword [rsp + 0x58], ebx
mov qword [rsp + 0xc0], rdi
mov dword [rsp + 0x74], r9d
cmp dword [rax + 0x3c], r9d
jg 0x140099e9b
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0x14]
mov rcx, rdi
call fcn.14002c4b0
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa8]
mov dword [rsp + 0x74], eax
jmp 0x140099ec5
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x14
mov byte [rax + rcx*8 + 3], bl
mov qword [rax + rcx*8 + 4], rbx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov r12, qword [rdx + 0x20]
mov r15d, ebx
movsxd rax, dword [rdx + 0x14]
mov r10, rbx
mov rdx, qword [rsi + 0x48]
movabs rsi, 0x8000000000000000
mov rcx, qword [r8 + 0x20]
shl rax, 6
add rax, r12
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rbx
cmp r12, rax
jae 0x14009a1ee
cmp qword [rdx], rbx
jne 0x14009a105
test byte [r12 + 0x12], 2
jne 0x14009a105
mov rsi, qword [r12]
test byte [rsi + 4], 1
jne 0x14009a0fb
mov r8d, dword [r8 + 0x48]
mov edx, 3
mov rcx, rsi
call fcn.140047000
test eax, eax
je 0x14009a0fb
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.140045b60
mov r15, qword [r13]
mov rbp, rax
test r14, r14
jne 0x140099f7d
mov r14, rax
mov qword [rsp + 0x80], rax
jmp 0x14009a0f1
test rbp, rbp
je 0x14009a0f1
mov rcx, r14
call fcn.1400451f0
test eax, eax
jne 0x14009a044
mov rcx, rbp
call fcn.1400451f0
test eax, eax
jne 0x14009a044
lea edx, [rax + 0x48]
mov rcx, r15
call fcn.140007000
mov rsi, rax
test rax, rax
je 0x14009a01e
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov byte [rsi], 0x1c
mov word [rsi + 0x32], 0xffff
mov dword [rsi + 0x28], 1
mov qword [rsi + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x200100
mov qword [rsi + 0x10], r14
or ecx, dword [rsi + 4]
mov dword [rsi + 4], ecx
mov eax, dword [r14 + 4]
and eax, 0x200100
or eax, ecx
mov rcx, rsi
mov dword [rsi + 4], eax
call fcn.140044d20
mov r14, rsi
mov qword [rsp + 0x80], rsi
jmp 0x14009a0f1
mov rdx, r14
mov rcx, r15
call fcn.140045870
mov rdx, rbp
mov rcx, r15
call fcn.140045870
mov r14, rsi
mov qword [rsp + 0x80], rsi
jmp 0x14009a0f1
mov rdx, r14
mov rcx, r15
call fcn.140045870
mov rdx, rbp
mov rcx, r15
call fcn.140045870
lea rdx, [rsp + 0x44]
mov dword [rsp + 0x44], ebx
lea rcx, [0x1401099b4]
call fcn.14000a8a0
test eax, eax
mov esi, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r15
call fcn.140007000
mov qword [rsp + 0x80], rax
mov r14, rax
test rax, rax
je 0x14009a0f1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x40], rax
mov byte [r14], 0x86
mov word [r14 + 0x32], 0xffff
test esi, esi
je 0x14009a0d5
mov eax, dword [rsp + 0x44]
or dword [r14 + 4], 0x400
mov dword [r14 + 8], eax
jmp 0x14009a0e9
lea rcx, [r14 + 0x48]
mov qword [r14 + 8], rcx
movzx eax, word [0x1401099b4]
mov byte [rcx], al
mov byte [rcx + 1], bl
mov dword [r14 + 0x28], 1
mov r15d, dword [rsp + 0x48]
movzx ebp, byte [rsp + 0x40]
movabs rsi, 0x8000000000000000
mov r8, qword [rsp + 0xb0]
mov rcx, r12
mov rdx, qword [rsp + 0x50]
call fcn.140099d50
test eax, eax
je 0x14009a1b6
movsxd rcx, dword [r12 + 0x28]
cmp ecx, 0x40
jge 0x14009a134
mov esi, 1
shl rsi, cl
test bpl, bpl
jne 0x14009a169
mov rax, rcx
lea rdx, str.automatic_index_on__s__s_
mov rcx, qword [rsp + 0x88]
shl rax, 5
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
mov ecx, 0x11c
mov r9, qword [rax + r9]
call fcn.140009250
mov byte [rsp + 0x40], 1
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
test r10, rsi
jne 0x14009a1c0
mov rcx, qword [r13]
lea ebp, [r15 + 1]
mov r8d, ebp
call fcn.14009b1b0
test eax, eax
jne 0x14009ab57
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
or r10, rsi
movsxd rcx, r15d
mov r15d, ebp
mov dword [rsp + 0x48], ebp
mov qword [rsp + 0x60], r10
mov rax, qword [rdx + 0x38]
mov qword [rax + rcx*8], r12
jmp 0x14009a1c0
mov r10, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
movzx ebp, byte [rsp + 0x40]
add r12, 0x40
movabs rsi, 0x8000000000000000
mov r8, qword [rsp + 0x50]
cmp r12, qword [rsp + 0xa0]
jb 0x140099f13
mov rcx, qword [rsp + 0x88]
mov word [rdx + 0x2c], r15w
not r10
mov word [rdx + 0x18], r15w
or r10, rsi
mov dword [rdx + 0x28], 0x4241
mov ebp, 0x3f
mov r9, qword [r8 + 0x60]
mov edx, ebx
movsx eax, word [rcx + 0x3e]
and r10, r9
mov qword [rsp + 0x60], r10
mov r8d, eax
cmp bp, ax
jl 0x14009a230
mov ebp, eax
test eax, eax
jle 0x14009a24b
nop word [rax + rax]
mov ecx, r15d
mov eax, edx
inc r15d
bt r10, rax
cmovae r15d, ecx
inc edx
cmp edx, ebp
jl 0x14009a230
mov dword [rsp + 0x48], r15d
test r9, r9
jns 0x14009a25c
add r15d, 0xffffffc1
add r15d, r8d
mov dword [rsp + 0x48], r15d
mov rcx, qword [r13]
lea esi, [r15 + 1]
movsx r15d, si
lea eax, [r15*4 + 9]
add eax, r15d
and eax, 0xfffffff8
lea eax, [rax + r15*8]
add eax, 0x68
movsxd r13, eax
test rcx, rcx
je 0x14009a28f
mov rdx, r13
call fcn.140007000
jmp 0x14009a297
mov rcx, r13
call fcn.140006750
mov r12, rax
test rax, rax
je 0x14009ab52
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.1400d8b40
mov r9d, dword [rsp + 0x48]
lea rax, [r12 + 0x68]
mov r11, qword [rsp + 0x88]
mov r13d, ebx
mov qword [r12 + 0x40], rax
movsx r8, si
mov word [r12 + 0x60], si
mov rsi, qword [rsp + 0xa8]
mov word [r12 + 0x5e], r9w
lea rdx, [rax + r8*8]
mov dword [rsp + 0x44], ebx
lea eax, [r15 + 1]
mov qword [r12 + 0x10], rdx
movsxd rcx, eax
lea r15, str.BINARY
lea rax, [rdx + rcx*2]
mov qword [r12 + 8], rax
lea rax, [rax + r8*2]
mov qword [r12 + 0x38], rax
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x20], r12
lea rax, str.auto_index
mov qword [r12], rax
mov qword [r12 + 0x18], r11
mov rsi, qword [rsi + 0x20]
cmp rsi, qword [rsp + 0xa0]
jae 0x14009a4ce
mov rdi, qword [rsp + 0x78]
mov r14, rbx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x98], rbx
nop word [rax + rax]
mov eax, dword [rcx + 0x48]
cmp dword [rsi + 0x1c], eax
jne 0x14009a493
test byte [rsi + 0x14], 0x82
je 0x14009a493
mov rax, qword [rsp + 0xb0]
test qword [rsi + 0x30], rax
jne 0x14009a493
movsxd rax, dword [rsi + 0x28]
test eax, eax
js 0x14009a493
mov rdx, rax
mov rax, qword [rcx + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx r15d, byte [rdx + rcx + 0x19]
mov rcx, qword [rsi]
call fcn.140044260
movsx ecx, al
sub ecx, 0x41
je 0x14009a3d8
mov eax, ebx
cmp ecx, 1
je 0x14009a3c9
cmp r15b, 0x43
setge al
jmp 0x14009a3d0
cmp r15b, 0x42
sete al
test eax, eax
je 0x14009a48e
mov edx, dword [rsi + 0x28]
cmp edx, 0x40
jl 0x14009a3ec
movabs rax, 0x8000000000000000
jmp 0x14009a3f6
mov ecx, edx
mov eax, 1
shl rax, cl
mov r15d, ebp
test r14, rax
jne 0x14009a48e
mov rcx, qword [rsi]
or r14, rax
mov rax, qword [r12 + 8]
mov r8, qword [rsp + 0x98]
mov word [r8 + rax], dx
mov rdx, qword [rcx + 0x10]
mov rbp, qword [rcx + 0x18]
test dword [rdx + 4], 0x100
jne 0x14009a449
test rbp, rbp
je 0x14009a439
test dword [rbp + 4], 0x100
jne 0x14009a446
mov rcx, rdi
call fcn.140043f90
test rax, rax
jne 0x14009a456
mov rdx, rbp
mov rcx, rdi
call fcn.140043f90
test rax, rax
je 0x14009a45b
mov rcx, qword [rax]
jmp 0x14009a462
lea rcx, str.BINARY
mov rdx, qword [rsp + 0xb8]
inc r13d
mov rax, qword [r12 + 0x40]
mov ebp, r15d
add qword [rsp + 0x98], 2
mov qword [rdx + rax], rcx
add rdx, 8
mov qword [rsp + 0xb8], rdx
mov rcx, qword [rsp + 0x50]
add rsi, 0x40
cmp rsi, qword [rsp + 0xa0]
jb 0x14009a360
mov rdi, qword [rsp + 0xc0]
lea r15, str.BINARY
mov r14, qword [rsp + 0x80]
mov r9d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x88]
mov dword [rsp + 0x44], r13d
mov ecx, ebx
test ebp, ebp
jle 0x14009a519
mov r10, qword [rsp + 0x60]
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r10, rax
jae 0x14009a50e
mov rax, qword [r12 + 8]
inc r13d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r12 + 0x40]
mov qword [rdx + rax], r15
add rdx, 8
inc ecx
cmp ecx, ebp
jl 0x14009a4e8
mov dword [rsp + 0x44], r13d
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x60], rbx
jge 0x14009a572
mov r8d, 0x3f
cmp r8w, word [r11 + 0x3e]
jge 0x14009a572
movsxd rax, r13d
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r12 + 8]
lea rdx, [rdx + 2]
inc r13d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r8w
inc r8d
mov rax, qword [r12 + 0x40]
mov qword [rcx + rax - 8], r15
movsx eax, word [r11 + 0x3e]
cmp r8d, eax
jl 0x14009a540
mov dword [rsp + 0x44], r13d
mov rax, qword [r12 + 8]
lea edx, [r9 + 1]
mov rbp, qword [rsp + 0x90]
movsxd rcx, r13d
mov word [rax + rcx*2], 0xffff
mov rax, qword [r12 + 0x40]
mov qword [rax + rcx*8], r15
mov r15, qword [rsp + 0x78]
mov eax, dword [r15 + 0x34]
mov dword [rbp + 8], eax
inc dword [r15 + 0x34]
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
mov r8d, dword [rbp + 8]
cmp dword [rax + 0x3c], ecx
jg 0x14009a5cf
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x6a
mov rcx, rdi
call fcn.14002c4b0
jmp 0x14009a5fc
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x6a
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rsi, qword [r15 + 0x10]
mov rdx, r12
mov rcx, r15
call fcn.14005e6f0
mov rcx, qword [rsi]
mov rdx, rax
cmp byte [rcx + 0x55], bl
je 0x14009a625
mov r8, rax
mov edx, 0xfffffffa
call fcn.14002d250
jmp 0x14009a663
movsxd rax, dword [rsi + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 - 0x17], bl
lea r10, [rax + rcx*8]
je 0x14009a655
mov r8, rdx
mov r9d, 0xfffffffa
lea rdx, [r10 - 0x18]
mov rcx, rsi
call fcn.14002d570
jmp 0x14009a663
test rdx, rdx
je 0x14009a663
mov qword [r10 - 8], rdx
mov byte [r10 - 0x17], 0xfa
inc dword [r15 + 0x4c]
movzx eax, byte [rbp + 0x2c]
imul r13, rax, 0x78
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
add r13, qword [rax + 8]
mov rax, qword [rdi + 0x18]
test byte [r13 + 0x48], 0x10
je 0x14009a788
movsxd r8, dword [rdi + 0xb8]
mov ebp, dword [r13 + 0x3c]
mov dword [rsp + 0x58], r8d
cmp dword [rax + 0x3c], r8d
jg 0x14009a6bf
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x4c]
call fcn.14002c4b0
mov dword [rsp + 0x58], eax
jmp 0x14009a6e9
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x4c
mov byte [rax + rcx*8 + 3], bl
mov qword [rax + rcx*8 + 4], rbx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
mov edx, dword [r13 + 0x38]
cmp dword [rax + 0x3c], ecx
jg 0x14009a715
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0xf]
call fcn.14002c4b0
jmp 0x14009a741
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xf
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rdi + 0x18]
movsxd rsi, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], esi
jg 0x14009a76b
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0x10]
call fcn.14002c4b0
mov esi, eax
jmp 0x14009a7da
lea eax, [rsi + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x10
mov dword [rax + rcx*8 + 4], ebp
jmp 0x14009a7cc
movsxd rsi, dword [rdi + 0xb8]
mov edx, dword [rbp + 4]
cmp dword [rax + 0x3c], esi
jg 0x14009a7b1
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0x39]
call fcn.14002c4b0
mov esi, eax
jmp 0x14009a7da
lea eax, [rsi + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x39
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], rbx
mov qword [rax + rcx*8 + 8], rbx
mov byte [rax + rcx*8 + 3], bl
test r14, r14
je 0x14009a80b
mov rcx, rdi
call fcn.14002cb60
mov r9d, 0x10
mov dword [rsp + 0x70], eax
mov r8d, eax
mov rdx, r14
mov rcx, r15
call fcn.14004d280
mov rax, qword [rsp + 0x68]
or dword [rax + 0x28], 0x20000
movzx ecx, byte [r15 + 0x1f]
test cl, cl
jne 0x14009a81e
inc dword [r15 + 0x38]
mov ebp, dword [r15 + 0x38]
jmp 0x14009a82f
dec cl
movzx eax, cl
mov byte [r15 + 0x1f], al
mov ebp, dword [r15 + rax*4 + 0x18c]
mov r8, qword [rsp + 0x90]
mov r9d, ebp
mov dword [rsp + 0x38], ebx
mov rdx, r12
mov qword [rsp + 0x30], rbx
mov rcx, r15
mov qword [rsp + 0x28], rbx
mov r8d, dword [r8 + 4]
mov dword [rsp + 0x20], ebx
call fcn.140061a10
mov rcx, qword [rdi + 0x18]
mov r12d, eax
mov r11, qword [rsp + 0x90]
movsxd rdx, dword [rdi + 0xb8]
mov r8d, dword [r11 + 8]
cmp dword [rcx + 0x3c], edx
jg 0x14009a898
mov r9d, ebp
mov dword [rsp + 0x20], ebx
mov edx, 0x7e
mov rcx, rdi
call fcn.14002c4b0
mov r11, qword [rsp + 0x90]
jmp 0x14009a8c5
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x7e
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0xb8]
mov r8d, ecx
test ecx, ecx
jle 0x14009a8e9
mov rax, qword [rdi + 0x68]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 - 0x15], 0x10
mov ecx, dword [rdi + 0xb8]
mov r8d, ecx
mov edx, ecx
test r14, r14
je 0x14009a912
mov rax, qword [rdi + 0x18]
mov r9, qword [rax + 0x58]
test r9, r9
je 0x14009a912
mov eax, dword [rsp + 0x70]
not eax
cdqe
mov dword [r9 + rax*4], ecx
mov edx, dword [rdi + 0xb8]
mov r8d, edx
test byte [r13 + 0x48], 0x10
lea r15, [0x140137a20]
je 0x14009aa3c
mov ecx, dword [rsp + 0x58]
test ecx, ecx
jns 0x14009a930
lea ecx, [r8 - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], bl
je 0x14009a93d
mov rcx, r15
jmp 0x14009a94c
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rcx, [rax + rcx*8]
mov eax, dword [rsp + 0x44]
add eax, r12d
mov dword [rcx + 8], eax
mov ecx, esi
mov r10d, dword [r13 + 0x40]
mov r9d, dword [r11 + 4]
mov r8d, dword [rdi + 0xb8]
test esi, esi
jns 0x14009a96f
lea ecx, [r8 - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], bl
je 0x14009a97c
mov rdx, r15
jmp 0x14009a98b
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rdx, [rax + rcx*8]
cmp esi, r8d
jge 0x14009a9d9
add rdx, 4
sub r8d, esi
cmp dword [rdx], r9d
jne 0x14009a9cf
movzx eax, byte [rdx - 4]
cmp al, 0x60
jne 0x14009a9bb
mov ecx, dword [rdx + 4]
mov eax, dword [rdx + 8]
add ecx, r10d
mov dword [rdx], ecx
mov byte [rdx - 4], 0x54
mov dword [rdx + 4], eax
mov dword [rdx + 8], ebx
jmp 0x14009a9cf
cmp al, 0x7b
jne 0x14009a9cf
mov eax, dword [rdx + 4]
mov dword [rdx], eax
mov dword [rdx + 4], 1
mov byte [rdx - 4], 0x5b
add rdx, 0x18
sub r8, 1
jne 0x14009a997
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14009aa09
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov rcx, rdi
lea edx, [r8 + 0xd]
call fcn.14002c4b0
and dword [r13 + 0x48], 0xffffffef
jmp 0x14009aa91
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
and dword [r13 + 0x48], 0xffffffef
jmp 0x14009aa91
mov rax, qword [rdi + 0x18]
lea r9d, [rsi + 1]
mov r8d, dword [r11 + 4]
cmp dword [rax + 0x3c], edx
jg 0x14009aa60
mov edx, 7
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.14002c4b0
jmp 0x14009aa91
lea eax, [rdx + 1]
mov dword [rdi + 0xb8], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 7
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rax, dword [rdi + 0xb8]
test eax, eax
jle 0x14009aaa9
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 - 0x15], 3
mov rax, qword [rdi]
mov edx, dword [rdi + 0xb8]
cmp byte [rax + 0x55], bl
je 0x14009aabc
mov rax, r15
jmp 0x14009aad2
lea eax, [rdx - 1]
test esi, esi
cmovns eax, esi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rax, [rax + rcx*8]
mov r13, qword [rsp + 0x78]
mov dword [rax + 8], edx
test ebp, ebp
je 0x14009ab13
movzx edx, byte [r13 + 0x1f]
cmp dl, 8
jae 0x14009ab13
movzx ecx, byte [r13 + 0x25]
lea rax, [r13 + 0xc4]
test ecx, ecx
je 0x14009ab07
cmp dword [rax + 0xc], ebp
je 0x14009ab4c
inc ebx
add rax, 0x14
cmp ebx, ecx
jl 0x14009aaf8
mov dword [r13 + rdx*4 + 0x18c], ebp
inc byte [r13 + 0x1f]
mov rcx, r13
call fcn.14004a650
mov rax, qword [rdi]
mov r11d, dword [rdi + 0xb8]
cmp byte [rax + 0x55], 0
jne 0x14009ab46
mov ecx, dword [rsp + 0x74]
lea eax, [r11 - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea r15, [rax + rdx*8]
mov dword [r15 + 8], r11d
jmp 0x14009ab57
mov byte [rax + 6], 1
jmp 0x14009ab13
mov r13, qword [rsp + 0x78]
test r14, r14
je 0x14009ab68
mov rcx, qword [r13]
mov rdx, r14
call fcn.140045870
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret