Function at 0x14008a700
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 rdi
sub rsp, 0x140
mov rdi, qword [rcx + 0x10]
xor r8d, r8d
mov r10, qword [rcx]
mov qword [rax - 0x10], rbx
movzx ebx, byte [rsp + 0x190]
mov qword [rax - 0x20], rsi
mov rsi, rcx
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov r15, rdx
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x80], r8d
mov dword [rsp + 0x90], r8d
mov byte [rsp + 0x64], r8b
mov dword [rsp + 0x94], 0xffffffff
mov qword [rsp + 0xa8], r10
test rdi, rdi
jne 0x14008a793
call fcn.140095c70
mov r10, qword [rsp + 0xa8]
mov rdi, rax
xor r8d, r8d
test byte [r15 + 0x46], 0x20
mov eax, 1
jne 0x14008a7a6
mov qword [rsp + 0x78], r8
jmp 0x14008a7cf
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x78], rcx
test rcx, rcx
je 0x14008a7cb
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x14008a7c6
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14008a7b4
mov qword [rsp + 0x78], rcx
movzx eax, word [rcx + 0x5e]
mov dword [rsp + 0x70], eax
mov r14d, r8d
movsx rax, word [r15 + 0x3e]
mov ecx, 2
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0xc0], rax
test rax, rax
jle 0x14008a9e5
mov r13, qword [rsp + 0x1a8]
mov r12, r8
mov rdx, qword [rsp + 0x158]
mov r15, r8
nop
movsx eax, word [rdx + 0x3c]
cmp r14d, eax
je 0x14008a9ba
test r13, r13
je 0x14008a82e
cmp dword [r13 + r12*4], 0
jl 0x14008a9ba
mov r9, qword [rdx + 8]
movzx eax, byte [r15 + r9 + 0x18]
test al, al
je 0x14008a9ba
cmp bl, 0xa
jne 0x14008a84d
cmp al, bl
jne 0x14008a84d
mov ebp, ecx
jmp 0x14008a864
cmp bl, 0xa
movzx ebp, bl
cmove ebp, eax
cmp ebp, 5
jne 0x14008a864
cmp qword [r15 + r9 + 8], 0
cmove ebp, ecx
mov ecx, ebp
sub ecx, 1
je 0x14008a93b
sub ecx, 1
je 0x14008a922
sub ecx, 1
je 0x14008a93b
cmp ecx, 1
mov rcx, rdi
je 0x14008a8fd
mov ebx, dword [rsp + 0x178]
mov edx, 0x23
inc ebx
add ebx, r14d
mov r8d, ebx
call fcn.140056450
mov rcx, qword [rsp + 0x158]
mov r8d, ebx
mov ebp, eax
mov rdx, qword [rcx + 8]
mov rcx, rsi
mov rdx, qword [r15 + rdx + 8]
call fcn.140071fd0
mov edx, dword [rdi + 0xb8]
test ebp, ebp
jns 0x14008a8cd
lea ebp, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x14008a8e5
lea rax, [0x14017cd20]
mov dword [rax + 8], edx
jmp 0x14008a9a5
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14008a9a5
mov r8d, dword [rsp + 0x178]
mov edx, 0x22
mov r9d, dword [rsp + 0x198]
inc r8d
add r8d, r14d
call fcn.1400564c0
jmp 0x14008a9ad
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
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 + r15]
lea rdx, str._s._s
call fcn.140037190
mov rbx, rax
mov r9d, ebp
mov eax, dword [rsp + 0x178]
mov edx, 0x4a
inc eax
mov r8d, 0x513
add eax, r14d
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140056360
mov r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, rdi
call fcn.140057120
movsxd rax, dword [rdi + 0xb8]
test eax, eax
jle 0x14008a9a5
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 - 0x15], 1
movzx ebx, byte [rsp + 0x190]
mov rdx, qword [rsp + 0x158]
mov ecx, 2
mov r10, qword [rsp + 0xa8]
inc r14d
inc r12
add r15, 0x20
cmp r12, qword [rsp + 0xc0]
jl 0x14008a810
mov r15, qword [rsp + 0x158]
xor r8d, r8d
mov r13, qword [r15 + 0x30]
movzx edx, byte [rsp + 0x188]
mov r14d, dword [rsp + 0x178]
test r13, r13
je 0x14008ac29
mov rax, qword [rsp + 0xa8]
test dword [rax + 0x2c], 0x2000
jne 0x14008ac29
movzx ebp, bl
lea eax, [r14 + 1]
mov dword [rsi + 0x44], eax
cmp bl, 0xa
jne 0x14008aa28
mov ebp, ecx
cmp dword [r13], 0
mov ecx, r8d
mov dword [rsp + 0x60], ecx
jle 0x14008ac29
mov r12, r8
lea r9, [0x14008a6d0]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r13 + 8]
mov r15, qword [r12 + rax]
mov rax, qword [rsp + 0x1a8]
test rax, rax
je 0x14008aacf
xor r8d, r8d
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rax
test r15, r15
je 0x14008aab9
mov rdx, r15
lea rcx, [rsp + 0xc8]
call fcn.1400687f0
mov ecx, dword [rsp + 0x60]
movzx edx, byte [rsp + 0x188]
movzx eax, byte [rsp + 0xec]
test dl, dl
jne 0x14008aac7
and al, 0xfd
test al, al
je 0x14008abfe
mov r14, qword [rdi + 0x18]
movsxd rbx, dword [r14 + 0x54]
lea eax, [rbx + 1]
mov dword [r14 + 0x54], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x14008ab03
mov rdx, qword [r14 + 0x58]
lea eax, [rbx*2 + 1]
mov rcx, qword [r14]
movsxd r8, eax
shl r8, 2
call fcn.1400356c0
mov qword [r14 + 0x58], rax
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x14008ab13
mov dword [rcx + rbx*4], 0xffffffff
not ebx
mov r9d, 0x10
mov r8d, ebx
mov rdx, r15
mov rcx, rsi
call fcn.140072530
cmp ebp, 4
jne 0x14008ab99
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008ab5e
mov r9d, dword [rsp + 0x198]
lea edx, [rbp + 9]
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.140056300
jmp 0x14008abd7
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
xor r8d, r8d
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x14008abd7
mov rax, qword [r13 + 8]
mov r9, qword [r12 + rax + 8]
test r9, r9
jne 0x14008abb2
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.14007f180
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008abf2
mov eax, dword [rdi + 0xb8]
not ebx
movsxd rcx, ebx
mov dword [rdx + rcx*4], eax
movzx edx, byte [rsp + 0x188]
mov ecx, dword [rsp + 0x60]
inc ecx
lea r9, [0x14008a6d0]
add r12, 0x28
mov dword [rsp + 0x60], ecx
cmp ecx, dword [r13]
jl 0x14008aa50
mov r15, qword [rsp + 0x158]
mov r14d, dword [rsp + 0x178]
mov r10d, 0x25
test dl, dl
je 0x14008b0fa
cmp qword [rsp + 0x78], 0
jne 0x14008b0fa
mov rbx, qword [rdi + 0x18]
movsxd rbp, dword [rbx + 0x54]
lea eax, [rbp + 1]
mov dword [rbx + 0x54], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x14008ac7c
mov rdx, qword [rbx + 0x58]
lea eax, [rbp*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.1400356c0
mov qword [rbx + 0x58], rax
mov r10d, 0x25
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x14008ac8c
mov dword [rcx + rbp*4], 0xffffffff
movzx r12d, byte [rsp + 0x190]
not ebp
movzx ebx, byte [r15 + 0x47]
cmp r12b, 0xa
je 0x14008aca8
movzx ebx, r12b
jmp 0x14008acb3
cmp ebx, 0xa
mov eax, 2
cmove ebx, eax
mov edx, dword [rsp + 0x180]
test edx, edx
je 0x14008ad2f
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008ace5
mov dword [rsp + 0x20], edx
mov r9d, ebp
mov edx, r10d
mov r8d, r14d
mov rcx, rdi
call fcn.140056300
jmp 0x14008ad17
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
movsxd rax, dword [rdi + 0xb8]
test eax, eax
jle 0x14008ad2f
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 - 0x15], 0x90
cmp ebx, 5
jne 0x14008adcb
cmp r12b, bl
je 0x14008adcb
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14008adcb
nop
movzx eax, byte [rcx + 0x62]
sub al, 3
cmp al, 1
jbe 0x14008ad65
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x14008ad50
jmp 0x14008adcb
movsxd rdx, dword [rdi + 0xb8]
mov rax, qword [rdi + 0x18]
mov dword [rsp + 0x80], edx
cmp dword [rax + 0x3c], edx
jg 0x14008ad9f
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.140056300
mov dword [rsp + 0x80], eax
jmp 0x14008adcb
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
mov r12d, dword [rsp + 0x168]
cmp dword [rax + 0x3c], ecx
jg 0x14008ae00
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, r12d
mov edx, 0x21
mov rcx, rdi
call fcn.140056300
xor r13d, r13d
jmp 0x14008ae32
lea eax, [rcx + 1]
xor r13d, r13d
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r13
test ebx, ebx
je 0x14008afc7
cmp ebx, 3
jbe 0x14008afce
cmp ebx, 4
je 0x14008afb6
cmp ebx, 5
jne 0x14008afc7
mov rax, qword [rsp + 0xa8]
mov r14, r13
test dword [rax + 0x2c], 0x40000
je 0x14008aeb1
mov rax, qword [rsi]
mov ebx, r13d
mov r8, r13
test dword [rax + 0x2c], 0x1000000
je 0x14008ae89
mov rdx, r15
mov rcx, rsi
call fcn.14009d790
mov r8, rax
mov rdx, r8
test r8, r8
je 0x14008aea6
cmp byte [rdx + 0x10], 0x6d
jne 0x14008ae9d
movzx ecx, byte [rdx + 0x11]
or ebx, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14008ae91
test ebx, ebx
cmovne r14, r8
test r14, r14
jne 0x14008aeec
mov rax, qword [rsi]
test dword [rax + 0x2c], 0x80000
je 0x14008af60
mov rcx, qword [r15 + 0x68]
lea r8, [rsp + 0xa0]
mov rdx, qword [r15]
add rcx, 0x50
call fcn.140039830
test rax, rax
je 0x14008aee5
cmp qword [rax + 0x10], 0
jne 0x14008aeec
cmp qword [r15 + 0x20], 0
je 0x14008af60
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
mov r9d, dword [rsp + 0x170]
test rax, rax
mov ebx, 1
mov r8, r14
cmovne rcx, rax
mov rdx, r15
mov eax, 0xffffffff
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x178]
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], bx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r9d
mov r9d, r12d
mov byte [rcx + 0x20], 1
mov rcx, rsi
call fcn.140081740
mov r14d, dword [rsp + 0x178]
mov dword [rsp + 0x88], ebx
jmp 0x14008b02a
cmp qword [r15 + 0x10], 0
je 0x14008afa0
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
mov r9d, dword [rsp + 0x170]
test rax, rax
mov r8d, r12d
mov rdx, r15
cmovne rcx, rax
mov eax, 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov byte [rcx + 0x20], 1
mov rcx, rsi
call fcn.140081cc0
mov r14d, dword [rsp + 0x178]
mov ebx, 1
mov dword [rsp + 0x88], ebx
jmp 0x14008b02a
mov edx, dword [rsp + 0x198]
mov rcx, rdi
call fcn.140056530
jmp 0x14008b02a
mov eax, 2
mov ebx, eax
movzx eax, word [r15 + 0x3c]
mov r8, qword [r15]
mov rcx, qword [rsi]
test ax, ax
js 0x14008b001
mov r9, qword [r15 + 8]
lea rdx, str._s._s
movsx rax, ax
shl rax, 5
mov r9, qword [rax + r9]
call fcn.140037190
mov edx, 0x613
jmp 0x14008b012
lea rdx, str._s.rowid
call fcn.140037190
mov edx, 0xa13
mov byte [rsp + 0x28], 2
mov r9, rax
mov r8d, ebx
mov byte [rsp + 0x20], 0xff
mov rcx, rsi
call fcn.14007f180
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008b045
mov eax, dword [rdi + 0xb8]
not ebp
movsxd rcx, ebp
mov dword [rdx + rcx*4], eax
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x14008b0fa
movsxd r9, dword [rdi + 0xb8]
mov rax, qword [rdi + 0x18]
mov dword [rsp + 0x90], r9d
cmp dword [rax + 0x3c], r9d
jg 0x14008b097
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.140056300
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x90], eax
jmp 0x14008b0c7
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rdi]
mov edx, dword [rdi + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14008b0df
lea rax, [0x14017cd20]
jmp 0x14008b0f7
lea eax, [rdx - 1]
test r8d, r8d
cmovns eax, r8d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r12, qword [r15 + 0x10]
xor edx, edx
mov dword [rsp + 0x8c], edx
mov ebx, edx
mov qword [rsp + 0xb0], r12
test r12, r12
je 0x14008bd4b
mov r13, qword [rsp + 0x160]
mov ebp, edx
mov qword [rsp + 0xb8], rdx
nop dword [rax]
cmp dword [r13 + rbp*4], 0
je 0x14008bd0d
cmp byte [rsp + 0x64], 0
jne 0x14008b157
lea r8d, [r14 + 1]
mov rdx, r15
mov rcx, rdi
call fcn.140088790
mov byte [rsp + 0x64], 1
mov r14d, dword [rsp + 0x170]
add r14d, ebx
mov rbx, qword [rdi + 0x18]
mov dword [rsp + 0x84], r14d
movsxd r15, dword [rbx + 0x54]
lea eax, [r15 + 1]
mov dword [rbx + 0x54], eax
lea eax, [r15 - 1]
test r15d, eax
jne 0x14008b1a1
mov rdx, qword [rbx + 0x58]
lea eax, [r15*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.1400356c0
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x14008b1b6
mov edx, 0xffffffff
mov rax, r15
mov dword [rcx + r15*4], edx
cmp qword [r12 + 0x48], 0
not r15d
mov dword [rsp + 0x68], r15d
je 0x14008b292
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
mov edx, dword [r13 + rbp*4]
cmp dword [rax + 0x3c], ecx
jg 0x14008b1fe
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x4f]
call fcn.140056300
xor r8d, r8d
jmp 0x14008b230
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsp + 0x178]
mov rbp, qword [rsi]
inc eax
mov dword [rsi + 0x44], eax
mov rdx, qword [r12 + 0x48]
test rdx, rdx
je 0x14008b25c
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call fcn.14006cb00
mov rbx, rax
jmp 0x14008b25f
mov rbx, r8
cmp byte [rbp + 0x55], 0
jne 0x14008b279
mov r9d, 0x10
mov r8d, r15d
mov rdx, rbx
mov rcx, rsi
call fcn.140072940
test rbx, rbx
je 0x14008b289
mov rdx, rbx
mov rcx, rbp
call fcn.14006c880
xor r9d, r9d
mov dword [rsi + 0x44], r9d
jmp 0x14008b295
xor r9d, r9d
movzx ecx, word [r12 + 0x60]
cmp ecx, 1
jne 0x14008b2c3
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x14008b2b1
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14008b2ed
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov r8d, dword [rsi + rax*4 + 0x18c]
jmp 0x14008b2ed
mov edx, dword [rsi + 0x28]
mov r8d, dword [rsi + 0x2c]
mov dword [rsp + 0x60], r8d
cmp ecx, edx
jg 0x14008b2e1
lea eax, [r8 + rcx]
sub edx, ecx
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], edx
jmp 0x14008b2f2
mov eax, dword [rsi + 0x38]
lea r8d, [rax + 1]
add eax, ecx
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x60], r8d
movzx ecx, word [r12 + 0x60]
mov r13d, dword [rsp + 0x60]
cmp r9w, cx
jae 0x14008b478
mov rbp, qword [rsp + 0xb0]
mov ebx, r13d
mov r12, r9
mov r15, r9
nop dword [rax + rax]
mov rax, qword [rbp + 8]
movsx edx, word [rax + r15]
cmp edx, 0xfffffffe
jne 0x14008b39d
mov eax, dword [rsp + 0x178]
mov r14, qword [rsi]
inc eax
mov dword [rsi + 0x44], eax
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r12 + rcx]
test rdx, rdx
je 0x14008b361
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14006cb00
mov rbp, rax
jmp 0x14008b364
mov rbp, r9
cmp byte [r14 + 0x55], 0
jne 0x14008b379
mov r8d, ebx
mov rdx, rbp
mov rcx, rsi
call fcn.140071fd0
test rbp, rbp
je 0x14008b389
mov rdx, rbp
mov rcx, r14
call fcn.14006c880
mov rbp, qword [rsp + 0xb0]
xor r9d, r9d
mov dword [rsi + 0x44], r9d
jmp 0x14008b448
cmp edx, 0xffffffff
je 0x14008b3c2
mov rax, qword [rsp + 0x158]
movsx eax, word [rax + 0x3c]
cmp edx, eax
je 0x14008b3c2
mov r8d, dword [rsp + 0x178]
inc r8d
add r8d, edx
jmp 0x14008b3e9
cmp dword [rsp + 0x94], ebx
je 0x14008b448
cmp qword [rbp + 0x48], 0
mov eax, ebx
mov r8d, dword [rsp + 0x178]
mov ecx, 0xffffffff
cmovne eax, ecx
mov dword [rsp + 0x94], eax
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
sar edx, 0x1f
and edx, 1
add edx, 0x55
cmp dword [rax + 0x3c], ecx
jg 0x14008b417
mov dword [rsp + 0x20], r9d
mov rcx, rdi
mov r9d, ebx
call fcn.140056300
xor r9d, r9d
jmp 0x14008b448
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8], dl
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov byte [rax + rcx*8 + 1], 0
movzx ecx, word [rbp + 0x60]
inc ebx
mov eax, ebx
add r15, 2
sub eax, r13d
add r12, 0x28
cmp eax, ecx
jl 0x14008b320
mov r12, qword [rsp + 0xb0]
mov r14d, dword [rsp + 0x84]
mov r15d, dword [rsp + 0x68]
mov rax, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x160]
mov edx, dword [r8 + rax*4]
mov rax, qword [rdi + 0x18]
movzx r8d, cx
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b4b9
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r13d
mov edx, 0x63
mov rcx, rdi
call fcn.140056300
jmp 0x14008b4e8
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x63
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
movzx r8d, word [r12 + 0x60]
mov edx, r13d
mov rcx, rsi
call fcn.140070800
cmp dword [rsp + 0x180], 0
je 0x14008b541
cmp qword [rsp + 0x78], r12
jne 0x14008b541
cmp byte [rsp + 0x188], 0
jne 0x14008b541
mov rax, qword [rdi + 0x18]
mov r13, qword [rsp + 0x160]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008bd05
mov eax, dword [rdi + 0xb8]
not r15d
movsxd rcx, r15d
mov dword [rdx + rcx*4], eax
jmp 0x14008bd05
movzx ebp, byte [r12 + 0x62]
test ebp, ebp
jne 0x14008b5cf
movzx r8d, word [r12 + 0x60]
cmp r8d, 1
jne 0x14008b5ad
test r13d, r13d
je 0x14008b514
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14008b514
movzx edx, byte [rsi + 0x25]
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0xc4]
test edx, edx
je 0x14008b590
nop
cmp dword [rax + 0xc], r13d
je 0x14008b5a4
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14008b580
movzx eax, r8b
mov dword [rsi + rax*4 + 0x18c], r13d
inc byte [rsi + 0x1f]
jmp 0x14008b514
mov byte [rax + 6], 1
jmp 0x14008b514
mov edx, r13d
mov rcx, rsi
call fcn.140070800
cmp r8d, dword [rsi + 0x28]
jle 0x14008b514
mov dword [rsi + 0x28], r8d
mov dword [rsi + 0x2c], r13d
jmp 0x14008b514
movzx eax, byte [rsp + 0x190]
cmp al, 0xa
je 0x14008b5e0
movzx ebp, al
jmp 0x14008b5eb
cmp ebp, 0xa
mov eax, 2
cmove ebp, eax
movzx ebx, word [r12 + 0x5e]
mov r9d, r15d
mov r8d, r14d
mov dword [rsp + 0x9c], ebp
mov edx, 0x1d
mov dword [rsp + 0x20], r13d
mov rcx, rdi
call fcn.140056360
mov rcx, qword [rdi]
cmp byte [rcx + 0x55], 0
je 0x14008b628
mov r8d, ebx
mov edx, 0xfffffff2
call fcn.140056e20
jmp 0x14008b663
test eax, eax
jns 0x14008b634
mov eax, dword [rdi + 0xb8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14008b65c
mov r9d, 0xfffffff2
mov r8, rbx
mov rcx, rdi
call fcn.140057050
jmp 0x14008b663
mov dword [rdx + 0x10], ebx
mov byte [rdx + 1], 0xf2
mov rax, qword [rsp + 0x78]
cmp r12, rax
jne 0x14008b677
mov r15d, r13d
mov dword [rsp + 0x6c], r13d
jmp 0x14008b6d7
mov edx, dword [rsp + 0x70]
cmp edx, 1
jne 0x14008b6a3
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x14008b691
inc dword [rsi + 0x38]
mov r15d, dword [rsi + 0x38]
jmp 0x14008b6cd
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov r15d, dword [rsi + rax*4 + 0x18c]
jmp 0x14008b6cd
mov ecx, dword [rsi + 0x28]
mov r15d, dword [rsi + 0x2c]
mov dword [rsp + 0x6c], r15d
cmp edx, ecx
jg 0x14008b6c1
lea eax, [r15 + rdx]
sub ecx, edx
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], ecx
jmp 0x14008b6d2
mov eax, dword [rsi + 0x38]
lea r15d, [rax + 1]
add eax, edx
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x6c], r15d
mov rax, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x180]
test ebx, ebx
jne 0x14008b6eb
cmp ebp, 5
jne 0x14008ba69
mov rcx, qword [rsp + 0x158]
test byte [rcx + 0x46], 0x20
jne 0x14008b7ec
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b72b
xor eax, eax
mov r9d, r15d
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x81
mov rcx, rdi
call fcn.140056300
xor r8d, r8d
jmp 0x14008b75e
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x81
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test ebx, ebx
je 0x14008ba69
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008b791
mov r9d, dword [rsp + 0x68]
mov r8d, r15d
mov edx, 0x25
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140056300
jmp 0x14008b7c3
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rax, dword [rdi + 0xb8]
xor r10d, r10d
mov r15d, dword [rsp + 0x68]
test eax, eax
jle 0x14008ba71
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 - 0x15], 0x90
jmp 0x14008ba71
cmp r12, rax
je 0x14008b8e0
xor r10d, r10d
cmp r10w, word [rax + 0x5e]
jae 0x14008b8e0
mov ebp, dword [rsp + 0x84]
lea esi, [r10 - 1]
mov r13, qword [rsp + 0x78]
mov ebx, r15d
mov r14d, r10d
nop dword [rax]
movzx edx, word [r12 + 0x60]
mov eax, r10d
test edx, edx
je 0x14008b850
mov rcx, qword [r13 + 8]
mov r8, qword [r12 + 8]
movzx r9d, word [r14 + rcx]
nop dword [rax + rax]
movsxd rcx, eax
cmp r9w, word [r8 + rcx*2]
je 0x14008b853
inc eax
cmp eax, edx
jl 0x14008b840
movzx eax, si
movsxd rcx, dword [rdi + 0xb8]
movsx edx, ax
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14008b882
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x60
mov r8d, ebp
mov rcx, rdi
call fcn.140056300
xor r10d, r10d
jmp 0x14008b8af
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x60
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r10
movzx eax, word [r13 + 0x5e]
inc ebx
mov ecx, ebx
add r14, 2
sub ecx, r15d
cmp ecx, eax
jl 0x14008b820
mov rsi, qword [rsp + 0x150]
mov r13d, dword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x180]
test ebx, ebx
je 0x14008ba69
movzx ecx, word [rax + 0x5e]
mov eax, dword [r12 + 0x64]
mov edx, dword [rdi + 0xb8]
and al, 3
add edx, ecx
mov dword [rsp + 0x84], 0x24
cmp al, 2
mov dword [rsp + 0x98], edx
mov edx, r15d
cmove edx, r13d
xor r10d, r10d
mov dword [rsp + 0xa0], edx
mov r14d, r10d
test ecx, ecx
je 0x14008ba6c
mov r12, qword [rsp + 0x78]
mov r13d, r10d
mov qword [rsp + 0xc0], r10
nop dword [rax + rax]
mov rax, qword [r12 + 0x40]
mov rcx, qword [rsi]
mov r15, qword [rax + r13]
movzx r12d, byte [rcx + 0x52]
mov r8, r15
movzx ebx, byte [rcx + 0xa9]
movzx edx, r12b
mov r9d, ebx
call fcn.14007ff60
mov rbp, rax
test bl, bl
jne 0x14008b98f
test rax, rax
je 0x14008b97a
cmp qword [rax + 0x18], 0
jne 0x14008b98f
mov r9, r15
mov r8, rax
movzx edx, r12b
mov rcx, rsi
call fcn.14007fce0
mov rbp, rax
mov r10d, dword [rsp + 0x84]
mov r12, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x180]
mov rbx, qword [rsp + 0xc0]
mov r15d, dword [rsp + 0x68]
mov rax, qword [r12 + 8]
movzx ecx, word [r12 + 0x5e]
dec ecx
cmp r14d, ecx
mov ecx, r15d
movsx edx, word [rbx + rax]
mov eax, 0x25
cmovne ecx, dword [rsp + 0x98]
cmove r10d, eax
mov eax, dword [rsp + 0xa0]
inc r8d
add eax, r14d
mov dword [rsp + 0x98], ecx
add r8d, edx
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov dword [rsp + 0x84], r10d
mov edx, r10d
mov rcx, rdi
call fcn.140056360
mov r9d, 0xfffffffc
mov r8, rbp
mov edx, eax
mov rcx, rdi
call fcn.140057120
movsxd rax, dword [rdi + 0xb8]
test eax, eax
jle 0x14008ba35
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 - 0x15], 0x90
movzx eax, word [r12 + 0x5e]
add rbx, 2
inc r14d
mov qword [rsp + 0xc0], rbx
add r13, 8
cmp r14d, eax
jl 0x14008b940
mov r13d, dword [rsp + 0x60]
xor r10d, r10d
mov r12, qword [rsp + 0xb0]
jmp 0x14008ba71
xor r10d, r10d
mov r15d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x9c]
test edx, edx
je 0x14008bb26
cmp edx, 3
jbe 0x14008bb0e
cmp edx, 4
jne 0x14008bb26
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14008bacb
mov r9d, dword [rsp + 0x198]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r10d
lea edx, [r8 + 0xd]
call fcn.140056300
mov ebx, dword [rsp + 0x6c]
mov ebp, dword [rsp + 0x70]
jmp 0x14008bbfc
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov ebx, dword [rsp + 0x6c]
lea rcx, [rcx + rcx*2]
mov ebp, dword [rsp + 0x70]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x14008bbff
mov r8, r12
mov rcx, rsi
call fcn.14007f240
mov ebx, dword [rsp + 0x6c]
mov ebp, dword [rsp + 0x70]
jmp 0x14008bbfc
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
test rax, rax
mov r8, r10
cmovne rcx, rax
mov rax, qword [rsp + 0xa8]
mov byte [rcx + 0x20], 1
test dword [rax + 0x2c], 0x40000
je 0x14008bb9e
mov rax, qword [rsi]
mov ebx, r10d
mov r9, r10
test dword [rax + 0x2c], 0x1000000
je 0x14008bb77
mov rdx, qword [rsp + 0x158]
mov rcx, rsi
call fcn.14009d790
mov r9, rax
xor r10d, r10d
mov rdx, r9
test r9, r9
je 0x14008bb95
nop
cmp byte [rdx + 0x10], 0x6d
jne 0x14008bb8c
movzx ecx, byte [rdx + 0x11]
or ebx, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x14008bb80
test ebx, ebx
mov r8, r10
cmovne r8, r9
cmp r12, qword [rsp + 0x78]
mov ecx, 0xffffffff
mov ebp, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x6c]
sete al
mov r9d, dword [rsp + 0x168]
mov rdx, qword [rsp + 0x158]
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], bp
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.140081740
mov dword [rsp + 0x88], 1
xor r10d, r10d
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14008bc1b
mov eax, dword [rdi + 0xb8]
not r15d
movsxd rcx, r15d
mov dword [rdx + rcx*4], eax
movzx r8d, word [r12 + 0x60]
cmp r8d, 1
jne 0x14008bc77
test r13d, r13d
je 0x14008bc90
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14008bc90
movzx edx, byte [rsi + 0x25]
lea rax, [rsi + 0xc4]
mov ecx, r10d
test edx, edx
je 0x14008bc60
nop dword [rax]
cmp dword [rax + 0xc], r13d
je 0x14008bc71
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14008bc50
movzx eax, r8b
mov dword [rsi + rax*4 + 0x18c], r13d
inc byte [rsi + 0x1f]
jmp 0x14008bc90
mov byte [rax + 6], 1
jmp 0x14008bc90
mov edx, r13d
mov rcx, rsi
call fcn.140070800
cmp r8d, dword [rsi + 0x28]
jle 0x14008bc90
mov dword [rsi + 0x28], r8d
mov dword [rsi + 0x2c], r13d
cmp ebx, r13d
je 0x14008bcfd
cmp ebp, 1
jne 0x14008bce5
test ebx, ebx
je 0x14008bcfd
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x14008bcfd
movzx edx, byte [rsi + 0x25]
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0xc4]
test edx, edx
je 0x14008bccf
nop dword [rax]
cmp dword [rax + 0xc], ebx
je 0x14008bcdf
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14008bcc0
movzx eax, r8b
mov dword [rsi + rax*4 + 0x18c], ebx
inc byte [rsi + 0x1f]
jmp 0x14008bcfd
mov byte [rax + 6], 1
jmp 0x14008bcfd
mov r8d, ebp
mov edx, ebx
mov rcx, rsi
call fcn.140070800
cmp ebp, dword [rsi + 0x28]
jle 0x14008bcfd
mov dword [rsi + 0x28], ebp
mov dword [rsi + 0x2c], ebx
mov r13, qword [rsp + 0x160]
mov r15, qword [rsp + 0x158]
mov r12, qword [r12 + 0x28]
inc dword [rsp + 0x8c]
inc qword [rsp + 0xb8]
mov r14d, dword [rsp + 0x178]
mov rbp, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x8c]
mov qword [rsp + 0xb0], r12
test r12, r12
jne 0x14008b130
xor edx, edx
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 rsi, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x138]
test eax, eax
je 0x14008be24
movsxd rcx, dword [rdi + 0xb8]
lea r8d, [rax + 1]
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14008bdbe
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0xd]
call fcn.140056300
jmp 0x14008bdec
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], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rdi]
mov edx, dword [rdi + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14008be04
lea rax, [0x14017cd20]
jmp 0x14008be21
mov ecx, dword [rsp + 0x90]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x1a0]
mov ecx, dword [rsp + 0x88]
mov dword [rax], ecx
add rsp, 0x140
pop rdi
ret