Function at 0x140152610
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
lea rbp, [rax - 0x158]
sub rsp, 0x248
mov rdx, qword [rcx]
mov rbx, r9
mov qword [rax - 0x18], rsi
xor esi, esi
mov qword [rax - 0x20], rdi
mov rdi, r8
mov qword [rax - 0x38], r14
mov r14, rcx
mov dword [rbp - 0x20], esi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x48], rsi
mov dword [rbp], 0xffffffff
mov dword [rbp - 0x2c], esi
mov dword [rbp - 0x3c], esi
mov word [rbp - 0x1c], si
mov dword [rbp - 0x38], esi
mov dword [rbp + 4], 1
mov dword [rbp + 0x20], esi
mov dword [rsp + 0x78], esi
mov dword [rbp - 0x5c], esi
mov dword [rbp - 0x30], esi
mov dword [rbp + 0x38], esi
mov dword [rbp - 0x34], esi
mov dword [rbp - 0x80], esi
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x10], rdx
cmp dword [rcx + 0x30], esi
jne 0x14015513c
cmp byte [rdx + 0x63], sil
jne 0x14015513c
mov rdx, qword [rbp + 0x168]
mov qword [rax - 0x30], r13
call fcn.14014f8f0
mov qword [rbp - 0x50], rax
mov r13, rax
test rax, rax
je 0x140155134
mov rdx, qword [rax + 0x70]
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x218], r15
mov r15d, 0xffff8000
mov dword [rbp - 0x60], r15d
test rdx, rdx
je 0x140152720
mov rax, qword [r14]
mov r15d, esi
mov dword [rbp - 0x60], esi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x140152720
nop word [rax + rax]
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x140152710
mov dword [rbp - 0x60], r15d
mov rdx, r13
mov dword [rbp - 0x10], esi
mov rcx, r14
mov r12d, esi
call fcn.140151930
mov rsi, rax
test rax, rax
je 0x1401527e0
mov rbx, rax
mov rax, qword [r14]
mov ecx, dword [rax + 0x30]
bt rcx, 0x12
jb 0x14015278a
mov rcx, qword [r13 + 0x68]
test rcx, rcx
je 0x14015278a
cmp rbx, rcx
jne 0x140152764
xor eax, eax
mov esi, eax
jmp 0x1401527e2
mov rax, qword [rsi + 0x40]
test rax, rax
je 0x140152781
nop dword [rax]
cmp rax, rcx
je 0x140152781
mov rbx, rax
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x140152770
xor eax, eax
mov qword [rbx + 0x40], rax
mov rbx, rsi
mov r15, qword [rbp + 0x170]
movzx edi, byte [rbx + 0x10]
cmp dil, 0x80
jne 0x140152811
mov rcx, qword [rbx + 0x20]
mov rdx, r15
call fcn.1400efd10
test eax, eax
jne 0x1401527c1
cmp byte [rbx + 0x12], 0
je 0x1401527c8
cmp dil, 0x7e
jne 0x1401527c8
cmp qword [r14 + 0xa0], 0
jne 0x1401527c8
movzx eax, byte [rbx + 0x11]
or r12d, eax
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140152791
mov r15d, dword [rbp - 0x60]
mov rdi, qword [rbp + 0x170]
mov dword [rbp - 0x10], r12d
xor eax, eax
mov rbx, qword [rbp + 0x168]
test r12d, r12d
cmovne rax, rsi
mov qword [rbp + 0x18], rax
cmp dword [rbx], 1
mov rax, qword [r13 + 0x18]
mov qword [rbp - 8], rax
jle 0x14015284f
mov ebx, dword [rdi]
xor edi, edi
mov dword [rbp - 0x68], ebx
mov rbx, qword [rbp + 0x168]
jmp 0x140152854
cmp dil, 0x95
jne 0x1401527ab
mov byte [rbx + 0x10], 0x80
cmp dword [r13 + 0x54], 0
je 0x140152842
lea r8, str.UPDATE
mov rcx, r14
lea rdx, str._s_RETURNING_is_not_available_on_virtual_tables
call fcn.14012b3a0
mov al, 1
mov byte [rbx + 0x11], al
movzx eax, al
jmp 0x1401527c5
mov al, 2
mov byte [rbx + 0x11], al
movzx eax, al
jmp 0x1401527c5
xor edi, edi
mov dword [rbp - 0x68], edi
mov rdx, r13
mov rcx, r14
call fcn.1401652d0
test eax, eax
jne 0x14015511d
mov r8d, r12d
mov rdx, r13
mov rcx, r14
call fcn.14013c050
test eax, eax
jne 0x14015511d
mov r8d, dword [r14 + 0x34]
mov edx, r8d
mov dword [rsp + 0x70], r8d
mov dword [rbp - 0x14], edx
lea r12d, [r8 + 1]
mov dword [r14 + 0x34], r12d
test byte [r13 + 0x40], 0x80
mov dword [rbp - 0x24], r12d
jne 0x1401528a8
mov r9, rdi
mov qword [rbp - 0x48], rdi
jmp 0x1401528cc
mov r9, qword [r13 + 0x10]
mov qword [rbp - 0x48], r9
test r9, r9
je 0x1401528cc
mov eax, dword [r9 + 0x64]
and al, 3
cmp al, 2
je 0x1401528c8
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x1401528b5
mov qword [rbp - 0x48], r9
mov rcx, qword [r13 + 0x10]
mov esi, edi
mov dword [rbp + 0x3c], edi
test rcx, rcx
je 0x140152907
mov edx, r12d
nop dword [rax]
cmp r9, rcx
mov eax, edx
cmovne eax, r8d
inc edx
mov dword [r14 + 0x34], edx
inc esi
mov rcx, qword [rcx + 0x28]
mov r8d, eax
test rcx, rcx
jne 0x1401528e0
mov edx, dword [rbp - 0x14]
mov dword [rbp + 0x3c], esi
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x198]
test rax, rax
je 0x140152926
mov r8d, dword [rax + 0x4c]
mov eax, dword [rax + 0x50]
mov dword [rbp - 0x24], eax
mov dword [r14 + 0x34], edx
mov dword [rsp + 0x70], r8d
mov rcx, qword [rbp + 0x10]
mov dword [rbx + 0x4c], r8d
movsx eax, word [r13 + 0x46]
add eax, esi
movsxd rbx, esi
cdqe
lea rdx, [rax*4 + 6]
add rdx, rbx
call fcn.140128a50
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
je 0x14015511d
movsx rax, word [r13 + 0x46]
mov edx, 1
lea rax, [rdi + rax*4]
lea r12, [rax + 4]
mov qword [rbp + 0x40], rax
lea r12, [r12 + rbx*4]
lea eax, [rsi + 1]
mov qword [rbp + 0x28], r12
cdqe
mov rcx, r12
mov r8, rax
mov qword [rbp + 0x58], rax
call fcn.1401b3ce0
xor r9d, r9d
mov byte [rbx + r12 + 1], 0
mov ecx, r9d
cmp r9w, word [r13 + 0x46]
jge 0x1401529b5
nop
movsxd rax, ecx
inc ecx
mov dword [rdi + rax*4], 0xffffffff
movsx eax, word [r13 + 0x46]
cmp ecx, eax
jl 0x1401529a0
mov rax, qword [rbp + 0x198]
xorps xmm0, xmm0
mov rcx, qword [rbp + 0x168]
mov qword [rbp + 0xe0], rax
mov rax, qword [r14 + 0x10]
mov qword [rbp + 0xfc], r9
mov dword [rbp + 0x104], r9d
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], rcx
mov dword [rbp + 0xf8], 0x200
mov qword [rbp - 0x78], rax
movdqu xmmword [rbp + 0xe8], xmm0
test rax, rax
jne 0x140152a37
cmp qword [r14 + 0xa0], r9
jne 0x140152a1f
mov rax, qword [r14]
test byte [rax + 0x5c], 8
jne 0x140152a1f
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140156c40
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140152ec5
xor r9d, r9d
mov rcx, qword [rbp + 0x170]
xor dl, dl
mov byte [rsp + 0x7c], dl
mov r12d, r9d
mov byte [rsp + 0x74], dl
cmp dword [rcx], 0
jle 0x140152c6c
movsxd rsi, r15d
mov qword [rbp + 0x30], rsi
cmp dword [rbp - 0x68], 0
lea rdx, [0x140237d20]
movsxd r14, r12d
jne 0x140152a9c
mov rdx, r14
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
lea rcx, [rbp + 0xd0]
call fcn.140148c00
test eax, eax
jne 0x140152ec1
mov rcx, qword [rbp + 0x170]
lea rdx, [0x140237d20]
xor r9d, r9d
movsx rax, word [r13 + 0x46]
mov r11d, r9d
mov rdi, r9
cmp r9w, ax
jge 0x140152b95
mov r15, qword [r13 + 8]
mov rbx, rax
mov r13, r14
mov r10, r15
shl r13, 5
add r13, rcx
mov rsi, qword [r13 + 0x10]
nop dword [rax]
mov r8, qword [r10]
mov r9, rsi
sub r9, r8
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + r9]
cmp ecx, eax
jne 0x140152b11
test ecx, ecx
jne 0x140152b27
mov rax, qword [rbp - 0x50]
movsx eax, word [rax + 0x44]
cmp r11d, eax
jne 0x140152b4b
mov rax, qword [r13 + 8]
mov qword [rbp + 0x48], rax
mov byte [rsp + 0x74], 1
mov dword [rbp], r12d
jmp 0x140152b7b
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x140237d20]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x140152b33
inc r8
lea rdx, [0x140237d20]
jmp 0x140152ae0
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rbx
jge 0x140152b8d
lea rdx, [0x140237d20]
jmp 0x140152ad0
cmp qword [rbp - 0x48], 0
je 0x140152b68
mov rax, rdi
shl rax, 5
test byte [rax + r15 + 0x1c], 1
je 0x140152b68
mov byte [rsp + 0x7c], 1
jmp 0x140152b7b
mov rax, rdi
shl rax, 5
test byte [rax + r15 + 0x1c], 0x60
jne 0x140152ea3
mov r15, qword [rbp - 0x70]
mov rsi, qword [rbp + 0x30]
mov r13, qword [rbp - 0x50]
mov dword [r15 + rdi*4], r12d
jmp 0x140152b99
mov rsi, qword [rbp + 0x30]
mov r13, qword [rbp - 0x50]
mov r15, qword [rbp - 0x70]
movsx eax, word [r13 + 0x46]
cmp r11d, eax
jl 0x140152bee
cmp qword [rbp - 0x48], 0
jne 0x140152ee8
mov rbx, r14
shl rbx, 5
add rbx, qword [rbp + 0x170]
mov rcx, qword [rbx + 0x10]
call fcn.14013c130
test eax, eax
je 0x140152ee8
mov rax, qword [rbx + 8]
lea r9, str.ROWID
mov qword [rbp + 0x48], rax
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x74], 1
mov dword [rbp], r12d
jmp 0x140152c0b
test rdi, rdi
jns 0x140152bfc
lea r9, str.ROWID
jmp 0x140152c0b
mov rax, qword [r13 + 8]
mov rcx, rdi
shl rcx, 5
mov r9, qword [rcx + rax]
mov rax, qword [rbp + 0x10]
mov rcx, rsi
mov r14, qword [rbp + 0x160]
mov edx, 0x17
mov r8, qword [r13]
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.14011da60
cmp eax, 1
je 0x140152ec1
cmp eax, 2
jne 0x140152c51
mov dword [r15 + rdi*4], 0xffffffff
mov rcx, qword [rbp + 0x170]
inc r12d
xor r9d, r9d
cmp r12d, dword [rcx]
jl 0x140152a5b
movzx edx, byte [rsp + 0x7c]
test byte [r13 + 0x40], 0x60
lea r11, [0x1400efe00]
movzx r15d, byte [rsp + 0x74]
mov r10d, 0xfffd
lea edi, [r15 + rdx]
mov byte [rsp + 0x75], dil
je 0x140152d72
movzx ecx, word [r13 + 0x46]
mov r14d, 1
nop
mov esi, r9d
mov ebx, r9d
cmp r9w, cx
jge 0x140152d66
mov r8, qword [rbp - 0x70]
movsxd rcx, ebx
cmp dword [r8 + rcx*4], 0
lea rdi, [r8 + rcx*4]
jge 0x140152d4f
mov rax, qword [r13 + 8]
shl rcx, 5
test byte [rcx + rax + 0x1c], 0x60
je 0x140152d4f
mov rdx, qword [rcx + rax + 8]
xorps xmm0, xmm0
mov qword [rbp + 0x60], r9
movzx eax, r9w
mov word [rbp + 0x84], ax
mov dword [rbp + 0x80], r9d
mov word [rbp + 0x86], r9w
mov qword [rbp + 0x68], r11
mov qword [rbp + 0x88], r8
movdqu xmmword [rbp + 0x70], xmm0
test rdx, rdx
je 0x140152d38
lea rcx, [rbp + 0x60]
call fcn.14017ccd0
movzx eax, word [rbp + 0x84]
lea r11, [0x1400efe00]
mov r8, qword [rbp - 0x70]
xor r9d, r9d
mov r10d, 0xfffd
test r15b, r15b
jne 0x140152d41
and ax, r10w
test ax, ax
je 0x140152d4f
mov dword [rdi], 0x1869f
mov esi, r14d
movsx ecx, word [r13 + 0x46]
inc ebx
cmp ebx, ecx
jl 0x140152cb4
test esi, esi
jne 0x140152ca0
movzx edi, byte [rsp + 0x75]
mov r14, qword [rbp + 0x160]
mov eax, dword [r13 + 0x54]
mov rdx, r13
mov r8, qword [rbp - 0x70]
neg eax
mov rax, qword [rbp + 0x168]
sbb rcx, rcx
mov qword [rax + 0x60], rcx
mov rcx, r14
movzx eax, dil
mov r9d, eax
mov dword [rbp + 8], eax
call fcn.1401349d0
mov r15d, dword [rbp + 0x180]
mov r10d, 1
movsxd rsi, eax
cmp r15d, 5
mov eax, dword [rbp - 0x38]
cmove eax, r10d
mov dword [rbp - 0x28], esi
xor r9d, r9d
mov dword [rbp - 0x38], eax
mov rbx, qword [r13 + 0x10]
mov r12d, r9d
test rbx, rbx
je 0x140153038
mov r14, qword [rbp + 0x28]
mov r13, rsi
mov r15, qword [rbp + 0x40]
inc r14
mov r8, qword [rbp - 0x70]
test dil, dil
jne 0x140152fe0
cmp r13, 1
jg 0x140152fe0
cmp rbx, qword [rbp - 0x48]
je 0x140152fe0
mov rdx, qword [rbx + 0x48]
test rdx, rdx
je 0x140152e67
lea rax, [0x1400efe00]
mov qword [rbp + 0x60], r9
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x60]
mov rax, qword [rbp - 0x70]
xorps xmm0, xmm0
mov qword [rbp + 0x88], rax
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], 0
call fcn.14017ccd0
movzx eax, word [rbp + 0x84]
cmp byte [rsp + 0x74], dil
jne 0x140152e57
mov ecx, 0xfffd
and ax, cx
mov r8, qword [rbp - 0x70]
xor r9d, r9d
test ax, ax
jne 0x140152fe0
mov esi, r9d
mov edi, r9d
cmp r9w, word [rbx + 0x5e]
jae 0x140152ffa
nop dword [rax + rax]
mov rax, qword [rbx + 8]
movsxd rcx, edi
movsx rdx, word [rax + rcx*2]
test dx, dx
js 0x140152f14
mov ecx, dword [r8 + rdx*4]
not ecx
shr ecx, 0x1f
jmp 0x140152f9d
mov rcx, qword [rbp + 0x160]
lea rdx, str.cannot_UPDATE_generated_column___s_
movsxd r8, r11d
shl r8, 5
mov r8, qword [r8 + r15]
call fcn.14012b3a0
mov rdi, qword [rbp - 0x70]
mov rdx, qword [rbp + 0x10]
cmp qword [rdx + 0x2e0], 0
je 0x140155081
mov rcx, qword [rbp + 0x10]
mov rdx, rdi
call fcn.140107e10
jmp 0x14015511d
mov rax, qword [rbp + 0x170]
lea rdx, str.no_such_column:__s
mov rbx, qword [rbp + 0x160]
shl r14, 5
mov rcx, rbx
mov r8, qword [r14 + rax + 0x10]
call fcn.14012b3a0
mov byte [rbx + 0x1d], 1
jmp 0x140152ec1
mov rax, qword [rbx + 0x50]
xorps xmm0, xmm0
shl rcx, 5
mov qword [rbp + 0xa0], r9
movdqu xmmword [rbp + 0xb0], xmm0
mov dword [rbp + 0xc0], r9d
mov rdx, qword [rcx + rax + 8]
movzx eax, r9w
mov word [rbp + 0xc6], r9w
lea rcx, [0x1400efe00]
mov qword [rbp + 0xa8], rcx
mov rcx, qword [rbp - 0x70]
mov qword [rbp + 0xc8], rcx
mov word [rbp + 0xc4], ax
test rdx, rdx
je 0x140152f81
lea rcx, [rbp + 0xa0]
call fcn.14017ccd0
movzx eax, word [rbp + 0xc4]
xor r9d, r9d
cmp byte [rsp + 0x74], 0
jne 0x140152f90
mov ecx, 0xfffd
and ax, cx
mov r8, qword [rbp - 0x70]
test ax, ax
mov ecx, r9d
setne cl
test ecx, ecx
jne 0x140152fb1
movzx eax, word [rbx + 0x5e]
inc edi
cmp edi, eax
jl 0x140152e80
jmp 0x140152ffa
mov rcx, qword [rbp + 0x160]
inc dword [rcx + 0x38]
movzx eax, word [rbx + 0x60]
mov esi, dword [rcx + 0x38]
add eax, esi
cmp dword [rbp + 0x180], 0xb
mov dword [rcx + 0x38], eax
jne 0x140152ff6
cmp byte [rbx + 0x62], 5
jne 0x140152ff6
mov eax, 1
mov dword [rbp - 0x38], eax
jmp 0x140152ff6
mov rcx, qword [rbp + 0x160]
inc dword [rcx + 0x38]
movzx eax, word [rbx + 0x60]
mov esi, dword [rcx + 0x38]
add eax, esi
mov dword [rcx + 0x38], eax
test esi, esi
jne 0x140152ffe
mov byte [r14], 0
movzx edi, byte [rsp + 0x75]
inc r12d
mov dword [r15], esi
inc r14
mov rbx, qword [rbx + 0x28]
add r15, 4
test rbx, rbx
jne 0x140152de5
mov r15d, dword [rbp + 0x180]
mov esi, r13d
mov r13, qword [rbp - 0x50]
mov r10d, 1
mov r14, qword [rbp + 0x160]
inc dword [r14 + 0x38]
mov rdx, qword [rbp + 0x40]
mov ecx, dword [r14 + 0x38]
movsxd rax, r12d
lea r12, [rdx + rax*4]
mov dword [r12], ecx
cmp dword [rbp - 0x38], 0
je 0x140153065
mov r8, qword [rbp + 0x58]
mov edx, r10d
mov rcx, qword [rbp + 0x28]
call fcn.1401b3ce0
cmp byte [r14 + 0x1e], 0
jne 0x140153077
mov rax, qword [rbp - 0x78]
or dword [rax + 0xc8], 0x10
mov rdx, qword [rbp + 0x18]
test rdx, rdx
jne 0x140153089
test esi, esi
jne 0x140153089
xor dil, dil
jmp 0x14015308c
mov dil, 1
mov rax, qword [r14 + 0xa0]
mov rbx, r14
mov ecx, dword [rbp - 0x60]
test rax, rax
cmovne rbx, rax
mov eax, dword [rbx + 0x74]
bt eax, ecx
jb 0x1401530c2
bts eax, ecx
mov dword [rbx + 0x74], eax
cmp ecx, 1
jne 0x1401530c2
mov rcx, rbx
call fcn.14013edb0
mov ecx, dword [rbp - 0x60]
mov rdx, qword [rbp + 0x18]
mov eax, dword [rbx + 0x70]
or byte [rbx + 0x20], dil
bts eax, ecx
mov dword [rbx + 0x70], eax
cmp dword [r13 + 0x54], 0
jne 0x140153144
mov r8d, dword [r14 + 0x38]
mov eax, dword [r12]
inc r8d
cmp byte [rsp + 0x7c], 0
mov dword [rbp - 0x34], eax
mov dword [rbp - 0x5c], r8d
mov dword [r14 + 0x38], r8d
mov dword [rsp + 0x78], r8d
jne 0x140153104
test rdx, rdx
jne 0x140153104
mov ecx, r8d
test esi, esi
je 0x140153117
movsx ecx, word [r13 + 0x46]
lea eax, [r8 + 1]
add ecx, r8d
mov dword [rbp + 0x38], eax
mov dword [r14 + 0x38], ecx
cmp byte [rsp + 0x75], 0
jne 0x140153127
test rdx, rdx
jne 0x140153127
test esi, esi
je 0x140153133
lea eax, [rcx + 1]
mov dword [rbp - 0x5c], eax
mov ecx, eax
mov dword [r14 + 0x38], eax
lea eax, [rcx + 1]
mov dword [rbp - 0x30], eax
movsx eax, word [r13 + 0x46]
add eax, ecx
mov dword [r14 + 0x38], eax
mov rax, qword [rbp - 8]
test rax, rax
je 0x140153171
mov rax, qword [r14 + 0x158]
mov qword [rbp + 0x98], rax
mov rax, qword [r13]
mov qword [r14 + 0x158], rax
mov rax, qword [rbp - 8]
mov qword [rbp + 0x90], r14
cmp dword [rbp - 0x68], 0
mov rdi, qword [rbp + 0x178]
jne 0x1401532b5
test rax, rax
je 0x1401531b9
mov eax, dword [rsp + 0x70]
mov r8, rdi
mov r9, qword [rbp + 0x188]
mov rdx, r13
mov dword [rsp + 0x28], eax
mov rcx, r14
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x20], rax
call fcn.14013e1e0
xor edx, edx
mov esi, edx
mov r14d, edx
jmp 0x1401531c9
mov r14, qword [rbp + 0x190]
xor edx, edx
mov rsi, qword [rbp + 0x188]
test rdi, rdi
je 0x1401532c3
mov eax, dword [rbp + 0xf8]
mov ebx, eax
mov rcx, qword [rbp + 0xd0]
and eax, 0xffff6fef
mov dword [rbp + 0xf8], eax
and ebx, 0x9010
mov qword [rbp + 0xa0], rcx
lea rax, [fcn.140114bc0]
mov qword [rbp + 0xa8], rax
lea rax, [0x140116190]
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0xd0]
mov qword [rbp + 0xc8], rax
mov eax, dword [rdi + 0x28]
mov qword [rbp + 0xb8], rdx
add dword [rcx + 0x11c], eax
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x8c]
cmp dword [rcx + 0x11c], r8d
jle 0x14015325e
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.14012b3a0
jmp 0x14015505a
mov rdx, rdi
lea rcx, [rbp + 0xa0]
call fcn.14017ccd0
mov rcx, qword [rbp + 0xa0]
mov eax, dword [rdi + 0x28]
sub dword [rcx + 0x11c], eax
mov ecx, dword [rbp + 0xf8]
mov eax, ecx
and eax, 0x8010
or ecx, ebx
or dword [rdi + 4], eax
cmp dword [rbp + 0xf4], 0
mov dword [rbp + 0xf8], ecx
jg 0x14015505a
mov rax, qword [rbp + 0xa0]
cmp dword [rax + 0x30], 0
jg 0x14015505a
jmp 0x1401532c3
mov r14, qword [rbp + 0x190]
mov rsi, qword [rbp + 0x188]
cmp dword [r13 + 0x54], 0
mov rcx, qword [rbp + 0x160]
je 0x140153308
mov rbx, qword [rbp + 0x48]
mov r8, r13
mov r9, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x168]
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], rdi
mov rdi, qword [rbp - 0x70]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
call fcn.140174200
jmp 0x14015505e
dec dword [rcx + 0x44]
movabs rdx, 0x100000000
mov ebx, dword [rcx + 0x44]
mov rax, qword [rbp + 0x10]
mov r9, qword [rbp + 0x198]
mov dword [rbp - 0x64], ebx
mov dword [rbp - 0x40], ebx
test qword [rax + 0x30], rdx
je 0x1401533da
cmp qword [rcx + 0xa8], 0
jne 0x1401533da
cmp byte [rcx + 0x1e], 0
jne 0x1401533da
cmp byte [rcx + 0xcd], 0
jne 0x1401533da
mov rdi, qword [rbp - 0x78]
test r9, r9
jne 0x1401533de
inc dword [rcx + 0x38]
mov edx, dword [rcx + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp + 0x20], edx
cmp dword [rdi + 0x94], ecx
jg 0x1401533a4
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x45]
call fcn.140104130
mov rcx, qword [rbp + 0x160]
mov r9, qword [rbp + 0x198]
jmp 0x1401533de
lea eax, [rcx + 1]
xor r11d, r11d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov rcx, qword [rbp + 0x160]
jmp 0x1401533e1
mov rdi, qword [rbp - 0x78]
xor r11d, r11d
mov r8d, dword [rbp - 0x68]
test r8d, r8d
jne 0x1401534e7
test byte [r13 + 0x40], 0x80
jne 0x1401534e7
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x140153428
mov eax, dword [rsp + 0x78]
lea edx, [r8 + 0x48]
mov r9d, dword [rbp - 0x34]
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140104130
mov edx, dword [rbp - 0x34]
xor r11d, r11d
jmp 0x14015345a
mov edx, dword [rbp - 0x34]
lea eax, [rcx + 1]
mov r8d, dword [rsp + 0x78]
lea rcx, [rcx + rcx*2]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r11
mov rsi, qword [rbp + 0x160]
mov r13d, dword [rsi + 0x34]
mov dword [rbp - 0x60], r13d
lea eax, [r13 + 1]
mov dword [rsi + 0x34], eax
movsxd r15, dword [rdi + 0x90]
mov dword [rbp - 0x18], r15d
cmp dword [rdi + 0x94], r15d
jg 0x1401534a5
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, r13d
mov rcx, rdi
lea edx, [r9 + 0x65]
call fcn.140104130
mov r15d, eax
mov dword [rbp - 0x18], eax
xor r11d, r11d
jmp 0x1401534d4
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x65
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r11d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r11
cmp qword [rbp + 0x198], 0
je 0x1401536eb
jmp 0x14015382f
mov rdx, qword [rbp - 0x48]
test rdx, rdx
je 0x1401534fb
movzx r10d, word [rdx + 0x5e]
mov dword [rbp - 0x1c], r10d
jmp 0x140153502
mov r10d, r11d
mov dword [rbp - 0x1c], r11d
mov eax, dword [rcx + 0x38]
movsx edi, r10w
lea r15d, [rax + 1]
inc eax
add eax, edi
mov dword [rbp - 0x3c], r15d
add eax, r8d
mov dword [rbp - 0x80], eax
mov dword [rcx + 0x38], eax
test r9, r9
jne 0x1401537d6
cmp qword [rbp - 8], r9
je 0x140153534
movsx eax, word [r13 + 0x46]
jmp 0x140153537
mov eax, r11d
mov r13d, dword [rcx + 0x34]
lea ebx, [rax + rdi]
mov r10, qword [rbp - 0x78]
add ebx, r8d
mov dword [rbp - 0x60], r13d
lea eax, [r13 + 1]
mov dword [rcx + 0x34], eax
test rdx, rdx
je 0x1401535b2
movsxd rcx, dword [r10 + 0x90]
lea edx, [r15 - 1]
add edx, edi
cmp dword [r10 + 0x94], ecx
jg 0x140153587
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov rcx, r10
lea edx, [r8 + 0x48]
call fcn.140104130
mov r10, qword [rbp - 0x78]
jmp 0x1401535b2
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r11
movsxd r15, dword [r10 + 0x90]
mov dword [rbp - 0x18], r15d
cmp dword [r10 + 0x94], r15d
jg 0x1401535e5
xor eax, eax
mov r9d, ebx
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r10
lea edx, [rax + 0x65]
call fcn.140104130
mov r15d, eax
mov dword [rbp - 0x18], eax
jmp 0x140153616
lea rcx, [r15 + r15*2]
xor edx, edx
lea eax, [r15 + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x65
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140153685
mov rcx, qword [rbp + 0x160]
mov rdx, rax
call fcn.14013c7b0
mov r8, rax
test rax, rax
je 0x140153681
mov rdx, qword [rbp - 0x78]
mov word [rax + 8], bx
mov rax, qword [rdx]
cmp byte [rax + 0x63], 0
je 0x140153665
cmp qword [rax + 0x2e0], 0
jne 0x140153681
add dword [r8], 0xffffffff
jne 0x140153681
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.1401288c0
jmp 0x140153681
movsxd rax, dword [rdx + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf7
mov qword [rax + rcx*8 - 8], r8
mov rax, qword [rbp - 0x48]
cmp dword [rbp - 0x68], 0
je 0x1401536e0
mov rdx, qword [rbp + 0x178]
mov r8, rax
mov rcx, qword [rbp + 0x168]
mov r9, qword [rbp + 0x170]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rsi
mov rsi, qword [rbp + 0x160]
mov qword [rsp + 0x28], rdx
mov edx, r13d
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.140173c30
xor r11d, r11d
cmp qword [rbp - 8], r11
je 0x1401537f8
mov dword [rsp + 0x70], r13d
jmp 0x1401537f8
mov rdi, qword [rbp - 0x78]
mov rsi, qword [rbp + 0x160]
cmp byte [rsi + 0x1e], 0
mov eax, 4
jne 0x140153716
cmp qword [rbp + 0x18], 0
jne 0x140153716
cmp dword [rbp - 0x28], 0
jne 0x140153716
cmp byte [rsp + 0x75], 0
jne 0x140153716
cmp dword [rbp - 0x38], 0
mov ecx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmove eax, ecx
mov ecx, dword [rbp - 0x24]
xor r9d, r9d
mov r8, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x168]
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov word [rsp + 0x28], ax
xor eax, eax
mov qword [rsp + 0x20], rax
call fcn.140167700
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14015505a
mov rbx, qword [rax + 0x28]
movzx r14d, byte [rax + 0x42]
mov rdx, rbx
mov ecx, dword [rax + 0x44]
mov r8d, dword [rsp + 0x70]
and ecx, 1
shr rdx, 0x20
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x30], rbx
mov dword [rbp - 0x58], r14d
mov dword [rbp + 4], ecx
cmp r14d, 1
je 0x14015386a
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x20], 1
cmp r14d, 2
jne 0x14015386a
xor r11d, r11d
test edx, edx
js 0x14015386d
cmp edx, r8d
je 0x14015386d
sub edx, dword [rbp - 0x14]
mov rcx, qword [rbp + 0x28]
movsxd rax, edx
cmp byte [rax + rcx], r11b
je 0x14015386d
mov r14d, r11d
mov dword [rbp - 0x58], r11d
jmp 0x14015386d
mov edx, dword [rsp + 0x70]
mov r13d, r11d
mov rsi, qword [rbp + 0x160]
mov r15d, r11d
mov dword [rsp + 0x70], edx
mov dword [rbp - 0x60], r11d
mov dword [rbp - 0x18], r11d
test r8d, r8d
je 0x14015382b
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
mov r15d, dword [rbp - 0x3c]
test rax, rax
mov rbx, qword [rbp + 0x30]
mov r14d, r11d
cmovne rcx, rax
mov dword [rbp - 0x58], r11d
mov dword [rbp - 0x2c], edi
mov r12d, r15d
mov dword [rbp - 0x80], r15d
mov byte [rcx + 0x20], 1
jmp 0x140153921
mov rdi, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x178]
mov eax, 1
mov r8d, ebx
mov qword [rbp + 0x50], r11
mov rcx, rsi
mov dword [rbp - 0x58], eax
mov r14d, eax
lea r9d, [rax + 0xf]
call fcn.140130090
mov rbx, qword [rbp + 0x30]
xor r11d, r11d
mov r8d, dword [rsp + 0x70]
mov dword [rbp + 4], r11d
mov qword [rbp + 0x58], rbx
jmp 0x14015386d
xor r11d, r11d
mov rax, qword [rbp - 0x50]
test byte [rax + 0x40], 0x80
jne 0x140153a58
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401538ab
mov r9d, dword [rsp + 0x78]
mov edx, 0x82
mov rcx, rdi
mov dword [rsp + 0x20], r11d
call fcn.140104130
mov r8d, dword [rsp + 0x78]
xor r11d, r11d
jmp 0x1401538df
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x78]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x82
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
test r14d, r14d
jne 0x140153a11
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov dword [r12], eax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1401539db
mov r9d, dword [rbp - 0x34]
lea edx, [r14 + 0x7b]
mov dword [rsp + 0x20], r8d
mov rcx, rdi
mov r8d, r13d
call fcn.140104130
mov r12d, dword [rbp - 0x80]
cmp qword [rbp + 0x198], 0
jne 0x140154193
cmp dword [rbp - 0x68], 0
jne 0x140153944
cmp r14d, 2
je 0x140153944
mov rcx, qword [rbp + 0x50]
call fcn.14016b3a0
mov rdi, qword [rbp - 8]
mov esi, dword [rbp + 0x34]
test rdi, rdi
jne 0x140153c89
xor r8d, r8d
mov edi, r8d
test r14d, r14d
je 0x140153c09
mov edx, dword [rbp - 0x14]
mov rcx, qword [rbp + 0x28]
test ebx, ebx
js 0x140153978
mov eax, ebx
sub eax, edx
cdqe
mov byte [rax + rcx], dil
test esi, esi
js 0x140153986
mov eax, esi
sub eax, edx
cdqe
mov byte [rax + rcx], dil
mov r15, qword [rbp - 0x78]
cmp r14d, 2
jne 0x140153c0d
mov ecx, dword [rbp + 0x3c]
test esi, esi
mov eax, r8d
setns al
sub ecx, eax
test ecx, ecx
jle 0x140153c0d
movsxd rdi, dword [r15 + 0x90]
cmp dword [r15 + 0x94], edi
jg 0x140153be0
xor r9d, r9d
mov dword [rsp + 0x20], r8d
lea edx, [r14 + 0xf]
mov rcx, r15
call fcn.140104130
mov edi, eax
xor r8d, r8d
jmp 0x140153c0d
mov edx, dword [rbp - 0x34]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7b
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x14015391d
test r15d, r15d
je 0x14015391d
mov rcx, qword [rdi]
cmp byte [rcx + 0x63], 0
jne 0x14015391d
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140101180
xor eax, eax
mov word [rdi], 0xb0
mov qword [rdi + 0x10], rax
jmp 0x14015391d
movsx r14d, word [rbp - 0x1c]
mov edi, r11d
test r14d, r14d
jle 0x140153ac1
mov r12, qword [rbp - 0x78]
mov rsi, r11
mov r13d, dword [rbp - 0x3c]
mov rbx, rax
mov r15d, dword [rsp + 0x70]
nop dword [rax + rax]
mov rax, qword [rbp - 0x48]
lea ecx, [rdi + r13]
mov dword [rsp + 0x20], ecx
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
mov rax, qword [rax + 8]
movsx r9d, word [rax + rsi]
call fcn.14012cc80
inc edi
lea rsi, [rsi + 2]
cmp edi, r14d
jl 0x140153a80
mov rbx, qword [rbp + 0x58]
mov r15d, dword [rbp - 0x18]
mov r13d, dword [rbp - 0x60]
mov rsi, qword [rbp + 0x160]
cmp dword [rbp - 0x58], 0
je 0x140153b1a
test r15d, r15d
je 0x140153b05
mov rdi, qword [rbp - 0x78]
mov rcx, qword [rdi]
cmp byte [rcx + 0x63], 0
jne 0x140153b05
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140101180
xor eax, eax
mov word [rdi], 0xb0
mov qword [rdi + 0x10], rax
mov r12d, dword [rbp - 0x3c]
mov dword [rbp - 0x80], r12d
mov dword [rbp - 0x2c], r14d
mov r14d, dword [rbp - 0x58]
jmp 0x140153921
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x10]
call fcn.140139820
mov rdi, qword [rbp - 0x78]
mov r9d, r14d
mov r15d, dword [rbp - 0x3c]
mov rcx, rdi
mov r12d, dword [rbp - 0x80]
mov r8d, r15d
mov dword [rsp + 0x30], r14d
mov edx, 0x5c
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call fcn.140156250
movsxd rdx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], edx
jg 0x140153b80
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, r13d
mov edx, 0x85
mov rcx, rdi
call fcn.140104130
mov edx, eax
jmp 0x140153bb2
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rdi]
cmp byte [rax + 0x63], 0
jne 0x140153b11
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 0x10], r14d
mov r14d, dword [rbp - 0x58]
mov byte [rax + rcx*8 + 1], 0xfd
jmp 0x140153921
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x140153c0d
mov r15, qword [rbp - 0x78]
mov rax, qword [rbp + 0x28]
xor r9d, r9d
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x160]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
lea r8d, [r9 + 0x62]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x14]
mov dword [rsp + 0x20], eax
call fcn.14013eb10
test edi, edi
je 0x140153c85
mov edx, dword [r15 + 0x90]
lea eax, [rdx - 1]
cmp edi, eax
jne 0x140153c59
mov dword [r15 + 0x90], eax
jmp 0x140153c85
test edi, edi
cmovs edi, eax
mov rax, qword [r15]
cmp byte [rax + 0x63], 0
je 0x140153c70
lea rax, [0x1402bfea0]
jmp 0x140153c82
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rdi, qword [rbp - 8]
test r14d, r14d
je 0x140153d5d
test rdi, rdi
jne 0x140153cc7
mov eax, dword [rsp + 0x70]
cmp ebx, eax
je 0x140153cc7
cmp esi, eax
je 0x140153cc7
mov ecx, dword [rbp - 0x2c]
lea edx, [rdi + 0x1d]
mov dword [rsp + 0x28], ecx
mov r8d, eax
mov rcx, qword [rbp - 0x78]
mov dword [rsp + 0x20], r12d
mov r12d, dword [rbp - 0x64]
mov r9d, r12d
call fcn.140156380
jmp 0x140153ccb
mov r12d, dword [rbp - 0x64]
mov rsi, qword [rbp + 0x160]
cmp r14d, 1
je 0x140153ce1
dec dword [rsi + 0x44]
mov eax, dword [rsi + 0x44]
mov dword [rbp - 0x40], eax
mov r14, qword [rbp - 0x78]
cmp qword [rbp - 0x48], 0
mov edx, dword [rsp + 0x78]
cmovne edx, dword [rbp - 0x80]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140153d22
xor eax, eax
mov r8d, edx
mov r9d, r12d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x32]
call fcn.140104130
mov r15d, dword [rbp - 0x40]
jmp 0x14015419e
mov r15d, dword [rbp - 0x40]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
xor r10d, r10d
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x1401541a1
mov rdx, qword [rbp - 0x48]
mov ebx, dword [rbp - 0x68]
test rdx, rdx
jne 0x140153e93
test ebx, ebx
jne 0x140153e93
mov r14, qword [rbp - 0x78]
mov r12d, dword [rbp - 0x64]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140153da9
xor eax, eax
lea edx, [rbx + 0x25]
mov r9d, r12d
mov dword [rsp + 0x20], eax
mov r8d, r13d
mov rcx, r14
call fcn.140104130
xor r10d, r10d
jmp 0x140153ddc
lea eax, [rcx + 1]
xor r10d, r10d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rsi, qword [rbp + 0x160]
dec dword [rsi + 0x44]
movsxd rdx, dword [r14 + 0x90]
mov r15d, dword [rsi + 0x44]
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x20], edx
cmp dword [r14 + 0x94], edx
jg 0x140153e28
mov r9d, dword [rsp + 0x78]
mov r8d, r13d
mov edx, 0x82
mov dword [rsp + 0x20], r10d
mov rcx, r14
call fcn.140104130
mov r8d, dword [rsp + 0x78]
xor r10d, r10d
mov dword [rbp - 0x20], eax
jmp 0x140153e5d
lea eax, [rdx + 1]
lea rcx, [rdx + rdx*2]
mov r8d, dword [rsp + 0x78]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x82
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14015407c
mov dword [rsp + 0x20], r8d
mov r9d, r15d
mov r8d, dword [rsp + 0x70]
mov edx, 0x20
mov rcx, r14
call fcn.140104130
xor r10d, r10d
jmp 0x1401541a4
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp - 0x78]
mov r12d, dword [rbp - 0x64]
dec dword [rsi + 0x44]
movsxd rcx, dword [r14 + 0x90]
mov r15d, dword [rsi + 0x44]
mov dword [rbp - 0x40], r15d
cmp dword [r14 + 0x94], ecx
jg 0x140153edd
xor eax, eax
mov r9d, r12d
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x25]
call fcn.140104130
mov rdx, qword [rbp - 0x48]
xor r10d, r10d
jmp 0x140153f10
lea eax, [rcx + 1]
xor r10d, r10d
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
movsxd rcx, dword [r14 + 0x90]
mov dword [rbp - 0x20], ecx
test ebx, ebx
je 0x1401540b4
test rdi, rdi
jne 0x1401541a4
test rdx, rdx
je 0x140154040
movsx edi, word [rbp - 0x1c]
mov ebx, r10d
mov edx, ecx
test edi, edi
jle 0x140153fb4
mov r12d, dword [rbp - 0x3c]
movsxd rcx, dword [r14 + 0x90]
lea edx, [r12 + rbx]
cmp dword [r14 + 0x94], ecx
jg 0x140153f75
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x5a
mov r8d, r13d
mov rcx, r14
call fcn.140104130
xor r10d, r10d
jmp 0x140153fa3
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r10
inc ebx
cmp ebx, edi
jl 0x140153f45
mov edx, dword [r14 + 0x90]
mov r12d, dword [rbp - 0x64]
mov r8d, dword [rsp + 0x70]
cmp dword [r14 + 0x94], edx
jg 0x140153fe0
mov eax, dword [rbp - 0x3c]
mov r9d, r15d
mov edx, 0x1d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140104130
mov edx, eax
xor r10d, r10d
jmp 0x140154017
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rbp - 0x3c]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 8], r15d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r14]
cmp byte [rax + 0x63], 0
jne 0x1401541a1
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edi
jmp 0x1401541a1
cmp dword [r14 + 0x94], ecx
jg 0x140154070
mov r9d, dword [rsp + 0x78]
mov r8d, r13d
mov edx, 0x82
mov dword [rsp + 0x20], r10d
mov rcx, r14
call fcn.140104130
mov r8d, dword [rsp + 0x78]
xor r10d, r10d
jmp 0x140153e5d
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
jmp 0x140153e2f
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x20
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x1401541a4
mov r9d, dword [rbp - 0x80]
cmp dword [r14 + 0x94], ecx
jg 0x1401540df
mov r8d, r13d
mov dword [rsp + 0x20], r10d
mov edx, 0x81
mov rcx, r14
call fcn.140104130
mov r9d, dword [rbp - 0x80]
xor r10d, r10d
jmp 0x14015410f
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x81
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
movsxd rdx, dword [r14 + 0x90]
mov r8d, dword [rsp + 0x70]
cmp dword [r14 + 0x94], edx
jg 0x140154140
mov dword [rsp + 0x20], r9d
mov edx, 0x1d
mov r9d, r15d
mov rcx, r14
call fcn.140104130
mov edx, eax
xor r10d, r10d
jmp 0x140154170
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r14]
cmp byte [rax + 0x63], 0
jne 0x1401541a4
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r10d
jmp 0x1401541a4
mov r15d, dword [rbp - 0x40]
mov r12d, r15d
mov r14, qword [rbp - 0x78]
xor r10d, r10d
mov ebx, dword [rbp - 0x68]
cmp byte [rsp + 0x74], 0
je 0x1401542da
mov edi, dword [rbp - 0x5c]
test ebx, ebx
jne 0x140154253
cmp qword [rsi + 0x10], 0
je 0x1401542ae
mov rbx, qword [rbp + 0x48]
mov r8d, edi
mov rdx, rbx
mov rcx, rsi
call fcn.14012e3c0
mov r8d, eax
cmp eax, edi
je 0x1401542ae
mov ecx, dword [rbx + 4]
mov r10, qword [rsi + 0x10]
and ecx, 0x200000
neg ecx
sbb edx, edx
movsxd rcx, dword [r10 + 0x90]
add edx, 0x4e
cmp dword [r10 + 0x94], ecx
jg 0x14015421c
xor eax, eax
mov r9d, edi
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.140104130
jmp 0x1401542ae
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov byte [rax + rcx*8], dl
xor edx, edx
mov word [rax + rcx*8 + 2], dx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 1], dl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edi
jmp 0x1401542b0
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14015427d
mov r9d, dword [rbp]
mov r8d, r13d
mov edx, 0x5a
mov dword [rsp + 0x20], edi
mov rcx, r14
call fcn.140104130
jmp 0x1401542ae
mov edx, dword [rbp]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r10
xor edx, edx
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1401543cd
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edi
mov rcx, r14
lea edx, [r9 + 0xf]
call fcn.140104130
xor edx, edx
cmp byte [rsp + 0x7c], 0
jne 0x140154400
cmp dword [rbp - 0x28], 0
jne 0x14015440a
cmp qword [rbp + 0x18], 0
je 0x14015453d
mov rdi, qword [rbp - 0x50]
mov esi, edx
mov eax, dword [rbp + 0x180]
xor r9d, r9d
mov r8, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 3
call fcn.140150ee0
xor r8d, r8d
or esi, eax
mov ebx, r8d
cmp r8w, word [rdi + 0x46]
jge 0x1401544cd
mov r12, qword [rbp - 0x50]
mov r15d, dword [rsp + 0x70]
mov r13d, dword [rbp + 0x38]
mov r11, qword [r12 + 8]
movsxd rax, ebx
shl rax, 5
test byte [r12 + 0x40], 0x20
movzx edi, word [rax + r11 + 0x1c]
je 0x140154425
test bx, bx
js 0x140154425
movsx eax, bx
mov r10d, r8d
movzx edx, r8w
test eax, eax
jle 0x1401543af
lea r8, [r11 + 0x1c]
mov r9d, eax
mov r10d, eax
movzx eax, byte [r8]
lea ecx, [rdx + 1]
and al, 0x20
lea r8, [r8 + 0x20]
cmovne cx, dx
movzx edx, cx
sub r9, 1
jne 0x140154392
xor r8d, r8d
movsxd rax, r10d
shl rax, 5
test byte [rax + r11 + 0x1c], 0x20
je 0x140154420
movzx eax, word [r12 + 0x48]
sub ax, dx
add ax, r10w
jmp 0x140154428
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xf
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x1401542dc
cmp dword [rbp - 0x28], 0
je 0x1401542fc
mov rdi, qword [rbp - 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.1401348b0
mov esi, eax
jmp 0x140154302
movzx eax, dx
jmp 0x140154428
movzx eax, bx
movsx edx, ax
add edx, r13d
cmp esi, 0xffffffff
je 0x140154499
cmp ebx, 0x20
jge 0x14015443d
bt esi, ebx
jb 0x140154499
test dil, 1
jne 0x140154499
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x14015446c
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0x48]
call fcn.140104130
jmp 0x1401544ae
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x1401544b1
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rdx, r12
mov r8d, r15d
mov rcx, r14
call fcn.14012cc80
xor r8d, r8d
movsx eax, word [r12 + 0x46]
inc ebx
cmp ebx, eax
jl 0x140154353
mov r13d, dword [rbp - 0x60]
mov r15d, dword [rbp - 0x40]
mov r12d, dword [rbp - 0x64]
cmp byte [rsp + 0x74], 0
jne 0x14015453d
cmp qword [rbp - 0x48], 0
jne 0x14015453d
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x140154508
mov r9d, dword [rbp - 0x5c]
mov edx, 0x4d
mov dword [rsp + 0x20], r8d
mov rcx, r14
mov r8d, dword [rsp + 0x78]
call fcn.140104130
jmp 0x14015453d
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x5c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rbp - 0x50]
mov edi, dword [rbp + 0x180]
mov r8, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
mov eax, 1
mov r9d, eax
mov dword [rsp + 0x20], eax
call fcn.140150ee0
mov ecx, dword [rbp - 0x30]
xor r10d, r10d
mov r14d, eax
mov esi, r10d
mov rax, qword [rbp - 0x50]
mov ebx, ecx
movzx r9d, word [rax + 0x46]
cmp r10w, r9w
jge 0x1401545fc
mov r12, qword [rbp - 0x78]
mov r15, rax
nop word [rax + rax]
movsx ecx, word [r15 + 0x44]
cmp esi, ecx
jne 0x1401546bb
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x14015484a
xor r8d, r8d
mov dword [rsp + 0x20], r10d
mov r9d, ebx
lea edx, [r8 + 0x48]
mov rcx, r12
call fcn.140104130
xor r10d, r10d
movsx r9d, word [r15 + 0x46]
inc esi
inc ebx
cmp esi, r9d
jl 0x1401545a0
mov r15d, dword [rbp - 0x40]
mov r12d, dword [rbp - 0x64]
mov edi, dword [rbp + 0x180]
mov ecx, dword [rbp - 0x30]
mov rsi, qword [rbp - 0x50]
mov r14, qword [rbp + 0x160]
test byte [rsi + 0x40], 0x60
je 0x14015461a
mov edx, ecx
mov r8, rsi
mov rcx, r14
call fcn.140126740
test byte [rbp - 0x10], 1
je 0x1401549ef
mov rbx, qword [rbp - 0x78]
mov rdx, rsi
mov r8d, dword [rbp - 0x30]
mov rcx, rbx
call fcn.140150960
mov r9, qword [rbp + 0x170]
mov eax, 1
mov rdx, qword [rbp + 0x18]
mov rcx, r14
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], edi
mov edi, dword [rsp + 0x78]
lea r8d, [rax + 0x7f]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.140124c40
cmp qword [rbp - 8], 0
jne 0x140154e03
cmp qword [rbp - 0x48], 0
movsxd rdx, dword [rbx + 0x90]
mov eax, dword [rbx + 0x94]
je 0x1401548fa
mov r8d, dword [rsp + 0x70]
cmp eax, edx
jg 0x14015489f
mov eax, dword [rbp - 0x80]
mov r9d, r15d
mov edx, 0x1d
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140104130
mov edx, eax
jmp 0x1401548d5
mov rax, qword [r15 + 8]
movsxd r8, esi
mov rcx, r8
shl rcx, 5
movzx edx, word [rcx + rax + 0x1c]
test dl, 0x60
je 0x1401546e3
test dl, 0x20
je 0x1401545dd
dec ebx
jmp 0x1401545dd
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + r8*4]
test ecx, ecx
js 0x14015481f
cmp dword [rbp - 0x68], 0
je 0x140154767
cmp qword [rbp - 8], 0
movzx eax, word [rbp - 0x1c]
cmovne ax, r9w
movsx edx, ax
add edx, ecx
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x140154732
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x5a
mov r8d, r13d
jmp 0x1401545d2
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x1401545dd
mov r9, qword [rbp + 0x160]
cmp qword [r9 + 0x10], 0
je 0x1401545dd
mov rax, rcx
mov r8d, ebx
mov rcx, qword [rbp + 0x170]
shl rax, 5
mov rdi, qword [rax + rcx + 8]
mov rcx, r9
mov rdx, rdi
call fcn.14012e3c0
mov r8d, eax
cmp eax, ebx
je 0x1401545da
mov ecx, dword [rdi + 4]
mov rax, qword [rbp + 0x160]
and ecx, 0x200000
neg ecx
sbb edx, edx
mov r10, qword [rax + 0x10]
add edx, 0x4e
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1401547e1
xor eax, eax
mov r9d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r10
jmp 0x1401545d5
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
xor r10d, r10d
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], ebx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov byte [rax + rcx*8 + 1], r10b
jmp 0x1401545dd
mov eax, dword [rbp - 0x10]
and eax, 1
test al, al
je 0x14015487c
cmp esi, 0x1f
jg 0x14015487c
bt r14d, esi
jb 0x14015487c
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jle 0x1401545c3
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x48
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
jmp 0x1401545dd
mov r8d, dword [rsp + 0x70]
mov r9d, esi
mov rdx, r15
mov dword [rsp + 0x20], ebx
mov rcx, r12
call fcn.14012cc80
xor r10d, r10d
mov dword [rbp + 4], r10d
jmp 0x1401545dd
lea rcx, [rdx + rdx*2]
xor r9d, r9d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rbp - 0x80]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 8], r15d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rbx]
cmp byte [rax + 0x63], 0
jne 0x14015494d
movsxd rax, edx
mov edx, dword [rbp - 0x2c]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x14015494d
cmp eax, edx
jg 0x140154919
mov r8d, dword [rsp + 0x70]
mov r9d, r15d
mov edx, 0x20
mov dword [rsp + 0x20], edi
mov rcx, rbx
call fcn.140104130
jmp 0x14015494d
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x70]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x20
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rbp - 0x30]
xor ecx, ecx
mov ebx, ecx
mov edi, eax
cmp cx, word [rsi + 0x46]
jge 0x1401549da
mov r12, qword [rbp - 0x78]
mov r14, qword [rbp - 0x70]
mov r13d, dword [rsp + 0x70]
nop dword [rax]
mov rax, qword [rsi + 8]
movsxd rdx, ebx
mov rcx, rdx
shl rcx, 5
movzx r8d, word [rcx + rax + 0x1c]
test r8b, 0x60
je 0x140154998
lea eax, [rdi - 1]
test r8b, 0x20
cmove eax, edi
mov edi, eax
jmp 0x1401549bc
cmp dword [r14 + rdx*4], 0
jge 0x1401549bc
movsx eax, word [rsi + 0x44]
cmp ebx, eax
je 0x1401549bc
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov rdx, rsi
mov rcx, r12
call fcn.14012cc80
movsx eax, word [rsi + 0x46]
inc ebx
inc edi
cmp ebx, eax
jl 0x140154970
mov r13d, dword [rbp - 0x60]
mov r12d, dword [rbp - 0x64]
mov r14, qword [rbp + 0x160]
mov eax, dword [rbp - 0x30]
test byte [rsi + 0x40], 0x60
je 0x1401549fa
mov r8, rsi
mov edx, eax
mov rcx, r14
call fcn.140126740
jmp 0x1401549fa
cmp qword [rbp - 8], 0
jne 0x140154dc5
mov r14d, dword [rbp + 0x180]
xor eax, eax
movzx ebx, byte [rsp + 0x75]
mov rdx, rsi
mov edi, dword [rsp + 0x70]
mov r9d, edi
mov r8, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x160]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], r15d
mov byte [rsp + 0x40], r14b
mov byte [rsp + 0x38], bl
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x5c]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x24]
mov dword [rsp + 0x20], eax
call fcn.140134c60
cmp dword [rbp - 0x38], 0
jne 0x140154a6b
test bl, bl
je 0x140154b59
cmp qword [rbp - 0x48], 0
mov rbx, qword [rbp - 0x78]
movsxd r8, dword [rbx + 0x90]
mov eax, dword [rbx + 0x94]
je 0x140154b00
cmp eax, r8d
jg 0x140154aa7
mov eax, dword [rbp - 0x80]
mov r9d, r15d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x1d
mov rcx, rbx
call fcn.140104130
mov r8d, eax
jmp 0x140154adb
mov edx, dword [rbp - 0x80]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r9d, r9d
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rbx]
cmp byte [rax + 0x63], 0
jne 0x140154b5d
mov edx, dword [rbp - 0x2c]
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140154b5d
cmp eax, r8d
jg 0x140154b22
mov eax, dword [rsp + 0x78]
mov r9d, r15d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x20
mov rcx, rbx
call fcn.140104130
jmp 0x140154b5d
mov edx, dword [rsp + 0x78]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x20
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x140154b61
mov rbx, qword [rbp - 0x78]
mov edx, dword [rsp + 0x78]
mov esi, dword [rbp - 0x28]
mov edi, dword [rbp + 8]
test esi, esi
je 0x140154b8e
mov rax, qword [rbp - 0x70]
mov r8d, edx
mov rdx, qword [rbp - 0x50]
xor r9d, r9d
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.140133760
mov rax, qword [rbp + 0x40]
mov r9d, dword [rbp - 0x24]
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.140137d50
cmp dword [rbp + 4], 0
je 0x140154be8
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140154c27
mov r8d, dword [rsp + 0x70]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov edx, 0x8a
mov rcx, rbx
call fcn.140104130
mov edx, dword [rsp + 0x70]
xor r8d, r8d
cmp esi, 1
jg 0x140154bff
cmp byte [rsp + 0x75], 0
je 0x140154c86
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140154c59
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x7d]
call fcn.140104130
jmp 0x140154c86
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
xor r8d, r8d
mov dword [rax + rcx*8], 0x8a
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x140154bef
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x7d
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r8
test esi, esi
je 0x140154cae
mov rax, qword [rbp - 0x70]
xor r8d, r8d
mov r9d, dword [rbp - 0x5c]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.140133760
mov edi, dword [rbp - 0x58]
mov ecx, 6
mov r9d, dword [rbp - 0x24]
mov eax, 4
mov r8d, dword [rsp + 0x70]
cmp edi, 2
mov rdx, qword [rbp - 0x50]
cmove eax, ecx
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp + 0x160]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x5c]
mov dword [rsp + 0x20], eax
call fcn.1401264a0
test esi, esi
mov rsi, qword [rbp - 0x50]
je 0x140154dd3
mov rax, qword [rbp + 0x160]
mov rax, qword [rax]
mov ecx, dword [rax + 0x30]
bt rcx, 0xe
jae 0x140154dd3
mov rcx, qword [rsi + 0x70]
xor r8d, r8d
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.1400fd7e0
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140154dcf
mov esi, dword [rbp + 8]
mov r12, qword [rbp - 0x50]
mov r14, qword [rbp + 0x160]
mov r15, qword [rbp - 0x70]
mov r13, qword [rbp + 0x170]
mov edi, dword [rsp + 0x78]
nop dword [rax]
mov r9d, esi
mov r8, r15
mov rdx, rbx
mov rcx, r12
call fcn.1400ffba0
test eax, eax
je 0x140154dac
mov r9, r13
mov r8, rbx
mov rdx, r12
mov rcx, r14
call fcn.1400fda60
test rax, rax
je 0x140154dac
mov dword [rsp + 0x28], 0
mov r9d, edi
mov r8, r12
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.140124d40
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x140154d60
mov r13d, dword [rbp - 0x60]
mov r15d, dword [rbp - 0x40]
mov r12d, dword [rbp - 0x64]
mov rsi, qword [rbp - 0x50]
mov r14d, dword [rbp + 0x180]
mov edi, dword [rbp - 0x58]
mov rbx, qword [rbp - 0x78]
mov edx, dword [rbp + 0x20]
test edx, edx
je 0x140154e3f
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140154e0f
xor eax, eax
mov r8d, edx
mov rcx, rbx
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
lea edx, [rax + 0x53]
call fcn.140104130
jmp 0x140154e3f
mov edi, dword [rbp - 0x58]
mov r14d, dword [rbp + 0x180]
jmp 0x140154dd3
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x53
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsp + 0x78]
mov r8d, 0x80
mov r9, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x18]
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov rsi, qword [rbp + 0x160]
mov rcx, rsi
mov dword [rsp + 0x20], 2
call fcn.140124c40
cmp edi, 1
je 0x140154ebd
mov rcx, qword [rbx + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
cmp edi, 2
jne 0x140154ee2
add eax, dword [rcx + 0x44]
jns 0x140154ea4
mov r8d, r15d
mov rdx, rbx
call fcn.140114890
jmp 0x140154eb4
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
mov rcx, qword [rbp + 0x50]
call fcn.14016b3a0
xor edi, edi
mov rcx, qword [rbx + 0x18]
not r12d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140154f62
mov r8d, r12d
mov rdx, rbx
call fcn.140114890
jmp 0x140154f72
add eax, dword [rcx + 0x44]
jns 0x140154ef4
mov r8d, r15d
mov rdx, rbx
call fcn.140114890
jmp 0x140154f04
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rbx + 0x90]
xor edi, edi
cmp dword [rbx + 0x94], ecx
jg 0x140154f2d
mov r9d, dword [rbp - 0x20]
lea edx, [rdi + 5]
mov r8d, r13d
mov dword [rsp + 0x20], edi
mov rcx, rbx
call fcn.140104130
jmp 0x140154ebf
mov edx, dword [rbp - 0x20]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140154ebf
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
cmp byte [rsi + 0x1e], 0
jne 0x140154f9e
cmp qword [rsi + 0xa8], 0
jne 0x140154f9e
cmp qword [rbp + 0x198], 0
jne 0x140154f9e
cmp qword [rsi + 0x98], 0
je 0x140154f9e
mov rcx, rsi
call fcn.1400eaf90
mov edx, dword [rbp + 0x20]
test edx, edx
je 0x14015505a
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140154fd3
mov r9d, 1
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x4f]
call fcn.140104130
jmp 0x140155000
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, 1
mov rcx, rbx
call fcn.140164750
mov rax, qword [rbx]
cmp byte [rax + 0x63], 0
jne 0x14015505a
mov rbx, qword [rbx + 0x98]
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x14015502e
cmp dword [rbx + 0x20], 0
je 0x140155036
mov rcx, rbx
call fcn.140176ff0
lea rax, str.rows_updated
mov qword [rbx + 0x30], rdi
mov qword [rbx + 0x10], rax
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rbx + 0xc], eax
mov eax, 0xa02
mov word [rbx + 8], ax
mov byte [rbx + 0xa], 1
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp + 0x90]
test rax, rax
je 0x140152ec5
mov rcx, qword [rbp + 0x98]
mov qword [rax + 0x158], rcx
jmp 0x140152ec5
cmp rdi, qword [rdx + 0x1d0]
jae 0x1401550c2
cmp rdi, qword [rdx + 0x1c0]
jb 0x1401550a6
mov rax, qword [rdx + 0x1b8]
mov qword [rdi], rax
mov qword [rdx + 0x1b8], rdi
jmp 0x14015511d
cmp rdi, qword [rdx + 0x1c8]
jb 0x1401550c2
mov rax, qword [rdx + 0x1a8]
mov qword [rdi], rax
mov qword [rdx + 0x1a8], rdi
jmp 0x14015511d
cmp dword [0x1402b6280], 0
je 0x140155114
mov rcx, qword [0x1402bfbb0]
test rcx, rcx
je 0x1401550dd
call qword [0x1402b6300]
mov rcx, rdi
call qword [0x1402b62b8]
dec qword [0x1402bfb48]
movsxd rcx, eax
sub qword [0x1402bfb00], rcx
mov rcx, rdi
call qword [0x1402b62a8]
mov rcx, qword [0x1402bfbb0]
test rcx, rcx
je 0x14015511d
call qword [0x1402b6310]
jmp 0x14015511d
mov rcx, rdi
call qword [0x1402b62a8]
mov rbx, qword [rbp + 0x178]
mov r12, qword [rsp + 0x230]
mov r15, qword [rsp + 0x218]
mov r13, qword [rsp + 0x228]
mov rdx, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x10]
call fcn.14014f1e0
mov rax, qword [rbp + 0x170]
mov r14, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x238]
mov rsi, qword [rsp + 0x240]
test rax, rax
je 0x14015517c
mov rcx, qword [rbp + 0x10]
mov rdx, rax
call fcn.1400fc470
test rbx, rbx
je 0x14015518d
mov rcx, qword [rbp + 0x10]
mov rdx, rbx
call fcn.14012fd70
add rsp, 0x248
pop rbx
pop rbp
ret