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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
sub rsp, 0x140
mov rbx, qword [rcx + 0x10]
mov r10, qword [rcx]
movzx r8d, byte [rsp + 0x190]
mov qword [rax - 0x10], rbp
mov rbp, rcx
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov r12, rdx
xor edx, edx
mov qword [rax - 0x30], r13
mov dword [rsp + 0x84], edx
mov dword [rsp + 0x80], edx
mov dword [rsp + 0x98], edx
mov byte [rsp + 0x60], dl
mov qword [rsp + 0xa0], r10
test rbx, rbx
jne 0x14006da98
call fcn.14007a150
movzx r8d, byte [rsp + 0x190]
mov rbx, rax
mov r10, qword [rsp + 0xa0]
xor edx, edx
test byte [r12 + 0x40], 0x20
mov eax, 1
jne 0x14006daaf
mov qword [rsp + 0x88], rdx
jmp 0x14006dadf
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x14006dadb
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x14006dad3
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14006dac1
mov qword [rsp + 0x88], rcx
movzx eax, word [rcx + 0x5e]
movsx r13, word [r12 + 0x46]
mov esi, edx
mov qword [rsp + 0x110], r14
mov ecx, 2
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x108], r15
test r13, r13
jle 0x14006dd63
mov r12, qword [rsp + 0x1a8]
mov r15, rdx
mov r14, rdx
mov rdx, qword [rsp + 0x158]
nop
movsx eax, word [rdx + 0x44]
cmp esi, eax
je 0x14006dd38
test r12, r12
je 0x14006db3c
cmp dword [r12 + r15*4], 0
jl 0x14006dd38
mov r9, qword [rdx + 8]
movzx eax, byte [r14 + r9 + 0x18]
test al, al
je 0x14006dd38
cmp r8b, 0xa
jne 0x14006db5d
cmp al, r8b
jne 0x14006db5d
mov edi, ecx
jmp 0x14006db76
cmp r8b, 0xa
movzx edi, r8b
cmove edi, eax
cmp edi, 5
jne 0x14006db76
cmp qword [r14 + r9 + 8], 0
cmove edi, ecx
mov ecx, edi
sub ecx, 1
je 0x14006dc51
sub ecx, 1
je 0x14006dc38
sub ecx, 1
je 0x14006dc51
cmp ecx, 1
mov rcx, rbx
je 0x14006dc13
mov edi, dword [rsp + 0x178]
mov edx, 0x23
inc edi
add edi, esi
mov r8d, edi
call fcn.140037130
mov rdx, qword [rsp + 0x158]
mov r8d, edi
mov rcx, qword [rsp + 0x150]
mov ebp, eax
mov rdx, qword [rdx + 8]
mov rdx, qword [r14 + rdx + 8]
call fcn.140053c20
mov edx, dword [rbx + 0xb8]
test ebp, ebp
jns 0x14006dbe3
lea ebp, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
je 0x14006dbfb
lea rax, [0x1400fbd48]
mov dword [rax + 8], edx
jmp 0x14006dd23
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14006dd23
mov r8d, dword [rsp + 0x178]
mov edx, 0x22
mov r9d, dword [rsp + 0x198]
inc r8d
add r8d, esi
call fcn.1400371a0
jmp 0x14006dd2b
mov rax, qword [rbp + 0xa0]
mov rcx, rbp
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov r9, qword [rdx + 8]
mov r8, qword [rdx]
mov rcx, r10
mov r9, qword [r9 + r14]
lea rdx, str._s._s
call fcn.140017540
mov r8d, dword [rsp + 0x178]
mov rbp, rax
mov rcx, qword [rbx + 0x18]
inc r8d
movsxd rdx, dword [rbx + 0xb8]
add r8d, esi
cmp dword [rcx + 0x3c], edx
jg 0x14006dca5
mov dword [rsp + 0x20], r8d
mov r9d, edi
mov r8d, 0x513
mov edx, 0x4b
mov rcx, rbx
call fcn.140036ff0
jmp 0x14006dcd5
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 4], 0x513
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x14006dced
mov r8, rbp
mov edx, 0xffffffff
call fcn.140037e90
jmp 0x14006dd06
movsxd rax, dword [rbx + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 - 0x17], 0xff
mov qword [rax + rcx*8 - 8], rbp
movsxd rax, dword [rbx + 0xb8]
test eax, eax
jle 0x14006dd23
lea rcx, [rax + rax*2]
mov edx, 1
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*8 - 0x16], dx
mov rbp, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
mov ecx, 2
movzx r8d, byte [rsp + 0x190]
inc esi
mov r10, qword [rsp + 0xa0]
inc r15
add r14, 0x20
cmp r15, r13
jl 0x14006db20
mov r12, qword [rsp + 0x158]
mov r13, qword [r12 + 0x30]
movzx edi, byte [rsp + 0x188]
mov r15d, dword [rsp + 0x178]
movzx r14d, byte [rsp + 0x190]
test r13, r13
je 0x14006df9a
mov rax, qword [rsp + 0xa0]
test dword [rax + 0x2c], 0x2000
jne 0x14006df9a
lea eax, [r15 + 1]
mov dword [rbp + 0x44], eax
movzx ebp, r14b
cmp r14b, 0xa
jne 0x14006ddb2
mov ebp, ecx
xor esi, esi
mov r12d, esi
cmp dword [r13], esi
jle 0x14006df92
mov r15d, esi
lea rdx, [0x14006d9e0]
nop dword [rax + rax]
mov rax, qword [r13 + 8]
mov r14, qword [r15 + rax]
mov rax, qword [rsp + 0x1a8]
test rax, rax
je 0x14006de43
xor ecx, ecx
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
test r14, r14
je 0x14006de2c
mov rdx, r14
lea rcx, [rsp + 0xc8]
call fcn.140049a10
movzx eax, byte [rsp + 0xec]
test dil, dil
jne 0x14006de3b
and al, 0xfd
test al, al
je 0x14006df69
mov rsi, qword [rbx + 0x18]
movsxd rdi, dword [rsi + 0x54]
lea eax, [rdi + 1]
mov dword [rsi + 0x54], eax
lea eax, [rdi - 1]
test edi, eax
jne 0x14006de76
mov rdx, qword [rsi + 0x58]
lea eax, [rdi*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x14006de86
mov dword [rcx + rdi*4], 0xffffffff
mov rsi, qword [rsp + 0x150]
not edi
mov r8d, edi
mov rcx, rsi
mov r9d, 0x10
mov rdx, r14
call fcn.140054210
cmp ebp, 4
jne 0x14006df08
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006ded7
mov r9d, dword [rsp + 0x198]
lea edx, [rbp + 9]
xor eax, eax
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140036ff0
jmp 0x14006df46
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
xor esi, esi
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x14006df46
mov rax, qword [r13 + 8]
mov r9, qword [rax + r15 + 8]
test r9, r9
jne 0x14006df21
mov rax, qword [rsp + 0x158]
mov r9, qword [rax]
cmp ebp, 5
mov byte [rsp + 0x28], 3
mov eax, 2
mov byte [rsp + 0x20], 0
cmove ebp, eax
mov edx, 0x113
mov r8d, ebp
mov rcx, rsi
call fcn.140061b80
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14006df61
mov eax, dword [rbx + 0xb8]
not edi
movsxd rcx, edi
mov dword [rdx + rcx*4], eax
movzx edi, byte [rsp + 0x188]
inc r12d
lea rdx, [0x14006d9e0]
add r15, 0x28
cmp r12d, dword [r13]
jl 0x14006ddd0
mov r15d, dword [rsp + 0x178]
movzx r14d, byte [rsp + 0x190]
mov r12, qword [rsp + 0x158]
mov ebp, 0x90
lea r10d, [rbp - 0x6b]
test dil, dil
je 0x14006e4ae
cmp qword [rsp + 0x88], 0
jne 0x14006e4ae
mov rdi, qword [rbx + 0x18]
movsxd rsi, dword [rdi + 0x54]
lea eax, [rsi + 1]
mov dword [rdi + 0x54], eax
lea eax, [rsi - 1]
test esi, eax
jne 0x14006dff2
mov rdx, qword [rdi + 0x58]
lea eax, [rsi*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
lea r10d, [rbp - 0x6b]
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14006e002
mov dword [rcx + rsi*4], 0xffffffff
movzx edi, byte [r12 + 0x4c]
not esi
cmp r14b, 0xa
je 0x14006e016
movzx edi, r14b
jmp 0x14006e021
cmp edi, 0xa
mov eax, 2
cmove edi, eax
mov edx, dword [rsp + 0x180]
test edx, edx
je 0x14006e098
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006e053
mov dword [rsp + 0x20], edx
mov r9d, esi
mov edx, r10d
mov r8d, r15d
mov rcx, rbx
call fcn.140036ff0
jmp 0x14006e080
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rbx + 0xb8]
test eax, eax
jle 0x14006e098
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*8 - 0x16], bp
cmp edi, 5
jne 0x14006e121
cmp r14b, dil
je 0x14006e121
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x14006e121
movzx eax, byte [rcx + 0x62]
sub al, 3
cmp al, 1
jbe 0x14006e0c5
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14006e0b0
jmp 0x14006e121
movsxd rdx, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x80], edx
cmp dword [rax + 0x3c], edx
jg 0x14006e0fc
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0xd]
call fcn.140036ff0
mov dword [rsp + 0x80], eax
jmp 0x14006e121
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
mov r13d, dword [rsp + 0x168]
cmp dword [rax + 0x3c], ecx
jg 0x14006e156
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov r8d, r13d
mov edx, 0x21
mov rcx, rbx
call fcn.140036ff0
xor r10d, r10d
jmp 0x14006e184
lea eax, [rcx + 1]
xor r10d, r10d
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r10
test edi, edi
je 0x14006e370
cmp edi, 3
jbe 0x14006e377
cmp edi, 4
je 0x14006e30f
cmp edi, 5
jne 0x14006e370
mov rax, qword [rsp + 0xa0]
mov rbp, r10
mov r14, qword [rsp + 0x150]
test dword [rax + 0x2c], 0x40000
je 0x14006e213
mov rax, qword [r14]
mov edi, r10d
mov r8, r10
test dword [rax + 0x2c], 0x1000000
je 0x14006e1e6
mov rdx, r12
mov rcx, r14
call fcn.1400825b0
mov r8, rax
xor r10d, r10d
mov rdx, r8
test r8, r8
je 0x14006e205
nop
cmp byte [rdx + 0x10], 0x6d
jne 0x14006e1fc
movzx ecx, byte [rdx + 0x11]
or edi, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14006e1f0
test edi, edi
mov rbp, r10
cmovne rbp, r8
test rbp, rbp
jne 0x14006e251
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x14006e2be
mov rcx, qword [r12 + 0x70]
lea r8, [rsp + 0xb0]
mov rdx, qword [r12]
add rcx, 0x50
call fcn.140019b10
test rax, rax
je 0x14006e249
cmp qword [rax + 0x10], 0
jne 0x14006e251
cmp qword [r12 + 0x20], 0
je 0x14006e2bb
mov rax, qword [r14 + 0xa0]
mov rcx, r14
mov r9d, dword [rsp + 0x170]
test rax, rax
mov r8, rbp
mov rdx, r12
cmovne rcx, rax
mov eax, 0xffffffff
mov dword [rsp + 0x50], eax
mov eax, 1
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], ax
mov byte [rcx + 0x20], 1
mov rcx, r14
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r9d
mov r9d, r13d
call fcn.1400642e0
mov dword [rsp + 0x84], 1
jmp 0x14006e3e3
xor r10d, r10d
cmp qword [r12 + 0x10], 0
je 0x14006e2ff
mov rax, qword [r14 + 0xa0]
mov rcx, r14
mov r9d, dword [rsp + 0x170]
test rax, rax
mov r8d, r13d
mov rdx, r12
cmovne rcx, rax
mov eax, 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r10
mov byte [rcx + 0x20], 1
mov rcx, r14
call fcn.140064860
mov dword [rsp + 0x84], 1
jmp 0x14006e3e3
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006e340
mov r9d, dword [rsp + 0x198]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r10d
lea edx, [r8 + 0xd]
call fcn.140036ff0
jmp 0x14006e3e3
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x14006e3e6
mov eax, 2
mov edi, eax
mov rcx, qword [rsp + 0x150]
movzx eax, word [r12 + 0x44]
mov r8, qword [r12]
mov rcx, qword [rcx]
test ax, ax
js 0x14006e3b5
mov r9, qword [r12 + 8]
lea rdx, str._s._s
movsx rax, ax
shl rax, 5
mov r9, qword [rax + r9]
call fcn.140017540
mov edx, 0x613
jmp 0x14006e3c6
lea rdx, str._s.rowid
call fcn.140017540
mov edx, 0xa13
mov rcx, qword [rsp + 0x150]
mov r9, rax
mov byte [rsp + 0x28], 2
mov r8d, edi
mov byte [rsp + 0x20], 0xff
call fcn.140061b80
xor r10d, r10d
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14006e401
mov eax, dword [rbx + 0xb8]
not esi
movsxd rcx, esi
mov dword [rdx + rcx*4], eax
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x14006e4ae
movsxd r9, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x98], r9d
cmp dword [rax + 0x3c], r9d
jg 0x14006e453
xor r9d, r9d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0xd]
call fcn.140036ff0
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x98], eax
jmp 0x14006e47b
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rbx]
mov edx, dword [rbx + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14006e493
lea rax, [0x1400fbd48]
jmp 0x14006e4ab
lea eax, [rdx - 1]
test r8d, r8d
cmovns eax, r8d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r13, qword [r12 + 0x10]
xor r10d, r10d
mov dword [rsp + 0x94], r10d
mov edi, r10d
mov qword [rsp + 0xc0], r13
test r13, r13
je 0x14006f0e2
mov rbp, qword [rsp + 0x160]
mov esi, r10d
mov qword [rsp + 0x70], r10
cmp dword [rbp + rsi*4], 0
je 0x14006f0af
cmp byte [rsp + 0x60], 0
jne 0x14006e508
lea r8d, [r15 + 1]
mov rdx, r12
mov rcx, rbx
call fcn.14006b8d0
mov byte [rsp + 0x60], 1
mov eax, dword [rsp + 0x170]
add eax, edi
mov rdi, qword [rbx + 0x18]
mov dword [rsp + 0x7c], eax
movsxd r14, dword [rdi + 0x54]
lea eax, [r14 + 1]
mov dword [rdi + 0x54], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x14006e54c
mov rdx, qword [rdi + 0x58]
lea eax, [r14*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14006e55e
mov edx, 0xffffffff
mov dword [rcx + r14*4], edx
cmp qword [r13 + 0x48], 0
not r14d
mov dword [rsp + 0x90], r14d
je 0x14006e63b
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
mov edx, dword [rbp + rsi*4]
cmp dword [rax + 0x3c], ecx
jg 0x14006e5a4
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x50]
call fcn.140036ff0
xor r8d, r8d
jmp 0x14006e5ce
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov r12, qword [rsp + 0x150]
lea eax, [r15 + 1]
mov rsi, qword [r12]
mov dword [r12 + 0x44], eax
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x14006e5ff
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.14004dfd0
mov rdi, rax
jmp 0x14006e602
mov rdi, r8
cmp byte [rsi + 0x55], 0
jne 0x14006e61c
mov r9d, 0x10
mov r8d, r14d
mov rdx, rdi
mov rcx, r12
call fcn.140054620
test rdi, rdi
je 0x14006e62c
mov rdx, rdi
mov rcx, rsi
call fcn.14004dd40
mov rsi, qword [rsp + 0x70]
xor r10d, r10d
mov dword [r12 + 0x44], r10d
jmp 0x14006e646
mov r12, qword [rsp + 0x150]
xor r10d, r10d
mov edx, dword [rbp + rsi*4]
movzx ecx, word [r13 + 0x60]
lea ebp, [rdx + 1]
mov dword [rsp + 0x64], ebp
cmp r10w, cx
jae 0x14006e7af
mov r15, r10
mov r14, r10
nop word [rax + rax]
mov rax, qword [r13 + 8]
movsx edx, word [r14 + rax]
cmp edx, 0xfffffffe
jne 0x14006e6e8
mov eax, dword [rsp + 0x178]
mov rsi, qword [r12]
inc eax
mov dword [r12 + 0x44], eax
mov rax, qword [r13 + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r15 + rcx]
test rdx, rdx
je 0x14006e6b4
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.14004dfd0
mov rdi, rax
jmp 0x14006e6b7
mov rdi, r10
cmp byte [rsi + 0x55], 0
jne 0x14006e6cb
mov r8d, ebp
mov rdx, rdi
mov rcx, r12
call fcn.140053c20
test rdi, rdi
je 0x14006e6db
mov rdx, rdi
mov rcx, rsi
call fcn.14004dd40
xor r10d, r10d
mov dword [r12 + 0x44], r10d
jmp 0x14006e775
cmp edx, 0xffffffff
je 0x14006e70d
mov rax, qword [rsp + 0x158]
movsx eax, word [rax + 0x44]
cmp edx, eax
je 0x14006e70d
mov r8d, dword [rsp + 0x178]
inc r8d
add r8d, edx
jmp 0x14006e715
mov r8d, dword [rsp + 0x178]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
sar edx, 0x1f
and edx, 1
add edx, 0x56
cmp dword [rax + 0x3c], ecx
jg 0x14006e743
mov r9d, ebp
mov dword [rsp + 0x20], r10d
mov rcx, rbx
call fcn.140036ff0
xor r10d, r10d
jmp 0x14006e775
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r10w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov byte [rax + rcx*8 + 1], 0
movzx ecx, word [r13 + 0x60]
inc ebp
mov eax, ebp
add r14, 2
sub eax, dword [rsp + 0x64]
add r15, 0x28
cmp eax, ecx
jl 0x14006e670
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x160]
mov r14d, dword [rsp + 0x90]
mov ebp, dword [rsp + 0x64]
mov edx, dword [r8 + rsi*4]
mov rax, qword [rbx + 0x18]
movzx r8d, cx
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006e7df
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, ebp
mov edx, 0x64
mov rcx, rbx
call fcn.140036ff0
xor r10d, r10d
jmp 0x14006e809
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x64
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r10
cmp dword [rsp + 0x180], 0
mov r15, qword [rsp + 0x88]
je 0x14006e85f
cmp r15, r13
jne 0x14006e85f
cmp byte [rsp + 0x188], 0
jne 0x14006e85f
mov rax, qword [rbx + 0x18]
mov r12, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14006f0af
mov eax, dword [rbx + 0xb8]
not r14d
movsxd rcx, r14d
mov dword [rdx + rcx*4], eax
jmp 0x14006f0af
movzx esi, byte [r13 + 0x62]
test esi, esi
jne 0x14006e86f
mov rsi, qword [rsp + 0x70]
jmp 0x14006e82a
movzx eax, byte [rsp + 0x190]
cmp al, 0xa
je 0x14006e880
movzx esi, al
jmp 0x14006e88b
cmp esi, 0xa
mov eax, 2
cmove esi, eax
cmp qword [rsp + 0x70], 0
mov dword [rsp + 0xac], esi
jne 0x14006e95c
cmp qword [r13 + 0x28], 0
jne 0x14006e95c
cmp r15, r13
jne 0x14006e95c
cmp esi, 5
jne 0x14006e95c
mov r9, qword [rsp + 0xa0]
test dword [r9 + 0x2c], 0x40000
je 0x14006e929
mov rax, qword [r12]
mov edi, r10d
mov r8, r10
test dword [rax + 0x2c], 0x1000000
je 0x14006e8fe
mov rdx, qword [rsp + 0x158]
mov rcx, r12
call fcn.1400825b0
mov r9, qword [rsp + 0xa0]
mov r8, rax
xor r10d, r10d
mov rdx, r8
test r8, r8
je 0x14006e91b
cmp byte [rdx + 0x10], 0x6d
jne 0x14006e912
movzx ecx, byte [rdx + 0x11]
or edi, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14006e906
test edi, edi
mov rax, r10
cmovne rax, r8
test rax, rax
jne 0x14006e95c
test dword [r9 + 0x2c], 0x80000
je 0x14006e94f
mov rax, qword [rsp + 0x158]
cmp qword [rax + 0x20], 0
jne 0x14006e95c
mov rcx, rax
call fcn.140069a90
test rax, rax
jne 0x14006e95c
mov rsi, qword [rsp + 0x70]
xor r10d, r10d
jmp 0x14006e82a
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
movzx edi, word [r13 + 0x5e]
mov r8d, dword [rsp + 0x7c]
cmp dword [rax + 0x3c], edx
jg 0x14006e996
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov edx, 0x1d
mov rcx, rbx
call fcn.140036ff0
mov r8d, dword [rsp + 0x7c]
mov edx, eax
xor r10d, r10d
jmp 0x14006e9c4
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rbx]
cmp byte [rax + 0x55], 0
jne 0x14006e9e1
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], edi
cmp r13, r15
je 0x14006ea4b
mov edx, dword [rsp + 0x78]
cmp edx, 1
jne 0x14006ea19
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x14006ea05
inc dword [r12 + 0x38]
mov ebp, dword [r12 + 0x38]
jmp 0x14006ea4b
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov ebp, dword [r12 + rax*4 + 0x18c]
jmp 0x14006ea4b
mov ecx, dword [r12 + 0x28]
mov ebp, dword [r12 + 0x2c]
mov dword [rsp + 0x68], ebp
cmp edx, ecx
jg 0x14006ea3c
lea eax, [rdx + rbp]
sub ecx, edx
mov dword [r12 + 0x2c], eax
mov dword [r12 + 0x28], ecx
jmp 0x14006ea4f
mov eax, dword [r12 + 0x38]
lea ebp, [rax + 1]
add eax, edx
mov dword [r12 + 0x38], eax
mov dword [rsp + 0x68], ebp
mov r9d, dword [rsp + 0x180]
test r9d, r9d
jne 0x14006ea65
cmp esi, 5
jne 0x14006ee5d
mov r12, qword [rsp + 0x158]
test byte [r12 + 0x40], 0x20
jne 0x14006eb5e
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006eaab
mov r9d, ebp
mov dword [rsp + 0x20], r10d
mov edx, 0x81
mov rcx, rbx
call fcn.140036ff0
mov r9d, dword [rsp + 0x180]
xor r10d, r10d
jmp 0x14006ead6
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
test r9d, r9d
je 0x14006eecc
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006eb09
mov dword [rsp + 0x20], r9d
mov r8d, ebp
mov r9d, r14d
mov edx, 0x25
mov rcx, rbx
call fcn.140036ff0
jmp 0x14006eb34
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r10
movsxd rax, dword [rbx + 0xb8]
mov ebp, dword [rsp + 0x64]
test eax, eax
jle 0x14006ee69
lea rcx, [rax + rax*2]
mov edx, 0x90
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x14006ee69
cmp r13, r15
je 0x14006ec3c
cmp r10w, word [r15 + 0x5e]
jae 0x14006ec3c
mov r14d, dword [rsp + 0x7c]
mov edi, ebp
mov rsi, r10
mov r12d, 0xffffffff
movzx edx, word [r13 + 0x60]
mov ecx, r10d
test edx, edx
je 0x14006ebb0
mov rax, qword [r15 + 8]
mov r8, qword [r13 + 8]
movzx r9d, word [rsi + rax]
nop dword [rax + rax]
movsxd rax, ecx
cmp r9w, word [r8 + rax*2]
je 0x14006ebb4
inc ecx
cmp ecx, edx
jl 0x14006eba0
movzx ecx, r12w
mov rax, qword [rbx + 0x18]
movsx edx, cx
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006ebe3
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov r8d, r14d
mov rcx, rbx
call fcn.140036ff0
xor r10d, r10d
jmp 0x14006ec0d
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r10
movzx eax, word [r15 + 0x5e]
inc edi
mov ecx, edi
add rsi, 2
sub ecx, ebp
cmp ecx, eax
jl 0x14006eb82
mov r14d, dword [rsp + 0x90]
mov r12, qword [rsp + 0x158]
mov r9d, dword [rsp + 0x180]
test r9d, r9d
je 0x14006eecc
movzx ecx, word [r15 + 0x5e]
mov edx, ebp
mov edi, dword [rbx + 0xb8]
mov r12d, r10d
mov eax, dword [r13 + 0x64]
add edi, ecx
mov ebp, dword [rsp + 0x64]
and al, 3
cmp al, 2
mov dword [rsp + 0xa8], 0x24
cmove edx, ebp
mov dword [rsp + 0xb0], edx
test ecx, ecx
je 0x14006ee61
mov qword [rsp + 0xb8], r10
mov r13, r10
nop dword [rax + rax]
mov rax, qword [rsp + 0x88]
mov r15d, edi
mov rax, qword [rax + 0x40]
mov rbp, qword [rax + r13]
mov rax, qword [rsp + 0x150]
mov r8, rbp
mov rcx, qword [rax]
movzx r14d, byte [rcx + 0x52]
movzx edi, byte [rcx + 0xa9]
movzx edx, r14b
mov r9d, edi
call fcn.1400629b0
mov rsi, rax
test dil, dil
jne 0x14006ecf7
test rax, rax
je 0x14006ecdd
cmp qword [rax + 0x18], 0
jne 0x14006ecf7
mov rcx, qword [rsp + 0x150]
mov r9, rbp
mov r8, rax
movzx edx, r14b
call fcn.140062700
mov rsi, rax
mov rdx, qword [rsp + 0x88]
mov r10d, dword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb8]
mov r14d, dword [rsp + 0x90]
mov edi, r14d
mov rax, qword [rdx + 8]
mov r9d, dword [rsp + 0xb0]
movsx r8d, word [rax + rbp]
movzx eax, word [rdx + 0x5e]
mov edx, 0x25
dec eax
cmp r12d, eax
mov eax, dword [rsp + 0x180]
cmove r10d, edx
cmovne edi, r15d
movsxd rdx, dword [rbx + 0xb8]
inc eax
add r8d, eax
mov dword [rsp + 0xa8], r10d
mov rax, qword [rbx + 0x18]
add r9d, r12d
cmp dword [rax + 0x3c], edx
jg 0x14006ed7f
mov dword [rsp + 0x20], r9d
mov edx, r10d
mov r9d, edi
mov rcx, rbx
call fcn.140036ff0
mov edx, eax
jmp 0x14006edb5
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8], r10b
xor r10d, r10d
mov word [rax + rcx*8 + 2], r10w
mov qword [rax + rcx*8 + 0x10], r10
mov byte [rax + rcx*8 + 1], r10b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r9d
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x14006edcd
mov r8, rsi
mov edx, 0xfffffffd
call fcn.140037e90
jmp 0x14006ee0f
test edx, edx
jns 0x14006edd9
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14006ee02
mov r9d, 0xfffffffd
mov r8, rsi
mov rcx, rbx
call fcn.1400380f0
jmp 0x14006ee0f
test rsi, rsi
je 0x14006ee0f
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfd
movsxd rax, dword [rbx + 0xb8]
test eax, eax
jle 0x14006ee2c
lea rcx, [rax + rax*2]
mov edx, 0x90
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*8 - 0x16], dx
mov r15, qword [rsp + 0x88]
add rbp, 2
inc r12d
mov qword [rsp + 0xb8], rbp
add r13, 8
movzx eax, word [r15 + 0x5e]
cmp r12d, eax
jl 0x14006ec90
mov r13, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0x64]
mov r12, qword [rsp + 0x158]
mov edx, dword [rsp + 0xac]
test edx, edx
je 0x14006ef3a
cmp edx, 3
jbe 0x14006ef19
cmp edx, 4
jne 0x14006ef3a
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006eed2
mov r9d, dword [rsp + 0x198]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0xd]
call fcn.140036ff0
mov edi, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x150]
mov r15d, dword [rsp + 0x78]
jmp 0x14006f016
mov ebp, dword [rsp + 0x64]
jmp 0x14006ee69
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov edi, dword [rsp + 0x68]
lea rcx, [rcx + rcx*2]
mov rsi, qword [rsp + 0x150]
xor r10d, r10d
mov r15d, dword [rsp + 0x78]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x14006f019
mov rsi, qword [rsp + 0x150]
mov r8, r13
mov rcx, rsi
call fcn.140061c30
mov edi, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x78]
jmp 0x14006f016
mov rsi, qword [rsp + 0x150]
xor r10d, r10d
mov rcx, rsi
mov r8d, r10d
mov rax, qword [rsi + 0xa0]
test rax, rax
cmovne rcx, rax
mov rax, qword [rsp + 0xa0]
mov byte [rcx + 0x20], 1
test dword [rax + 0x2c], 0x40000
je 0x14006efbe
mov rax, qword [rsi]
mov edi, r10d
mov r9d, r10d
test dword [rax + 0x2c], 0x1000000
je 0x14006ef91
mov rdx, r12
mov rcx, rsi
call fcn.1400825b0
mov r9, rax
xor r10d, r10d
mov rdx, r9
test r9, r9
je 0x14006efb5
nop dword [rax]
cmp byte [rdx + 0x10], 0x6d
jne 0x14006efac
movzx ecx, byte [rdx + 0x11]
or edi, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14006efa0
test edi, edi
mov r8, r10
cmovne r8, r9
mov ecx, dword [rsp + 0x7c]
cmp r13, r15
mov r15d, dword [rsp + 0x78]
mov rdx, r12
mov edi, dword [rsp + 0x68]
sete al
mov r9d, dword [rsp + 0x168]
mov dword [rsp + 0x50], ecx
mov rcx, rsi
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x170]
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], r15w
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1400642e0
mov dword [rsp + 0x84], 1
xor r10d, r10d
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14006f035
mov eax, dword [rbx + 0xb8]
not r14d
movsxd rcx, r14d
mov dword [rdx + rcx*4], eax
cmp edi, ebp
je 0x14006f0a2
cmp r15d, 1
jne 0x14006f085
test edi, edi
je 0x14006f0a2
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14006f0a2
movzx edx, byte [rsi + 0x25]
lea rax, [rsi + 0xc4]
mov ecx, r10d
test edx, edx
je 0x14006f06f
cmp dword [rax + 0xc], edi
je 0x14006f07f
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14006f060
movzx eax, r8b
mov dword [rsi + rax*4 + 0x18c], edi
inc byte [rsi + 0x1f]
jmp 0x14006f0a2
mov byte [rax + 6], 1
jmp 0x14006f0a2
mov r8d, r15d
mov edx, edi
mov rcx, rsi
call fcn.1400522d0
xor r10d, r10d
cmp r15d, dword [rsi + 0x28]
jle 0x14006f0a2
mov dword [rsi + 0x28], r15d
mov dword [rsi + 0x2c], edi
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x160]
mov r13, qword [r13 + 0x28]
inc rsi
inc dword [rsp + 0x94]
mov r15d, dword [rsp + 0x178]
mov edi, dword [rsp + 0x94]
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0x70], rsi
test r13, r13
jne 0x14006e4e2
mov eax, dword [rsp + 0x80]
mov r15, qword [rsp + 0x108]
mov r14, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
test eax, eax
je 0x14006f1b6
movsxd rcx, dword [rbx + 0xb8]
lea r8d, [rax + 1]
mov rax, qword [rbx + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14006f156
mov r9d, r8d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140036ff0
jmp 0x14006f17e
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rbx]
mov edx, dword [rbx + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14006f196
lea rax, [0x1400fbd48]
jmp 0x14006f1b3
mov ecx, dword [rsp + 0x98]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x1a0]
mov ecx, dword [rsp + 0x84]
mov dword [rax], ecx
add rsp, 0x140
pop rbx
ret