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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rdi
push r12
sub rsp, 0x1b8
xor eax, eax
mov qword [r11 - 0x18], rbx
mov qword [r11 - 0x20], rbp
mov rdi, r9
mov qword [r11 - 0x28], rsi
mov rbx, r8
mov qword [r11 - 0x30], r13
mov rbp, rdx
mov qword [r11 - 0x40], r15
mov r13d, eax
mov qword [r11 - 0x148], rax
mov r15, rcx
mov qword [r11 - 0xa0], rax
mov r12, qword [rcx]
mov qword [rsp + 0xa8], r12
mov dword [rsp + 0xc4], eax
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x74], eax
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0x6c], eax
cmp dword [rcx + 0x30], eax
jne 0x14012fbdc
cmp byte [r12 + 0x55], al
jne 0x14012fbdc
mov qword [r11 - 0x38], r14
call fcn.14012c100
mov qword [rsp + 0x98], rax
mov r14, rax
test rax, rax
je 0x14012fbcc
mov rdx, qword [rax + 0x70]
mov esi, 0xfff0bdc0
mov rax, qword [r15]
mov dword [rsp + 0x70], esi
test rdx, rdx
je 0x14012dc4e
movsxd rcx, dword [rax + 0x28]
xor r9d, r9d
mov dword [rsp + 0x70], r9d
mov esi, r9d
test ecx, ecx
jle 0x14012dc4e
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov ecx, r9d
cmp qword [rax], rdx
je 0x14012dc4a
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x14012dc37
mov dword [rsp + 0x70], esi
lea rax, [rsp + 0xd0]
mov r9, rbx
mov r8d, 0x6e
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, r15
call fcn.14012d520
mov qword [rsp + 0xc8], rax
mov rdx, r14
mov rax, qword [r14 + 0x18]
mov rcx, r15
mov qword [rsp + 0x100], rax
call fcn.14013dc80
test eax, eax
jne 0x14012fbcc
mov r8d, dword [rsp + 0xd0]
mov rdx, r14
mov rcx, r15
call fcn.14011bd80
test eax, eax
jne 0x14012fbcc
mov r8d, dword [r15 + 0x34]
mov dword [rbp + 0x50], r8d
inc dword [r15 + 0x34]
test byte [r14 + 0x48], 0x20
mov edx, dword [r15 + 0x34]
lea eax, [r8 + 1]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0xb8], r8d
jne 0x14012dcf0
xor r9d, r9d
mov r8d, r9d
mov qword [rsp + 0xa0], r9
jmp 0x14012dd1f
mov r8, qword [r14 + 0x10]
mov qword [rsp + 0xa0], r8
test r8, r8
je 0x14012dd1c
mov eax, dword [r8 + 0x64]
and al, 3
cmp al, 2
je 0x14012dd14
mov r8, qword [r8 + 0x28]
test r8, r8
jne 0x14012dd01
mov qword [rsp + 0xa0], r8
xor r9d, r9d
mov rcx, qword [r14 + 0x10]
mov ebx, r9d
test rcx, rcx
je 0x14012dd5c
nop dword [rax + rax]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
jne 0x14012dd45
test r8, r8
je 0x14012dd45
mov dword [rsp + 0x60], edx
mov dword [rbp + 0x50], edx
inc dword [r15 + 0x34]
inc ebx
mov rcx, qword [rcx + 0x28]
mov edx, dword [r15 + 0x34]
test rcx, rcx
jne 0x14012dd30
mov esi, dword [rsp + 0x70]
movsx eax, word [r14 + 0x42]
mov rcx, r12
add eax, ebx
movsxd rdi, ebx
cdqe
lea rdx, [rax*4 + 2]
add rdx, rdi
call fcn.14010b530
mov qword [rsp + 0x78], rax
mov r13, rax
test rax, rax
je 0x14012fbbc
movsx rcx, word [r14 + 0x42]
mov edx, 1
lea rax, [rcx*4]
add rax, r13
lea ecx, [rbx + 1]
movsxd rbx, ecx
mov r8, rbx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rdi, [rax + rdi*4]
mov rcx, rdi
mov qword [rsp + 0xe0], rdi
call fcn.1401803b0
xor r8d, r8d
mov byte [rdi + rbx], 0
mov edx, r8d
cmp r8w, word [r14 + 0x42]
jge 0x14012de05
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
mov dword [rcx], 0xffffffff
lea rcx, [rcx + 4]
movsx eax, word [r14 + 0x42]
inc edx
cmp edx, eax
jl 0x14012ddf0
xor eax, eax
mov qword [rsp + 0x148], rbp
xor bpl, bpl
mov qword [rsp + 0x150], rax
xor bl, bl
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rax
mov r13d, r8d
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x140], r15
mov dword [rsp + 0x90], ebp
mov byte [rsp + 0x64], bl
cmp dword [rax], r8d
jle 0x14012e0f6
movsxd rsi, esi
xor edi, edi
mov qword [rsp + 0xf0], rsi
mov r12d, edi
mov rbx, rax
nop word [rax + rax]
mov rdx, qword [rbx + 8]
lea rcx, [rsp + 0x140]
mov rdx, qword [r12 + rdx]
call fcn.140125f90
test eax, eax
jne 0x14012e0cf
movsx rcx, word [r14 + 0x42]
mov r11d, edi
test ecx, ecx
jle 0x14012df5b
mov rbp, qword [r14 + 8]
lea r9, [0x140203820]
mov r14, qword [rbx + 8]
mov rsi, rcx
mov r10, rbp
mov rbx, qword [r14 + r12 + 8]
nop word [rax + rax]
movzx eax, byte [rbx]
mov r8, qword [r10]
movzx ecx, byte [rax + r9]
movzx edx, byte [r8]
movzx eax, byte [rdx + r9]
sub eax, ecx
jne 0x14012df2d
mov r9, rbx
sub r9, r8
nop
test dl, dl
je 0x14012df1e
movzx eax, byte [r9 + r8 + 1]
lea rcx, [0x140203820]
movzx edx, byte [r8 + 1]
inc r8
movzx ecx, byte [rax + rcx]
lea rax, [0x140203820]
movzx eax, byte [rdx + rax]
sub eax, ecx
je 0x14012def0
jmp 0x14012df26
test eax, eax
je 0x14012dfaf
lea r9, [0x140203820]
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rsi
jl 0x14012ded0
mov ebp, dword [rsp + 0x90]
mov rbx, qword [rsp + 0x1e0]
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xf0]
movsx eax, word [r14 + 0x42]
cmp r11d, eax
jl 0x14012e025
cmp qword [rsp + 0xa0], 0
jne 0x14012e0ab
mov rbx, qword [rbx + 8]
mov rcx, qword [rbx + r12 + 8]
call fcn.14011be20
test eax, eax
je 0x14012e0a3
mov rax, qword [rbx + r12]
lea r9, str.ROWID
mov qword [rsp + 0xf8], rax
or rdi, 0xffffffffffffffff
mov byte [rsp + 0x64], 1
jmp 0x14012e042
mov rax, qword [rsp + 0x98]
movsx eax, word [rax + 0x40]
cmp r11d, eax
jne 0x14012dfe6
mov rax, qword [r14 + r12]
mov qword [rsp + 0xf8], rax
mov byte [rsp + 0x64], 1
mov rax, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x90]
mov dword [rax + rdi*4], r13d
jmp 0x14012df43
cmp qword [rsp + 0xa0], 0
je 0x14012dfd1
mov rax, rdi
shl rax, 5
test byte [rax + rbp + 0x1b], 1
mov eax, 1
mov ebp, dword [rsp + 0x90]
movzx ebp, bpl
cmovne ebp, eax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x90], ebp
mov dword [rax + rdi*4], r13d
jmp 0x14012df43
test rdi, rdi
jns 0x14012e033
lea r9, str.ROWID
jmp 0x14012e042
mov rax, qword [r14 + 8]
mov rcx, rdi
shl rcx, 5
mov r9, qword [rcx + rax]
mov rax, qword [rsp + 0xa8]
mov rcx, rsi
mov r8, qword [r14]
mov edx, 0x17
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.140102640
cmp eax, 1
je 0x14012fc2d
cmp eax, 2
jne 0x14012e088
mov rax, qword [rsp + 0x78]
mov dword [rax + rdi*4], 0xffffffff
mov rbx, qword [rsp + 0x1e0]
inc r13d
add r12, 0x28
cmp r13d, dword [rbx]
jge 0x14012e0e9
xor edi, edi
jmp 0x14012de80
mov rbx, qword [rsp + 0x1e0]
mov r8, qword [rbx + 8]
lea rdx, str.no_such_column:__s
movsxd rax, r13d
lea rcx, [rax + rax*4]
mov r8, qword [r8 + rcx*8 + 8]
mov rcx, r15
call fcn.14010da60
mov byte [r15 + 0x1d], 1
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x1d8]
jmp 0x14012fbc4
mov rdi, qword [rsp + 0xe0]
movzx ebx, byte [rsp + 0x64]
movzx eax, byte [r14 + 0x48]
add bpl, bl
mov rcx, qword [rsp + 0x1d8]
and al, 0x10
mov r13, qword [rsp + 0x78]
neg al
mov r8, r13
mov byte [rsp + 0x8c], bpl
sbb rax, rax
mov rdx, r14
mov qword [rcx + 0x68], rax
mov rcx, r15
movzx eax, bpl
mov r9d, eax
mov dword [rsp + 0xf0], eax
call fcn.140116140
mov r8, qword [r14 + 0x10]
movsxd r12, eax
mov dword [rsp + 0x94], r12d
test r8, r8
je 0x14012e1fa
mov rsi, qword [rsp + 0x108]
xor r14d, r14d
mov rbx, r12
mov r11d, r14d
mov r12, qword [rsp + 0xa0]
nop dword [rax + rax]
test bpl, bpl
jne 0x14012e1c1
test rbx, rbx
jne 0x14012e1c1
cmp qword [r8 + 0x48], r14
jne 0x14012e1c1
cmp r8, r12
je 0x14012e1c1
movzx eax, word [r8 + 0x5e]
mov r9d, r14d
mov rdx, r14
test eax, eax
je 0x14012e1da
mov rcx, qword [r8 + 8]
mov r10d, eax
nop dword [rax + rax]
movzx eax, word [rcx]
test ax, ax
js 0x14012e1c1
movsx rax, ax
cmp dword [r13 + rax*4], r14d
jge 0x14012e1c1
inc rdx
add rcx, 2
cmp rdx, r10
jl 0x14012e1a0
jmp 0x14012e1da
inc dword [r15 + 0x38]
mov r9d, dword [r15 + 0x38]
movzx eax, word [r8 + 0x60]
add eax, r9d
mov dword [r15 + 0x38], eax
test r9d, r9d
jne 0x14012e1df
mov byte [r11 + rdi + 1], r14b
mov dword [rsi + r11*4], r9d
inc r11
mov r8, qword [r8 + 0x28]
test r8, r8
jne 0x14012e170
mov r14, qword [rsp + 0x98]
mov r12d, ebx
mov rsi, qword [r15 + 0x10]
mov qword [rsp + 0x120], rsi
test rsi, rsi
jne 0x14012e227
mov rcx, r15
call fcn.1400d6160
mov qword [rsp + 0x120], rax
mov rsi, rax
test rax, rax
je 0x14012fc32
cmp byte [r15 + 0x1e], 0
jne 0x14012e235
or dword [rsi + 0xc0], 0x10
mov rcx, qword [r15 + 0xa0]
mov rax, r15
mov edi, dword [rsp + 0x70]
test rcx, rcx
mov rbx, r15
cmovne rax, rcx
cmovne rbx, rcx
mov ecx, dword [rax + 0x7c]
bt ecx, edi
jb 0x14012e26c
bts ecx, edi
mov dword [rax + 0x7c], ecx
cmp edi, 1
jne 0x14012e26c
mov rcx, rax
call fcn.14011e700
mov eax, dword [rbx + 0x78]
or byte [rbx + 0x20], 1
bts eax, edi
mov dword [rbx + 0x78], eax
test byte [r14 + 0x48], 0x10
jne 0x14012e312
inc dword [r15 + 0x38]
cmp byte [rsp + 0x90], 0
mov r13d, dword [r15 + 0x38]
mov dword [rsp + 0xbc], r13d
lea ecx, [r13 + 1]
mov dword [rsp + 0x74], ecx
mov ebx, ecx
mov dword [r15 + 0x38], ecx
mov dword [rsp + 0x68], ecx
jne 0x14012e2c2
mov rax, qword [rsp + 0xc8]
test rax, rax
jne 0x14012e2c2
test r12d, r12d
je 0x14012e2df
lea eax, [rcx + 1]
mov dword [rsp + 0xe8], eax
movsx eax, word [r14 + 0x42]
add eax, ecx
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0xc8]
test bpl, bpl
jne 0x14012e2ee
test rax, rax
jne 0x14012e2ee
test r12d, r12d
je 0x14012e2fa
inc dword [r15 + 0x38]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x74], eax
mov eax, dword [r15 + 0x38]
inc eax
mov dword [rsp + 0xd4], eax
movsx eax, word [r14 + 0x42]
add dword [r15 + 0x38], eax
jmp 0x14012e31d
mov r13d, dword [rsp + 0xbc]
mov ebx, r13d
mov r12, qword [rsp + 0x100]
mov ebp, dword [rsp + 0x60]
mov rdi, qword [rsp + 0x1e8]
test r12, r12
je 0x14012e368
mov rax, qword [r15 + 0x210]
mov r9d, ebp
mov qword [rsp + 0x80], rax
mov r8, rdi
mov rax, qword [r14]
mov rdx, r14
mov rcx, r15
mov qword [r15 + 0x210], rax
mov qword [rsp + 0x128], r15
call fcn.14011dc60
mov rdx, rdi
lea rcx, [rsp + 0x140]
call fcn.140125f90
test eax, eax
jne 0x14012fc3f
movzx eax, byte [r14 + 0x48]
test al, 0x10
je 0x14012e3de
mov eax, dword [rsp + 0x1f0]
mov r8, r14
mov r13, qword [rsp + 0x78]
mov rcx, r15
mov rbx, qword [rsp + 0x1e0]
mov rbp, qword [rsp + 0x1d8]
mov r9, rbx
mov dword [rsp + 0x38], eax
mov rdx, rbp
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.140147140
mov r12, qword [rsp + 0xa8]
jmp 0x14012fbcc
test al, 0x20
jne 0x14012e522
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012e410
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.1400eec90
xor edx, edx
jmp 0x14012e440
lea eax, [rcx + 1]
xor edx, edx
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rsp + 0xb0]
mov ecx, 0x404
mov dword [rsp + 0x30], eax
xor r9d, r9d
mov word [rsp + 0x28], cx
mov r8, rdi
mov qword [rsp + 0x20], rdx
mov rcx, r15
mov rdx, qword [rsp + 0x1d8]
call fcn.140140440
mov rdi, rax
test rax, rax
je 0x14012fc2d
mov rcx, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov rbx, qword [rax + 0x24]
movzx r14d, byte [rax + 0x3d]
mov qword [rsp + 0x118], rbx
mov dword [rsp + 0xd8], r14d
cmp dword [rcx + 0x3c], edx
jg 0x14012e4c8
xor r9d, r9d
mov r8d, ebp
mov dword [rsp + 0x20], r9d
mov edx, 0x7a
mov r9d, dword [rsp + 0x68]
mov rcx, rsi
call fcn.1400eec90
mov edx, dword [rsp + 0x68]
jmp 0x14012e4fd
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x68]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x7a
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
test r14d, r14d
jne 0x14012e515
mov r9d, edx
mov r8d, r13d
mov edx, 0x8d
mov rcx, rsi
call fcn.140131840
mov rcx, rdi
call fcn.140143060
jmp 0x14012e811
mov edx, dword [r15 + 0x34]
mov r12d, dword [r15 + 0x38]
mov r14, qword [rsp + 0xa0]
inc r12d
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x88], edx
movsx edi, word [r14 + 0x5e]
mov ebp, edi
mov dword [rsp + 0xdc], edi
lea eax, [rdi + 1]
add dword [r15 + 0x38], eax
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x6c], eax
lea eax, [rdx + 1]
mov dword [r15 + 0x34], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012e59b
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov rcx, rsi
mov r9d, r12d
lea edx, [r8 + 0x4f]
call fcn.1400eec90
mov edx, dword [rsp + 0x88]
xor r8d, r8d
jmp 0x14012e5ce
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi + 0x18]
movsxd r13, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r13d
jg 0x14012e5fc
mov dword [rsp + 0x20], r8d
mov r9d, ebp
mov r8d, edx
mov rcx, rsi
mov edx, 0x6b
call fcn.1400eec90
mov r13d, eax
jmp 0x14012e632
lea eax, [r13 + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x68]
add rcx, r13
mov word [rax + rcx*8], 0x6b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rbx, qword [r15 + 0x10]
mov rdx, r14
mov rcx, r15
call fcn.14011c280
mov rdx, rax
test rax, rax
je 0x14012e67d
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x14012e661
mov r8, rax
mov edx, 0xfffffffb
call fcn.1400eb850
jmp 0x14012e67d
mov eax, dword [rbx + 0xb8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xfb
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rsp + 0xb0]
mov ecx, 4
mov r8, qword [rsp + 0x1e8]
xor r9d, r9d
mov rdx, qword [rsp + 0x1d8]
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
mov rcx, r15
mov qword [rsp + 0x20], r9
call fcn.140140440
mov qword [rsp + 0x138], rax
mov r15, rax
test rax, rax
je 0x14012fc2d
mov rbx, qword [rax + 0x24]
movzx eax, byte [rax + 0x3d]
movsx r14, di
mov dword [rsp + 0xd8], eax
xor eax, eax
mov qword [rsp + 0x130], rbx
mov edi, eax
mov qword [rsp + 0x118], rbx
test r14, r14
jle 0x14012e752
mov rbx, qword [rsp + 0x98]
mov ebp, r12d
mov r12, qword [rsp + 0xa0]
mov r15d, dword [rsp + 0x60]
nop word [rax + rax]
mov rax, qword [r12 + 8]
mov r8d, r15d
mov rdx, rbx
mov dword [rsp + 0x20], ebp
mov rcx, rsi
movsx r9d, word [rax + rdi*2]
call fcn.14010ecc0
inc ebp
inc rdi
cmp rdi, r14
jl 0x14012e710
mov rbx, qword [rsp + 0x130]
mov r15, qword [rsp + 0x138]
mov r12d, dword [rsp + 0x70]
mov ebp, dword [rsp + 0xdc]
mov r14d, dword [rsp + 0xd8]
test r14d, r14d
je 0x14012e79f
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x14012e791
movsxd rax, r13d
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1400eb850
xor eax, eax
mov word [rdi], 0xa0
mov qword [rdi + 0x10], rax
mov dword [rsp + 0xc0], ebp
mov dword [rsp + 0x6c], r12d
jmp 0x14012e7f9
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
call fcn.140119b90
mov edi, dword [rsp + 0x6c]
mov r9d, ebp
mov dword [rsp + 0x30], ebp
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov edx, 0x63
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140131930
mov r8d, dword [rsp + 0x88]
mov r9d, edi
mov edx, 0x7d
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140131b40
mov rcx, r15
call fcn.140143060
mov r15, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x100]
mov rax, qword [rsp + 0xa8]
test byte [rax + 0x2c], 0x80
je 0x14012e893
cmp qword [r15 + 0xa8], 0
jne 0x14012e893
inc dword [r15 + 0x38]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r15 + 0x38]
mov dword [rsp + 0xb4], edx
cmp dword [rax + 0x3c], ecx
jg 0x14012e861
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x4c]
call fcn.1400eec90
jmp 0x14012e893
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4c
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 rdi, qword [rsi + 0x18]
movsxd rbp, dword [rdi + 0x54]
lea eax, [rbp + 1]
mov dword [rdi + 0x54], eax
lea eax, [rbp - 1]
test ebp, eax
jne 0x14012e8c6
mov rdx, qword [rdi + 0x58]
lea eax, [rbp*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14012e8d6
mov dword [rcx + rbp*4], 0xffffffff
mov edi, dword [rsp + 0x1f0]
not ebp
mov dword [rsp + 0xdc], ebp
test r12, r12
jne 0x14012e9a2
cmp edi, 5
jne 0x14012e91b
mov r12, qword [rsp + 0xe0]
mov edx, 1
mov r8, qword [rsp + 0x110]
mov rcx, r12
call fcn.1401803b0
mov rcx, qword [rsp + 0x98]
jmp 0x14012e947
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14012e93f
nop dword [rax]
cmp byte [rax + 0x62], 5
je 0x14012e8f4
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14012e930
mov r12, qword [rsp + 0xe0]
mov r13d, dword [rsp + 0xb8]
test r14d, r14d
je 0x14012e978
test ebx, ebx
js 0x14012e963
sub ebx, r13d
movsxd rax, ebx
mov byte [rax + r12], 0
mov eax, dword [rsp + 0x11c]
test eax, eax
js 0x14012e978
sub eax, r13d
cdqe
mov byte [rax + r12], 0
xor ebx, ebx
mov rdx, rcx
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov rcx, r15
mov qword [rsp + 0x28], r12
lea r8d, [rbx + 0x69]
mov dword [rsp + 0x20], r13d
call fcn.14011e450
jmp 0x14012e9b4
mov r12, qword [rsp + 0xe0]
xor ebx, ebx
mov r13d, dword [rsp + 0xb8]
test r14d, r14d
je 0x14012ea6d
mov ecx, dword [rsp + 0x60]
mov eax, ecx
sub eax, r13d
cdqe
cmp byte [rax + r12], 0
je 0x14012ea00
cmp qword [rsp + 0x100], 0
jne 0x14012ea00
mov eax, dword [rsp + 0xc0]
mov r8d, ecx
mov dword [rsp + 0x28], eax
mov r9d, ebp
mov eax, dword [rsp + 0x6c]
mov edx, 0x1e
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140131b40
cmp qword [rsp + 0xa0], 0
mov r13d, ebp
mov rax, qword [rsi + 0x18]
mov edx, dword [rsp + 0x68]
movsxd rcx, dword [rsi + 0xb8]
cmovne edx, dword [rsp + 0x6c]
mov dword [rsp + 0x70], ebp
cmp dword [rax + 0x3c], ecx
jg 0x14012ea47
mov r8d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x22
mov r9d, ebp
mov rcx, rsi
call fcn.1400eec90
xor ebp, ebp
jmp 0x14012ecae
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 8], ebp
xor ebp, ebp
mov dword [rax + rcx*8 + 0xc], ebp
mov word [rax + rcx*8], 0x22
jmp 0x14012eca0
cmp qword [rsp + 0xa0], 0
je 0x14012ebcb
mov rbx, qword [rsi + 0x18]
movsxd r13, dword [rbx + 0x54]
lea eax, [r13 + 1]
mov dword [rbx + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x14012eab3
mov rdx, qword [rbx + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x14012eac4
mov dword [rcx + r13*4], 0xffffffff
mov rax, qword [rsi + 0x18]
not r13d
movsxd rcx, dword [rsi + 0xb8]
mov dword [rsp + 0x70], r13d
cmp dword [rax + 0x3c], ecx
jg 0x14012eb03
mov r8d, dword [rsp + 0x88]
xor eax, eax
mov r9d, ebp
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x39]
call fcn.1400eec90
mov edx, dword [rsp + 0x88]
xor ebp, ebp
jmp 0x14012eb39
mov edx, dword [rsp + 0x88]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 8], ebp
xor ebp, ebp
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 0x39
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
movsxd rbx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0xc4], ebx
cmp dword [rax + 0x3c], ebx
jg 0x14012eb72
mov r9d, dword [rsp + 0x6c]
mov r8d, edx
mov edx, 0x79
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400eec90
mov dword [rsp + 0xc4], eax
jmp 0x14012eba5
mov r8d, dword [rsp + 0x6c]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x79
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], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov eax, dword [rsp + 0x6c]
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x1e
mov dword [rsp + 0x28], ebp
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140131b40
jmp 0x14012ecae
movsxd r13, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov r8d, dword [rsp + 0xbc]
mov dword [rsp + 0x70], r13d
cmp dword [rax + 0x3c], r13d
jg 0x14012ec11
mov eax, dword [rsp + 0x68]
mov r9d, ebp
mov edx, 0x3e
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.1400eec90
mov r8d, dword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x70], eax
xor ebp, ebp
jmp 0x14012ec4f
lea eax, [r13 + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x68]
add rcx, r13
mov dword [rax + rcx*8 + 8], ebp
xor ebp, ebp
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x68]
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 0x3e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012ec7b
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
call fcn.1400eec90
jmp 0x14012ecae
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [rax + rcx*8 + 4], edx
mov byte [rax + rcx*8 + 3], 0
cmp byte [rsp + 0x64], 0
je 0x14012eded
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x14012ed20
cmp byte [rax], 0x9d
jne 0x14012ed20
mov r10, qword [r15 + 0x10]
mov edx, dword [rax + 0x2c]
mov ebx, dword [rsp + 0x74]
mov rax, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012ed02
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x54
mov r9d, ebx
mov rcx, r10
call fcn.1400eec90
jmp 0x14012ed97
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x54
mov dword [rax + rcx*8 + 4], edx
jmp 0x14012ed85
mov ebx, dword [rsp + 0x74]
mov rdx, rax
mov r8d, ebx
mov rcx, r15
call fcn.140110320
mov r8d, eax
cmp eax, ebx
je 0x14012ed97
mov r10, qword [r15 + 0x10]
test r10, r10
je 0x14012ed97
mov rdx, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rdx + 0x3c], ecx
jg 0x14012ed68
mov r9d, ebx
mov dword [rsp + 0x20], ebp
mov edx, 0x55
mov rcx, r10
call fcn.1400eec90
jmp 0x14012ed97
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [rax + rcx*8 + 0xc], ebp
mov dword [rax + rcx*8 + 8], ebx
mov byte [rax + rcx*8 + 3], 0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012edbf
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0x11]
call fcn.1400eec90
jmp 0x14012eded
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x11
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
cmp byte [rsp + 0x90], 0
jne 0x14012ee14
cmp dword [rsp + 0x94], 0
jne 0x14012ee1e
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x14012efcd
jmp 0x14012ee46
cmp dword [rsp + 0x94], 0
je 0x14012ee3e
mov r12, qword [rsp + 0x98]
mov rcx, r15
mov rdx, r12
call fcn.140115fe0
mov rdx, qword [rsp + 0xc8]
mov r14d, eax
jmp 0x14012ee51
mov rdx, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x98]
mov r14d, ebp
mov r8, qword [rsp + 0x1e0]
xor r9d, r9d
mov dword [rsp + 0x30], edi
mov rcx, r15
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 3
call fcn.14012d160
or r14d, eax
mov ebx, ebp
cmp bp, word [r12 + 0x42]
jge 0x14012ef59
mov r13d, dword [rsp + 0xe8]
mov edi, 1
mov r15d, dword [rsp + 0x60]
rol edi, 0
nop dword [rax + rax]
cmp r14d, 0xffffffff
je 0x14012ef1b
cmp ebx, 0x20
jge 0x14012eeb0
test r14d, edi
jne 0x14012ef1b
mov rax, qword [r12 + 8]
test byte [rax + rbp + 0x1b], 1
jne 0x14012ef1b
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012eee6
xor eax, eax
lea r9d, [rbx + r13]
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x4f]
call fcn.1400eec90
jmp 0x14012ef34
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
lea rdx, [rax + rcx*8]
xor ecx, ecx
lea eax, [rbx + r13]
mov dword [rdx + 4], ecx
mov dword [rdx + 8], eax
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], rcx
jmp 0x14012ef34
lea eax, [rbx + r13]
mov r9d, ebx
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, r12
mov rcx, rsi
call fcn.14010ecc0
movsx eax, word [r12 + 0x42]
inc ebx
rol edi, 1
add rbp, 0x20
cmp ebx, eax
jl 0x14012eea0
mov r13d, dword [rsp + 0x70]
xor ebp, ebp
mov r15, qword [rsp + 0x1d0]
cmp byte [rsp + 0x64], 0
jne 0x14012efcd
cmp qword [rsp + 0xa0], 0
jne 0x14012efcd
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012ef98
mov r9d, dword [rsp + 0x74]
mov edx, 0x54
mov r8d, dword [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400eec90
jmp 0x14012efcd
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0x54
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov ebp, dword [rsp + 0x1f0]
mov ebx, 1
mov r14, qword [rsp + 0x98]
mov r9d, ebx
mov rdi, qword [rsp + 0xc8]
mov rcx, r15
mov r8, qword [rsp + 0x1e0]
mov rdx, rdi
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebx
call fcn.14012d160
xor r9d, r9d
mov r12d, eax
cmp r9w, word [r14 + 0x42]
jge 0x14012f32d
mov edi, dword [rsp + 0xd4]
mov ebp, ebx
mov r14, qword [rsp + 0x78]
mov r15d, edi
mov r13, qword [rsp + 0x1d0]
rol ebp, 0
neg r15d
nop dword [rax]
mov rax, qword [rsp + 0x98]
lea ebx, [r15 + rdi]
movsx eax, word [rax + 0x40]
cmp ebx, eax
jne 0x14012f084
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f1c4
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, edi
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.1400eec90
jmp 0x14012f2e6
movsxd rax, dword [r14]
test eax, eax
js 0x14012f198
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x1e0]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14012f114
cmp byte [rdx], 0x9d
jne 0x14012f114
mov r10, qword [r13 + 0x10]
mov r8d, dword [rdx + 0x2c]
mov rax, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f0df
mov dword [rsp + 0x20], r9d
mov edx, 0x54
mov r9d, edi
mov rcx, r10
call fcn.1400eec90
jmp 0x14012f2e6
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x54
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14012f2e9
mov r8d, edi
mov rcx, r13
call fcn.140110320
mov r8d, eax
cmp eax, edi
je 0x14012f2e6
mov r10, qword [r13 + 0x10]
test r10, r10
je 0x14012f2e6
mov rdx, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rdx + 0x3c], ecx
jg 0x14012f160
xor eax, eax
mov r9d, edi
mov rcx, r10
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x55]
call fcn.1400eec90
jmp 0x14012f2e6
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x55
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14012f2e9
mov eax, dword [rsp + 0xd0]
and eax, 1
test al, al
je 0x14012f1f8
cmp ebx, 0x1f
jg 0x14012f1f8
test r12d, ebp
jne 0x14012f1f8
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jle 0x14012f068
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14012f2e9
mov r11, qword [rsp + 0x1d0]
mov ecx, r9d
mov r13d, dword [rsp + 0x60]
movzx r8d, byte [r11 + 0x25]
lea rdx, [r11 + 0xc4]
test r8d, r8d
je 0x14012f238
nop dword [rax]
cmp dword [rdx], r13d
jne 0x14012f22d
movsx eax, word [rdx + 4]
cmp eax, ebx
je 0x14012f26e
inc ecx
add rdx, 0x14
cmp ecx, r8d
jl 0x14012f220
mov rdx, qword [rsp + 0x98]
mov r9d, ebx
mov rcx, qword [r11 + 0x10]
mov r8d, r13d
mov dword [rsp + 0x20], edi
call fcn.14010ecc0
mov edx, r13d
mov r9d, edi
mov r13, qword [rsp + 0x1d0]
mov r8d, ebx
mov rcx, r13
call fcn.14010e4f0
jmp 0x14012f2e6
mov eax, dword [r11 + 0x50]
xor ebx, ebx
mov dword [rdx + 0x10], eax
mov r8d, ebx
inc dword [r11 + 0x50]
mov r9d, dword [rdx + 0xc]
cmp byte [r11 + 0x25], bl
jbe 0x14012f2a9
lea rcx, [r11 + 0xca]
nop
cmp dword [rcx + 6], r9d
jne 0x14012f298
mov byte [rcx], bl
movzx eax, byte [r11 + 0x25]
inc r8d
add rcx, 0x14
cmp r8d, eax
jl 0x14012f290
mov r8d, dword [rdx + 0xc]
cmp r8d, edi
je 0x14012f2de
mov r10, qword [r11 + 0x10]
mov rax, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f3ea
mov r9d, edi
mov dword [rsp + 0x20], ebx
mov edx, 0x55
mov rcx, r10
call fcn.1400eec90
mov r13, qword [rsp + 0x1d0]
xor r9d, r9d
mov rax, qword [rsp + 0x98]
inc edi
rol ebp, 1
add r14, 4
movsx eax, word [rax + 0x42]
lea ecx, [r15 + rdi]
cmp ecx, eax
jl 0x14012f040
mov r13d, dword [rsp + 0x70]
mov r15, qword [rsp + 0x1d0]
mov ebp, dword [rsp + 0x1f0]
mov r14, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xc8]
test byte [rsp + 0xd0], 1
je 0x14012f542
mov r12d, dword [rsp + 0xd4]
mov rdx, r14
mov r8d, r12d
mov rcx, rsi
call fcn.14012cc60
mov rbx, rdi
test rdi, rdi
je 0x14012f3aa
mov rsi, qword [rsp + 0x1e0]
cmp byte [rbx + 0x10], 0x6e
jne 0x14012f399
cmp byte [rbx + 0x11], 1
jne 0x14012f399
mov rcx, qword [rbx + 0x20]
mov rdx, rsi
call fcn.1400dc720
test eax, eax
je 0x14012f399
mov r9d, dword [rsp + 0x68]
mov r8, r14
mov dword [rsp + 0x28], r13d
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x20], ebp
call fcn.1401080c0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14012f361
mov rsi, qword [rsp + 0x120]
cmp qword [rsp + 0xa0], 0
mov rax, qword [rsi + 0x18]
je 0x14012f48b
movsxd rdx, dword [rsi + 0xb8]
mov r8d, dword [rsp + 0x60]
cmp dword [rax + 0x3c], edx
jg 0x14012f429
mov eax, dword [rsp + 0x6c]
mov r9d, r13d
mov edx, 0x1e
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.1400eec90
mov edx, eax
jmp 0x14012f461
mov r13, qword [rsp + 0x1d0]
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
xor r9d, r9d
mov word [rax + rcx*8], 0x55
mov byte [rax + rcx*8 + 3], bl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14012f2e9
lea rcx, [rdx + rdx*2]
xor r9d, r9d
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x6c]
mov dword [rax + rcx*8 + 0xc], r8d
mov word [rax + rcx*8], 0x1e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r13d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14012f4ef
movsxd rax, edx
mov edx, dword [rsp + 0xc0]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x14012f4ef
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f4b6
mov eax, dword [rsp + 0x68]
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400eec90
jmp 0x14012f4ef
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
xor r9d, r9d
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r13d
mov qword [rax + rcx*8 + 0x10], r9
xor eax, eax
mov ebx, eax
cmp ax, word [r14 + 0x42]
jge 0x14012f544
mov rdi, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x60]
cmp dword [rdi], 0
jge 0x14012f52b
movsx eax, word [r14 + 0x40]
cmp ebx, eax
je 0x14012f52b
lea eax, [rbx + r12]
mov r9d, ebx
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, r14
mov rcx, rsi
call fcn.14010ecc0
movsx eax, word [r14 + 0x42]
inc ebx
add rdi, 4
cmp ebx, eax
jl 0x14012f504
mov r15, qword [rsp + 0x1d0]
xor eax, eax
cmp qword [rsp + 0x100], 0
jne 0x14012f882
mov rdi, qword [rsp + 0x78]
mov ebx, eax
movzx r12d, byte [rsp + 0x8c]
mov rdx, r14
mov r9d, dword [rsp + 0x60]
mov rcx, r15
mov r8, qword [rsp + 0x108]
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x1d0], eax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x48], r13d
mov byte [rsp + 0x40], bpl
mov byte [rsp + 0x38], r12b
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
call fcn.140116300
cmp dword [rsp + 0x94], 0
je 0x14012f5e8
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
movzx eax, r12b
mov rdx, r14
mov dword [rsp + 0x28], eax
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.140115020
mov edi, dword [rsp + 0x1d0]
test edi, edi
jne 0x14012f5fc
test r12b, r12b
je 0x14012f6f8
cmp qword [rsp + 0xa0], 0
movsxd rbx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
je 0x14012f69a
cmp dword [rax + 0x3c], ebx
jg 0x14012f63b
mov eax, dword [rsp + 0x6c]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x1e]
call fcn.1400eec90
mov ebx, eax
jmp 0x14012f674
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x6c]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x1e
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14012f6f8
mov edx, dword [rsp + 0xc0]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x14012f6f8
cmp dword [rax + 0x3c], ebx
jg 0x14012f6bf
mov eax, dword [rsp + 0x68]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x21]
call fcn.1400eec90
mov ebx, eax
jmp 0x14012f6f8
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x108]
mov rdx, r14
mov r9d, dword [rsp + 0xb0]
mov rcx, r15
mov r8d, dword [rsp + 0x60]
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.1401185a0
mov r8d, dword [rsp + 0x94]
test r8d, r8d
jne 0x14012f742
test r12b, r12b
jne 0x14012f742
cmp qword [rsp + 0xa0], 0
je 0x14012f7a5
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f775
mov r8d, dword [rsp + 0x60]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x75]
call fcn.1400eec90
mov r8d, dword [rsp + 0x94]
jmp 0x14012f7a5
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x75
mov byte [rax + rcx*8 + 3], 0
test edi, edi
jne 0x14012f7ae
test r12b, r12b
je 0x14012f7df
mov edx, dword [rsi + 0xb8]
test ebx, ebx
jns 0x14012f7bb
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x14012f7cd
lea rax, [0x1402865b8]
jmp 0x14012f7dc
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rdi, qword [rsp + 0x78]
test r8d, r8d
je 0x14012f80b
mov r9d, dword [rsp + 0x74]
xor r8d, r8d
movzx ebx, r12b
mov rdx, r14
mov dword [rsp + 0x28], ebx
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.140115020
jmp 0x14012f812
mov ebx, dword [rsp + 0xf0]
mov r9d, dword [rsp + 0xb0]
xor eax, eax
mov r8d, dword [rsp + 0x60]
mov rdx, r14
mov dword [rsp + 0x40], eax
mov rcx, r15
mov dword [rsp + 0x38], eax
mov eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
call fcn.1401094b0
cmp dword [rsp + 0x94], 0
je 0x14012f882
mov r9d, dword [rsp + 0x68]
mov rdx, r14
mov dword [rsp + 0x28], ebx
mov rcx, r15
mov qword [rsp + 0x20], rdi
mov rdi, qword [rsp + 0x1e0]
mov r8, rdi
call fcn.140114f20
jmp 0x14012f88a
mov rdi, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0xa8]
test byte [r12 + 0x2c], 0x80
je 0x14012f90a
cmp qword [r15 + 0xa8], 0
jne 0x14012f90a
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f8d3
mov r8d, dword [rsp + 0xb4]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
lea edx, [rax + 0x5b]
call fcn.1400eec90
jmp 0x14012f90a
mov edx, dword [rsp + 0xb4]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov qword [rax + rcx*8 + 0x10], rdx
mov word [rax + rcx*8], 0x5b
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 8], 1
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
je 0x14012f967
mov r12d, dword [rsp + 0x68]
nop dword [rax]
cmp byte [rbx + 0x10], 0x6e
jne 0x14012f956
cmp byte [rbx + 0x11], 2
jne 0x14012f956
mov rcx, qword [rbx + 0x20]
mov rdx, rdi
call fcn.1400dc720
test eax, eax
je 0x14012f956
mov dword [rsp + 0x28], r13d
mov r9d, r12d
mov r8, r14
mov dword [rsp + 0x20], ebp
mov rdx, rbx
mov rcx, r15
call fcn.1401080c0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x14012f920
mov r12, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xd8]
test eax, eax
jne 0x14012fa69
cmp qword [rsp + 0xa0], 0
mov rax, qword [rsi + 0x18]
je 0x14012fa14
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14012f9a1
mov eax, dword [rsi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rsi + 0x18]
xor ebp, ebp
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012f9d7
mov r9d, dword [rsp + 0xc4]
lea edx, [rbp + 7]
mov r8d, dword [rsp + 0x88]
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400eec90
jmp 0x14012fa6b
mov edx, dword [rsp + 0x88]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xc4]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 7
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x14012fa6b
movsxd rcx, dword [rsi + 0xb8]
xor ebp, ebp
cmp dword [rax + 0x3c], ecx
jg 0x14012fa39
mov r9d, r13d
mov dword [rsp + 0x20], ebp
xor r8d, r8d
lea edx, [rbp + 0xd]
mov rcx, rsi
call fcn.1400eec90
jmp 0x14012fa6b
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x14012fa6b
xor ebp, ebp
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14012fa8d
mov eax, dword [rsp + 0xdc]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
cmp byte [r15 + 0x1e], 0
jne 0x14012fab0
cmp qword [r15 + 0xa8], 0
jne 0x14012fab0
cmp qword [r15 + 0x98], 0
je 0x14012fab0
mov rcx, r15
call fcn.1400d8490
test byte [r12 + 0x2c], 0x80
je 0x14012fbaf
cmp qword [r15 + 0xa8], 0
jne 0x14012fbaf
cmp byte [r15 + 0x1e], 0
jne 0x14012fbaf
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14012fb05
mov r8d, dword [rsp + 0xb4]
mov r9d, 1
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x56]
call fcn.1400eec90
jmp 0x14012fb3a
mov edx, dword [rsp + 0xb4]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x57
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rbp
mov edx, 1
mov rcx, rsi
call fcn.14013cd80
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x14012fbaf
mov rbx, qword [rsi + 0x80]
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14012fb65
mov eax, dword [rax + 0x70]
jmp 0x14012fb6a
mov eax, 0x3b9aca00
mov ecx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea edi, [rax + 1]
cmp eax, ecx
mov eax, 0x2460
cmovge edi, ecx
test word [rbx + 8], ax
jne 0x14012fb88
cmp dword [rbx + 0x20], 0
je 0x14012fb90
mov rcx, rbx
call fcn.140149110
lea rax, str.rows_updated
mov qword [rbx + 0x30], rbp
mov qword [rbx + 0x10], rax
mov eax, 0xa02
mov word [rbx + 8], ax
mov dword [rbx + 0xc], edi
mov byte [rbx + 0xa], 1
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x1d8]
mov rbx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x190]
mov r15, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x1a0]
test r15, r15
je 0x14012fbf8
mov qword [r15 + 0x210], rax
mov r15, qword [rsp + 0x188]
test r13, r13
je 0x14012fcee
test r12, r12
je 0x14012fc93
cmp qword [r12 + 0x298], 0
je 0x14012fc61
mov rdx, r13
mov rcx, r12
call fcn.1400f1940
jmp 0x14012fcee
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0xa8]
jmp 0x14012fbb4
mov r13, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x1e0]
mov r12, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x1d8]
jmp 0x14012fbcc
cmp r13, qword [r12 + 0x180]
jb 0x14012fc93
cmp r13, qword [r12 + 0x188]
jae 0x14012fc93
mov rax, qword [r12 + 0x178]
mov qword [r13], rax
dec dword [r12 + 0x160]
mov qword [r12 + 0x178], r13
jmp 0x14012fcee
cmp dword [0x14027d280], 0
je 0x14012fce5
mov rcx, qword [0x140286200]
test rcx, rcx
je 0x14012fcae
call qword [0x14027d308]
mov rcx, r13
call qword [0x14027d2c0]
dec qword [0x140286338]
movsxd rcx, eax
sub qword [0x1402862f0], rcx
mov rcx, r13
call qword [0x14027d2b0]
mov rcx, qword [0x140286200]
test rcx, rcx
je 0x14012fcee
call qword [0x14027d318]
jmp 0x14012fcee
mov rcx, r13
call qword [0x14027d2b0]
mov rdx, rbp
mov rcx, r12
call fcn.14012b980
mov r13, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x1a8]
test rbx, rbx
je 0x14012fd19
mov rdx, rbx
mov rcx, r12
call fcn.1400e77b0
mov rbx, qword [rsp + 0x1b0]
test rdi, rdi
je 0x14012fd31
mov rdx, rdi
mov rcx, r12
call fcn.140111aa0
add rsp, 0x1b8
pop r12
pop rdi
ret