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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x148
mov rdi, qword [rcx]
lea rax, [rcx + 0x60]
xor ebp, ebp
movsxd r10, edx
imul r9, r10, 0x58
lea r13, [rcx + 0x390]
mov qword [rsp + 0xd8], rax
mov rax, qword [rdi]
lea r12d, [rbp + 1]
mov rsi, qword [rdi + 0x10]
add r13, r9
mov qword [rsp + 0xa0], rax
mov r14, r8
movsxd r8, dword [rcx + 0x288]
mov rbx, rcx
mov qword [rsp + 0xb0], rdi
mov edx, ebp
movzx eax, byte [r13 + 0x2c]
mov r9, qword [r13 + 0x48]
imul r15, rax, 0x78
mov qword [rsp + 0xc0], rsi
add r15, qword [rcx + 8]
mov ecx, ebp
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x80], r9
mov r11d, dword [r15 + 0x50]
mov dword [rsp + 0x40], r11d
test r8, r8
jle 0x1401411e7
lea rax, [rbx + 0x28c]
nop word [rax + rax]
cmp dword [rax], r11d
je 0x140141312
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1401411d0
mov rax, rbp
not rax
mov ecx, r10d
and rax, r14
mov qword [r13 + 0x50], rax
mov r12, qword [rbx + 0x50]
shr r12, cl
and r12d, 1
test byte [r9 + 0x28], 0x40
mov qword [rsp + 0x70], r12
je 0x14014121c
test byte [rbx + 0x38], 0x20
mov dword [rsp + 0x68], 1
je 0x140141220
mov dword [rsp + 0x68], ebp
mov rbx, qword [rsi + 0x18]
movsxd r14, dword [rbx + 0x54]
lea eax, [r14 + 1]
mov dword [rbx + 0x54], eax
lea eax, [r14 - 1]
test r14d, eax
jne 0x140141257
mov rdx, qword [rbx + 0x58]
lea eax, [r14*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]
or edx, 0xffffffff
test rcx, rcx
je 0x140141267
mov dword [rcx + r14*4], edx
not r14d
mov dword [r13 + 0x10], r14d
mov dword [r13 + 0xc], r14d
mov rbx, qword [rsi + 0x18]
mov r8d, dword [rbx + 0x54]
mov dword [rsp + 0x78], r8d
lea eax, [r8 + 1]
mov dword [rbx + 0x54], eax
lea eax, [r8 - 1]
test r8d, eax
jne 0x1401412b6
mov rdx, qword [rbx + 0x58]
lea eax, [r8*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov r8d, dword [rsp + 0x78]
or edx, 0xffffffff
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1401412c5
movsxd rax, r8d
mov dword [rcx + rax*4], edx
not r8d
mov dword [rsp + 0x78], r8d
mov dword [r13 + 0x18], r8d
cmp byte [r13 + 0x2c], bpl
jbe 0x14014134c
test byte [r15 + 0x44], 8
je 0x14014134c
mov edx, dword [rdi + 0x38]
inc edx
mov dword [rdi + 0x38], edx
mov dword [r13], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14014131f
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x4c]
call fcn.1400eec90
jmp 0x14014134c
mov ecx, edx
mov rax, r12
shl rax, cl
jmp 0x1401411ea
lea eax, [rcx + 1]
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], bpl
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov r8d, dword [r15 + 0x48]
mov r9d, 0x200
test r8b, 0x10
je 0x140141430
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov ebx, dword [r15 + 0x3c]
mov edx, dword [r15 + 0x38]
cmp dword [rax + 0x3c], ecx
jg 0x140141390
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1400eec90
jmp 0x1401413bd
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0xf
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x1401413f4
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, ebx
mov edx, 0x10
mov rcx, rsi
call fcn.1400eec90
mov edx, eax
mov dword [r13 + 0x34], eax
mov byte [r13 + 0x2d], 0xd
jmp 0x140142d00
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov word [rax + rcx*8], 0x10
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [r13 + 0x34], edx
mov byte [r13 + 0x2d], 0xd
jmp 0x140142d00
mov r10, qword [rsp + 0x80]
mov eax, 0x400
mov edx, dword [r10 + 0x28]
test eax, edx
je 0x140141962
movzx r15d, word [r10 + 0x2c]
mov rcx, rdi
inc dword [rdi + 0x4c]
lea edx, [r15 + 2]
call fcn.1401189d0
mov r13d, dword [r13 + 0xc]
mov r12d, eax
mov dword [rsp + 0x198], eax
mov ebx, ebp
test r15d, r15d
jle 0x1401414fe
mov rsi, qword [rsp + 0x48]
mov r14, rbp
mov rbp, qword [rsp + 0x70]
add r12d, 2
nop word [rax + rax]
mov rcx, qword [r10 + 0x38]
mov rdx, qword [r14 + rcx]
test rdx, rdx
je 0x1401414e1
test byte [rdx + 0x14], 1
mov rcx, rdi
je 0x1401414c3
lea eax, [r12 + rbx]
mov r9d, ebx
mov dword [rsp + 0x28], eax
mov r8, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400dea10
mov r13d, dword [rsi + 0x10]
jmp 0x1401414d9
mov rdx, qword [rdx]
lea r8d, [r12 + rbx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.1400df3a0
mov r10, qword [rsp + 0x80]
inc ebx
add r14, 8
cmp ebx, r15d
jl 0x140141490
mov rsi, qword [rsp + 0xc0]
xor ebp, ebp
mov r12d, dword [rsp + 0x198]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r10 + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14014152b
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x4c
mov r9d, r12d
mov rcx, rsi
call fcn.1400eec90
jmp 0x140141559
lea eax, [rcx + 1]
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], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
lea edx, [r12 + 1]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140141587
mov r9d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x4c
mov r8d, r15d
mov rcx, rsi
call fcn.1400eec90
jmp 0x1401415b5
lea eax, [rcx + 1]
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], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rbx, qword [rsp + 0x80]
mov eax, ebp
mov r14d, dword [rsp + 0x40]
mov r9d, r13d
mov r8d, r14d
mov edx, VariantTimeToDosDateTime
mov rcx, rsi
cmp byte [rbx + 0x1c], 0
setne al
add eax, 0xfffffffe
mov dword [rsp + 0x30], eax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
call fcn.140131930
mov r13, qword [rsp + 0x48]
mov eax, 0x46
mov r8, qword [rsp + 0x190]
mov ecx, 0xa0
mov byte [rbx + 0x1c], 0
mov dword [r13 + 0x30], r14d
lea r14d, [r15 - 1]
cmp byte [r8 + 0x3d], 0
cmovne eax, ecx
mov byte [r13 + 0x2d], al
mov eax, dword [rsi + 0xb8]
mov dword [r13 + 0x34], eax
test r14d, r14d
js 0x1401418e6
movsxd rax, dword [r13 + 0x38]
mov edx, 0x48
movsxd r12, r14d
lea rcx, [rax + rax*2]
shl rcx, 2
mov qword [rsp + 0x1a8], rcx
shl r12, 3
nop word [rax + rax]
mov rax, qword [rbx + 0x38]
mov r15, qword [r12 + rax]
cmp r14d, 0x10
jge 0x140141695
movzx eax, word [rbx + 0x1e]
movzx ecx, r14w
shr ax, cl
test al, 1
je 0x14014168d
mov rdx, r15
mov rcx, r13
call fcn.1400e3f60
jmp 0x1401418cb
mov rcx, qword [rsp + 0x1a8]
test byte [r15 + 0x14], 1
je 0x1401418cb
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x55], 0
jne 0x140141758
mov rax, qword [r13 + 0x40]
sub rcx, 0xc
mov qword [rsp + 0x1a8], rcx
mov ecx, dword [rax + rcx + 4]
test ecx, ecx
jns 0x1401416d2
mov ecx, dword [rsi + 0xb8]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x1401416e4
lea rax, [0x1402865b8]
jmp 0x1401416f3
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140141721
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1400eec90
jmp 0x140141753
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8], dl
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 1], 0
mov edx, 0x48
mov rcx, qword [rdi]
cmp dword [rcx + 0x158], 0
jne 0x1401417b5
cmp dx, word [rcx + 0x15c]
jbe 0x140141775
inc dword [rcx + 0x16c]
jmp 0x1401417bf
mov rbx, qword [rcx + 0x178]
test rbx, rbx
jne 0x140141789
inc dword [rcx + 0x170]
jmp 0x1401417bf
mov rax, qword [rbx]
inc dword [rcx + 0x160]
mov qword [rcx + 0x178], rax
inc dword [rcx + 0x168]
mov eax, dword [rcx + 0x160]
cmp eax, dword [rcx + 0x164]
jle 0x1401417c7
mov dword [rcx + 0x164], eax
jmp 0x1401417c7
cmp byte [rcx + 0x55], 0
jne 0x1401418cb
call fcn.1400e3350
mov rbx, rax
test rbx, rbx
je 0x1401418c3
xor eax, eax
mov rcx, rbx
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
mov qword [rbx + 0x40], rax
or eax, 0xffffffff
mov word [rbx + 0x32], ax
mov byte [rbx], 0x25
call fcn.1400e7f60
mov rax, qword [rdi]
mov r8d, dword [rax + 0x7c]
cmp dword [rbx + 0x28], r8d
jle 0x140141823
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.14010da60
mov rax, qword [r15]
mov edx, 0x49
mov r15, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
mov rcx, r15
call fcn.14010b530
mov rcx, rax
test rax, rax
je 0x140141889
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
or eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0x9d
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rbx + 0x18], rcx
test rcx, rcx
je 0x1401418b4
mov eax, dword [rsp + 0x198]
xor r9d, r9d
add eax, 2
mov rdx, rbx
add eax, r14d
mov dword [rcx + 0x2c], eax
mov rcx, rdi
mov r8d, dword [r13 + 0x18]
call fcn.140111d90
mov rdx, rbx
mov qword [rbx + 0x10], rbp
mov rcx, r15
call fcn.140111aa0
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1a8]
sub r12, 8
sub r14d, 1
mov edx, 0x48
jns 0x140141660
dec dword [rdi + 0x4c]
mov r8d, ebp
cmp byte [rdi + 0x25], 0
jbe 0x140142d00
lea rdx, [rdi + 0xca]
nop dword [rax]
mov eax, dword [rdi + 0x4c]
cmp dword [rdx + 2], eax
jle 0x14014194d
cmp byte [rdx], 0
je 0x140141925
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x140141925
movzx ecx, al
mov eax, dword [rdx + 6]
mov dword [rdi + rcx*4 + 0x18c], eax
inc byte [rdi + 0x1f]
dec byte [rdi + 0x25]
movzx eax, byte [rdi + 0x25]
cmp r8d, eax
jge 0x140141954
lea rcx, [rax + rax*4]
movups xmm0, xmmword [rdi + rcx*4 + 0xc4]
movups xmmword [rdx - 6], xmm0
mov eax, dword [rdi + rcx*4 + 0xd4]
mov dword [rdx + 0xa], eax
jmp 0x140141954
inc r8d
add rdx, 0x14
movzx eax, byte [rdi + 0x25]
cmp r8d, eax
jl 0x140141900
jmp 0x140142d00
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1401419ef
mov rax, qword [r10 + 0x38]
xor r9d, r9d
mov r8, r13
mov rcx, rdi
mov rdx, qword [rax]
inc dword [rdi + 0x38]
mov r14d, dword [rdi + 0x38]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r12d
call fcn.1400dea10
mov ebx, eax
cmp eax, r14d
je 0x1401419ab
mov edx, r14d
mov rcx, rdi
call fcn.140125ac0
mov r9d, dword [r13 + 0x10]
mov edx, 0x20
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1401318b0
mov r8d, 1
mov edx, ebx
mov rcx, rdi
call fcn.14010e460
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
call fcn.14010e4f0
mov byte [r13 + 0x2d], 0xa0
jmp 0x140142d00
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x140141c6f
mov dword [rsp + 0x54], ebp
mov r13d, 0xa0
mov r15d, r13d
mov eax, ebp
mov r12, rbp
mov rbx, rbp
mov r8d, 1
test dl, 0x20
je 0x140141a2b
mov rax, qword [r10 + 0x38]
mov rbx, qword [rax]
mov eax, r8d
test dl, 0x10
je 0x140141a3b
movsxd rcx, eax
mov rax, qword [r10 + 0x38]
mov r12, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x70]
test ecx, ecx
je 0x140141a4d
mov rax, rbx
mov rbx, r12
mov r12, rax
test rbx, rbx
je 0x140141b32
mov r13, qword [rbx]
mov dword [rsp + 0x198], 0x1917181a
mov rdx, qword [r13 + 0x18]
mov rcx, rdx
call fcn.1401128b0
test eax, eax
je 0x140141abd
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x140141a84
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
jmp 0x140141a93
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0x18c]
mov rdx, qword [r13 + 0x18]
mov r9d, r8d
mov r8d, ebx
mov dword [rsp + 0x1a8], ebx
mov rcx, rdi
call fcn.1400df3a0
movzx eax, byte [r13]
sub eax, 0x26
movsxd rcx, eax
or rcx, 1
jmp 0x140141aed
lea r8, [rsp + 0x68]
mov rcx, rdi
call fcn.1401115c0
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov dword [rsp + 0x1a8], eax
call fcn.1400e3f60
movzx ecx, byte [r13]
mov ebx, dword [rsp + 0x68]
sub ecx, 0x26
movsxd rcx, ecx
movzx eax, byte [rsp + rcx + 0x198]
mov r9d, r14d
mov r13d, dword [rsp + 0x1a8]
mov rcx, rsi
mov r8d, dword [rsp + 0x40]
movzx edx, al
mov dword [rsp + 0x20], r13d
call fcn.1401318b0
mov r8d, 1
mov edx, r13d
mov rcx, rdi
call fcn.14010e460
mov edx, ebx
call fcn.140125ac0
mov r13d, r15d
jmp 0x140141b51
mov r8d, dword [rsp + 0x40]
test ecx, ecx
mov edx, 0x39
mov eax, 0x35
cmovne edx, eax
mov r9d, r14d
mov rcx, rsi
call fcn.140131840
test r12, r12
je 0x140141bc9
mov rbx, qword [r12]
mov r9d, 1
inc dword [rdi + 0x38]
mov rcx, rdi
mov eax, dword [rdi + 0x38]
mov r8d, eax
mov dword [rsp + 0x54], eax
mov rdx, qword [rbx + 0x18]
call fcn.1400df3a0
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1401128b0
test eax, eax
jne 0x140141b9d
movzx eax, byte [rbx]
sub al, 0x26
test al, 0xfd
jne 0x140141b9d
mov eax, 0x27
lea r15d, [rax + 2]
jmp 0x140141ba8
mov eax, 0x28
mov r15d, 0x26
cmp dword [rsp + 0x70], ebp
mov rcx, rdx
cmovne r15d, eax
call fcn.1401128b0
test eax, eax
jne 0x140141bc9
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.1400e3f60
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rsi + 0xb8]
cmp dword [rsp + 0x70], ebp
mov r12d, dword [rsp + 0x40]
sete al
mov dword [rdx + 0x30], r12d
add al, 6
mov dword [rdx + 0x34], ecx
mov byte [rdx + 0x2d], al
cmp r15d, r13d
je 0x140142cfd
inc dword [rdi + 0x38]
mov r8d, r12d
mov ebx, dword [rdi + 0x38]
mov edx, 0x7a
mov r9d, ebx
mov rcx, rsi
call fcn.140131840
mov r9d, ebx
or r8d, 0xffffffff
mov edx, r12d
mov rcx, rdi
call fcn.14010e4f0
mov r8d, dword [rsp + 0x54]
mov edx, r15d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov r9d, r14d
call fcn.1401318b0
mov eax, dword [rsi + 0xb8]
mov r9d, 0x200
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x190]
test eax, eax
jle 0x140142d0e
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x53
jmp 0x140142d0e
test r9d, edx
je 0x1401423b2
movzx eax, word [r10 + 0x1a]
xor r13b, r13b
mov r11, qword [r10 + 0x20]
mov ebx, ebp
movzx r14d, word [r10 + 0x18]
mov r15, rbp
mov word [rsp + 0x50], ax
mov r9, rbp
movzx eax, word [r10 + 0x1c]
mov r10, qword [rsp + 0x48]
mov word [rsp + 0x1a8], ax
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x88], rbp
mov eax, dword [r10 + 8]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x190]
mov byte [rsp + 0x198], bl
mov qword [rsp + 0xa8], r11
test byte [rax + 0x38], 1
je 0x140141cf1
cmp byte [rax + 0x3b], bl
jle 0x140141cf1
cmp word [r11 + 0x5e], r14w
jbe 0x140141cf1
mov r13b, 1
mov ebx, 1
movzx r12d, r14w
mov r8d, r12d
test dl, 0x20
je 0x140141d1a
mov rax, qword [rsp + 0x80]
inc r8d
mov rax, qword [rax + 0x38]
mov r15, qword [rax + r12*8]
movzx eax, word [rsp + 0x50]
cmp ebx, eax
cmovbe ebx, eax
test dl, 0x10
je 0x140141de7
mov rax, qword [rsp + 0x80]
movsxd rcx, r8d
mov rax, qword [rax + 0x38]
mov r9, qword [rax + rcx*8]
movzx eax, word [rsp + 0x1a8]
cmp ebx, eax
mov qword [rsp + 0x98], r9
cmovbe ebx, eax
mov eax, 0x100
test word [r9 + 0x12], ax
je 0x140141db3
mov r9d, dword [rdi + 0x38]
mov edx, 0x4c
inc r9d
mov rcx, rsi
mov dword [rdi + 0x38], r9d
mov dword [r10 + 0x24], r9d
lea r8d, [rdx - 0x4b]
call fcn.140131840
mov eax, dword [rsi + 0xb8]
mov edx, ebp
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x98]
movzx ecx, r14w
shl dword [r10 + 0x24], 1
mov dword [r10 + 0x28], eax
mov rax, qword [r11 + 0x38]
cmp byte [rcx + rax], 1
sete dl
xor edx, dword [rsp + 0x70]
or dword [r10 + 0x24], edx
test r15, r15
jne 0x140141de7
mov rax, qword [r11 + 8]
movzx ecx, r14w
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x140141ddf
mov rax, qword [r11 + 0x18]
mov rcx, rdx
shl rcx, 5
mov rax, qword [rax + 8]
cmp byte [rax + rcx + 0x18], bpl
je 0x140141de4
cmp edx, 0xfffffffe
jne 0x140141de7
mov r13b, 1
movzx r8d, word [r11 + 0x5e]
cmp r14w, r8w
jae 0x140141e09
mov rax, qword [r11 + 0x38]
mov edx, ebp
movzx ecx, r14w
cmp byte [rcx + rax], bpl
sete dl
cmp dword [rsp + 0x70], edx
je 0x140141e1a
mov rdx, qword [rsp + 0x70]
test edx, edx
je 0x140141e55
cmp r8w, r14w
jne 0x140141e55
jmp 0x140141e1f
mov rdx, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x1a8]
mov rax, r9
movzx eax, word [rsp + 0x50]
movzx eax, al
mov qword [rsp + 0x98], r15
mov r15, r9
mov byte [rsp + 0x198], r13b
xor r13b, r13b
mov word [rsp + 0x1a8], ax
mov word [rsp + 0x50], cx
lea rax, [rsp + 0x90]
mov r8d, edx
mov rdx, r10
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov rcx, rdi
call fcn.1400ddcf0
mov ecx, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x140141eb0
cmp word [rsp + 0x1a8], bp
je 0x140141eb0
mov rcx, qword [rsp + 0xa0]
movzx edx, r14w
add rdx, rax
call fcn.14010b720
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x58], eax
test r15, r15
je 0x140141ed3
test byte [r15 + 0x14], 0x28
jne 0x140141ed3
mov dword [rsp + 0x5c], ebp
mov edx, 1
jmp 0x140141edc
mov edx, 1
mov dword [rsp + 0x5c], edx
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140141ef3
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x64], ebp
je 0x140141ef7
mov dword [rsp + 0x64], edx
test r15, r15
jne 0x140141f36
test r14w, r14w
jne 0x140141f36
mov dword [rsp + 0x60], ebp
mov ebx, r12d
test r13b, r13b
je 0x140141ff1
xor r8d, r8d
lea r9d, [r12 + rcx]
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.140131840
inc ebx
mov dword [rsp + 0x5c], ebp
mov r14d, 1
jmp 0x140141ff6
mov dword [rsp + 0x60], edx
mov ebx, r12d
test r15, r15
je 0x140141f09
mov rax, qword [r15]
lea r8d, [r12 + rcx]
mov rcx, rdi
mov r13, qword [rax + 0x18]
movzx eax, word [rsp + 0x50]
mov rdx, r13
mov r9d, eax
mov dword [rsp + 0x50], eax
call fcn.1400df3a0
mov rdx, qword [rsp + 0x48]
mov r8, r15
mov rcx, rsi
call fcn.14014f0e0
mov rcx, r13
call fcn.14010e610
test eax, eax
je 0x140141f9a
mov r8d, dword [rsp + 0x44]
mov edx, 0x22
mov r9d, dword [rsp + 0x58]
add r8d, r12d
mov rcx, rsi
call fcn.140131840
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x140141fc0
movzx r8d, r14w
mov rcx, r13
mov r14d, dword [rsp + 0x50]
add r8, rax
mov edx, r14d
call fcn.140146fe0
jmp 0x140141fc5
mov r14d, dword [rsp + 0x50]
mov rcx, r13
add ebx, r14d
call fcn.1401128b0
test eax, eax
jne 0x140141fe6
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.1400e3f60
xor r13b, r13b
jmp 0x140141ff1
mov dword [rsp + 0x5c], 1
xor r13b, r13b
mov r14d, dword [rsp + 0x60]
mov r9, qword [rsp + 0x90]
mov r8d, ebx
mov edx, dword [rsp + 0x44]
mov rcx, rdi
movzx eax, r13b
sub r8d, eax
call fcn.1400de1f0
mov rcx, qword [rsp + 0x80]
lea r15, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x140142033
movzx eax, ax
cmp ebx, eax
je 0x14014206e
mov eax, dword [rsp + 0x5c]
mov rcx, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x54]
lea eax, [rax + r14*2]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rsp + 0x44]
lea eax, [rcx + rax*2]
cdqe
mov rcx, rsi
mov dword [rsp + 0x20], ebx
movzx edx, byte [rax + r15 + 0x204280]
call fcn.140131b40
jmp 0x140142072
mov ebx, dword [rsp + 0x44]
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140142148
mov rax, qword [rax]
lea r14d, [r12 + rbx]
mov r8d, 1
mov edx, r14d
mov rcx, rdi
mov r13, qword [rax + 0x18]
call fcn.14010e460
movzx ebx, word [rsp + 0x1a8]
mov r8d, r14d
mov r9d, ebx
mov rdx, r13
call fcn.1400df3a0
mov r8, qword [rsp + 0x98]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.14014f0e0
mov rcx, r13
call fcn.14010e610
test eax, eax
je 0x1401420eb
mov r9d, dword [rsp + 0x58]
mov r8d, r14d
mov edx, 0x22
mov rcx, rsi
call fcn.140131840
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14014211b
mov r8, rax
mov edx, ebx
mov rcx, r13
call fcn.140146fe0
mov r9, qword [rsp + 0x88]
mov r8d, ebx
mov edx, r14d
mov rcx, rdi
call fcn.1400de1f0
mov rcx, r13
add r12d, ebx
call fcn.1401128b0
mov r13, qword [rsp + 0x48]
test eax, eax
jne 0x140142141
mov rdx, qword [rsp + 0x98]
mov rcx, r13
call fcn.1400e3f60
jmp 0x140142176
mov ebx, 1
jmp 0x14014217a
cmp byte [rsp + 0x198], bpl
je 0x140142171
xor r8d, r8d
lea r9d, [r12 + rbx]
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.140131840
mov r13, qword [rsp + 0x48]
inc r12d
mov ebx, ebp
jmp 0x14014217a
mov r13, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
call fcn.14010b4e0
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
call fcn.14010b4e0
mov eax, dword [rsi + 0xb8]
mov dword [r13 + 0x34], eax
test r12d, r12d
je 0x1401421e8
mov rax, qword [rsp + 0x70]
mov rcx, rsi
mov r9d, dword [rsp + 0x58]
mov dword [rsp + 0x28], r12d
mov r12d, dword [rsp + 0x54]
mov r8d, r12d
lea eax, [rbx + rax*2]
movzx edx, byte [rax + r15 + 0x20427c]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
call fcn.140131b40
jmp 0x1401421ed
mov r12d, dword [rsp + 0x54]
cmp dword [rsp + 0x68], ebp
jne 0x14014235d
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rdx + 0x18]
test byte [rbx + 0x48], 0x20
jne 0x14014227a
mov rax, qword [rsp + 0x190]
mov ecx, 0x400
test word [rax + 0x38], cx
je 0x140142265
inc dword [rdi + 0x38]
mov r8d, r12d
mov ebx, dword [rdi + 0x38]
mov edx, 0x80
mov r9d, ebx
mov rcx, rsi
call fcn.140131840
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rdi
call fcn.14010e4f0
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x21]
call fcn.1401318b0
jmp 0x14014235d
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
mov rcx, rax
call fcn.1400de720
jmp 0x14014235d
cmp dword [rsp + 0x40], r12d
je 0x14014235d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1401422a2
nop
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401422a2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140142290
movzx edx, word [rbx + 0x5e]
mov rcx, rdi
call fcn.1401189d0
mov r15d, eax
mov r14d, ebp
cmp bp, word [rbx + 0x5e]
jae 0x140142339
mov r13, qword [rsp + 0xa8]
or edi, 0xffffffff
nop word [rax + rax]
movzx r8d, word [r13 + 0x60]
mov edx, ebp
test r8d, r8d
jle 0x140142301
mov rax, qword [rbx + 8]
mov r9, qword [r13 + 8]
movsxd rcx, r14d
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x140142304
inc edx
cmp edx, r8d
jl 0x1401422f0
movzx edx, di
lea eax, [r14 + r15]
movsx r9d, dx
mov edx, 0x60
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, rsi
call fcn.1401318b0
movzx eax, word [rbx + 0x5e]
inc r14d
cmp r14d, eax
jl 0x1401422d0
mov rdi, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x48]
movzx eax, word [rbx + 0x5e]
mov edx, 0x1e
mov r9d, dword [rsp + 0x78]
mov rcx, rsi
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r15d
call fcn.140131b40
mov rcx, qword [rsp + 0x80]
test dword [rcx + 0x28], 0x1000
je 0x140142375
mov byte [r13 + 0x2d], 0xa0
jmp 0x140142382
cmp dword [rsp + 0x70], ebp
sete al
add al, 6
mov byte [r13 + 0x2d], al
mov r15, qword [rsp + 0x190]
mov r9d, 0x200
mov dword [r13 + 0x30], r12d
movzx eax, byte [rcx + 0x2a]
and al, 1
mov byte [r13 + 0x2e], al
test byte [rcx + 0x28], 0xf
jne 0x140142d0e
mov byte [r13 + 0x2f], 1
jmp 0x140142d0e
bt edx, 0xd
jae 0x140142ca5
mov eax, dword [rdi + 0x34]
mov rcx, rsi
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
mov dword [rsp + 0x50], eax
inc eax
mov dword [rdi + 0x34], eax
mov qword [rsp + 0xa8], rbp
mov dword [rsp + 0x64], ebx
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x58], ebp
call fcn.14013a810
mov rdx, qword [r15 + 0x28]
mov r14, qword [rsp + 0x190]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x5c], ebp
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x90], rdx
mov rcx, qword [rax + 0x38]
mov rax, qword [rcx]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rax + 0x28]
mov qword [rsp + 0xd0], rcx
mov byte [r13 + 0x2d], 0x48
mov dword [r13 + 0x30], ebx
movzx ecx, byte [r14 + 0x3a]
cmp cl, 1
jbe 0x1401425c1
movzx ebx, cl
sub ebx, dword [rsp + 0x198]
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x78
mov rax, qword [rsp + 0xa0]
sub rcx, 0xffffffffffffff80
test rax, rax
je 0x140142479
mov rdx, rcx
mov rcx, rax
call fcn.14010b530
jmp 0x14014247e
call fcn.14011d850
mov qword [rsp + 0xb8], rax
mov r12, rax
test rax, rax
jne 0x14014249b
mov rax, qword [rsp + 0x1a0]
jmp 0x14014304c
lea eax, [rbx + 1]
movzx ecx, al
mov dword [r12 + 4], ecx
mov dword [r12], ecx
movups xmm0, xmmword [r15 + 8]
movups xmmword [r12 + 8], xmm0
movups xmm1, xmmword [r15 + 0x18]
movups xmmword [r12 + 0x18], xmm1
movups xmm0, xmmword [r15 + 0x28]
movups xmmword [r12 + 0x28], xmm0
movups xmm1, xmmword [r15 + 0x38]
movups xmmword [r12 + 0x38], xmm1
movups xmm0, xmmword [r15 + 0x48]
movups xmmword [r12 + 0x48], xmm0
movups xmm1, xmmword [r15 + 0x58]
movups xmmword [r12 + 0x58], xmm1
movups xmm0, xmmword [r15 + 0x68]
movups xmmword [r12 + 0x68], xmm0
movsd xmm1, qword [r15 + 0x78]
movsd qword [r12 + 0x78], xmm1
mov r10, qword [r14 + 8]
cmp ebx, 1
jl 0x140142588
lea rdx, [r12 + 0x80]
mov r9d, ebx
lea r8, [r13 + 0x84]
nop
movzx eax, byte [r8]
lea rdx, [rdx + 0x78]
imul rcx, rax, 0x78
lea r8, [r8 + 0x58]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x78], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x68], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x58], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x48], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x38], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x28], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x18], xmm0
movsd xmm1, qword [rcx + r10 + 0x78]
movsd qword [rdx - 8], xmm1
sub r9, 1
jne 0x140142520
mov rdx, qword [rsp + 0x90]
test byte [r14 + 0x38], 0x10
jne 0x14014262c
test byte [rdx + 0x48], 0x20
jne 0x1401425cf
inc dword [rdi + 0x38]
xor r8d, r8d
mov r14d, dword [rdi + 0x38]
mov rcx, rsi
mov r9d, r14d
mov dword [rsp + 0x44], r14d
lea edx, [r8 + 0x4f]
call fcn.140131840
jmp 0x140142622
mov r12, qword [r14 + 8]
mov qword [rsp + 0xb8], r12
jmp 0x140142590
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x1401425f2
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401425f2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401425e0
mov r14d, dword [rdi + 0x34]
mov edx, 0x6b
mov r8d, r14d
mov dword [rsp + 0x44], r14d
mov rcx, rsi
lea eax, [r14 + 1]
mov dword [rdi + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.140131840
mov rdx, rbx
mov rcx, rdi
call fcn.14013ce80
inc dword [rdi + 0x38]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x58], eax
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4c]
call fcn.140131840
mov r15d, eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rax + 0x14]
cmp ecx, 1
jle 0x14014273c
mov ebx, ebp
test ecx, ecx
jle 0x14014273c
mov r8, qword [rsp + 0xb0]
mov r14, rbp
mov r12, qword [rsp + 0xa0]
mov r9d, 0x1fff
mov r13, rbp
mov rsi, rax
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
mov rdx, qword [rcx + r14]
cmp rax, r8
je 0x1401426ea
test byte [rdx + 4], 1
jne 0x1401426ea
test byte [rcx + r14 + 0x12], 6
jne 0x1401426ea
test word [rcx + r14 + 0x14], r9w
je 0x1401426ea
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call fcn.1400e7310
mov r8, rax
mov rdx, r13
mov rcx, r12
call fcn.14010e0a0
mov r8, qword [rsp + 0xb0]
mov r13, rax
mov r9d, 0x1fff
inc ebx
add r14, 0x40
cmp ebx, dword [rsi + 0x14]
jl 0x140142690
mov rsi, qword [rsp + 0xc0]
test r13, r13
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0x88], r13
mov r13, qword [rsp + 0x48]
je 0x140142741
mov r9, qword [rsp + 0x88]
xor r8d, r8d
mov edx, 0x11c
mov rcx, rdi
call fcn.14011e8d0
mov rdx, rax
mov qword [rsp + 0x88], rax
jmp 0x140142749
mov rdx, rbp
jmp 0x140142749
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x190]
mov r10d, 0x400
mov rax, qword [rsp + 0xd0]
mov r14d, ebp
mov dword [rsp + 0x68], ebp
movzx r9d, word [r8 + 0x38]
and r9w, r10w
or r9w, 0x20
mov word [rsp + 0x1a8], r9w
cmp dword [rax + 0x14], ebp
jle 0x140142b42
mov r8d, dword [rsp + 0x40]
mov rcx, rbp
mov qword [rsp + 0xc8], rcx
nop word [rax + rax]
mov rax, qword [rax + 0x20]
cmp dword [rcx + rax + 0x1c], r8d
je 0x1401427b7
test word [rcx + rax + 0x14], r10w
je 0x140142b0f
mov r8, qword [rcx + rax]
mov r15d, ebp
mov dword [rsp + 0x80], ebp
test rdx, rdx
je 0x1401427d8
test byte [r8 + 4], 1
jne 0x1401427d8
mov qword [rdx + 0x10], r8
mov r8, rdx
mov eax, dword [rsp + 0x50]
mov rdx, r12
mov dword [rsp + 0x30], eax
mov rcx, rdi
mov word [rsp + 0x28], r9w
xor r9d, r9d
mov qword [rsp + 0x20], rbp
call fcn.140140440
mov qword [rsp + 0xe0], rax
mov rbx, rax
test rax, rax
je 0x140142af3
movzx ecx, byte [r13 + 0x2c]
lea r8, [rax + 0x390]
mov r9d, dword [rsp + 0x198]
mov rdx, r12
mov word [rsp + 0x28], bp
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.140143910
mov rax, qword [rsp + 0x190]
test byte [rax + 0x38], 0x10
jne 0x1401429ea
mov rcx, qword [rsp + 0xd0]
mov r13d, r14d
mov edx, 0xffffffff
mov eax, dword [rcx + 0x14]
dec eax
cmp r14d, eax
mov rax, qword [rsp + 0x90]
cmove r13d, edx
test byte [rax + 0x48], 0x20
jne 0x1401428b6
mov ecx, dword [rsp + 0x58]
mov r8d, edx
mov r9d, dword [rsp + 0x40]
mov rdx, rax
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.14010ebc0
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x3f]
call fcn.140131b40
mov r15d, eax
jmp 0x1401429e5
mov rcx, rax
call fcn.140124e30
mov rcx, rdi
mov r15, rax
movzx edx, word [rax + 0x5e]
mov dword [rsp + 0x54], edx
call fcn.1401189d0
mov dword [rsp + 0x98], eax
mov r14d, eax
mov rbx, rbp
mov r12d, edx
test edx, edx
je 0x14014292d
mov rsi, qword [rsp + 0x90]
mov ebp, dword [rsp + 0x40]
mov rcx, qword [r15 + 8]
mov r9d, ebp
mov rdx, rsi
mov dword [rsp + 0x20], r14d
movsx r8d, word [rcx + rbx*2]
mov rcx, rdi
call fcn.14010edf0
inc r14d
inc rbx
cmp rbx, r12
jl 0x1401428f1
mov rsi, qword [rsp + 0xc0]
xor ebp, ebp
mov r14d, dword [rsp + 0x98]
mov edx, r12d
mov r12d, dword [rsp + 0x44]
test r13d, r13d
je 0x140142957
mov dword [rsp + 0x28], edx
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
lea edx, [r9 + 0x1f]
call fcn.140131b40
mov r15d, eax
jmp 0x14014295f
mov r15d, dword [rsp + 0x80]
mov ebx, dword [rsp + 0x54]
test r13d, r13d
js 0x1401429c2
mov eax, dword [rsp + 0x58]
mov r9d, ebx
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x63
mov rcx, rsi
call fcn.1401318b0
mov r9d, dword [rsp + 0x58]
mov r8d, r12d
mov edx, 0x7d
mov dword [rsp + 0x28], ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.140131b40
test r13d, r13d
je 0x1401429c2
mov eax, dword [rsi + 0xb8]
test eax, eax
jle 0x1401429c2
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x10
mov r8d, ebx
mov edx, r14d
mov rcx, rdi
call fcn.140125a40
mov rbx, qword [rsp + 0xe0]
mov r14d, dword [rsp + 0x68]
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0x48]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140142a17
mov r9d, dword [rsp + 0x60]
mov edx, 0xe
mov r8d, dword [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400eec90
jmp 0x140142a4c
mov edx, dword [rsp + 0x64]
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 + 0x60]
mov dword [rax + rcx*8 + 8], edx
mov word [rax + rcx*8], 0xe
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
test r15d, r15d
je 0x140142a81
mov edx, dword [rsi + 0xb8]
jns 0x140142a5d
lea r15d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x140142a6f
lea rax, [0x1402865b8]
jmp 0x140142a7e
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [rbx + 0x3e], 0
mov ecx, 1
mov eax, dword [rsp + 0x5c]
mov rdx, qword [rbx + 0x3d8]
cmovne eax, ecx
mov dword [rsp + 0x5c], eax
test dword [rdx + 0x28], 0x200
je 0x140142ae3
test r14d, r14d
je 0x140142ab8
mov rax, qword [rsp + 0xa8]
cmp qword [rdx + 0x20], rax
jne 0x140142ae3
mov rax, qword [rsp + 0x90]
test byte [rax + 0x48], 0x20
je 0x140142ad5
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x140142ae3
mov r15, qword [rdx + 0x20]
mov qword [rsp + 0xa8], r15
jmp 0x140142aeb
mov qword [rsp + 0xa8], rbp
mov rcx, rbx
call fcn.140143060
mov r8d, dword [rsp + 0x40]
mov r10d, 0x400
movzx r9d, word [rsp + 0x1a8]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd0]
inc r14d
mov rdx, qword [rsp + 0x88]
add rcx, 0x40
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0xc8], rcx
cmp r14d, dword [rax + 0x14]
jl 0x1401427a0
mov r15d, dword [rsp + 0x70]
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x38], rax
test rax, rax
je 0x140142b5b
mov eax, dword [rsp + 0x50]
mov dword [r13 + 8], eax
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
test rdx, rdx
je 0x140142b7c
mov rcx, rbx
mov qword [rdx + 0x10], rbp
call fcn.140111aa0
mov edx, dword [rsi + 0xb8]
test r15d, r15d
jns 0x140142b8b
lea r15d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x140142b9d
lea rax, [0x1402865b8]
jmp 0x140142bac
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r13 + 0xc]
cmp dword [rax + 0x3c], ecx
jg 0x140142bdb
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.1400eec90
jmp 0x140142c08
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], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140142c28
or eax, 0xffffffff
sub eax, dword [rsp + 0x60]
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov r15, qword [rsp + 0x190]
cmp byte [r15 + 0x3a], 1
jbe 0x140142c8c
test r12, r12
je 0x140142c8c
test rbx, rbx
je 0x140142c84
cmp qword [rbx + 0x298], 0
je 0x140142c58
mov rdx, r12
mov rcx, rbx
call fcn.1400f1940
jmp 0x140142c8c
cmp r12, qword [rbx + 0x180]
jb 0x140142c84
cmp r12, qword [rbx + 0x188]
jae 0x140142c84
mov rax, qword [rbx + 0x178]
mov qword [r12], rax
dec dword [rbx + 0x160]
mov qword [rbx + 0x178], r12
jmp 0x140142c8c
mov rcx, r12
call fcn.1400d0700
cmp dword [rsp + 0x5c], 0
jne 0x140142d08
mov rdx, qword [rsp + 0xb0]
mov rcx, r13
call fcn.1400e3f60
jmp 0x140142d08
test r8b, 0x20
je 0x140142cba
mov r15, qword [rsp + 0x190]
mov byte [r13 + 0x2d], 0xa0
jmp 0x140142d0e
movsxd rcx, r12d
lea r15, [0x140000000]
mov r9d, r14d
movzx eax, byte [rcx + r15 + 0x204288]
movzx edx, byte [rcx + r15 + 0x20428c]
mov rcx, rsi
mov byte [r13 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r13 + 0x30], eax
call fcn.140131840
inc eax
mov byte [r13 + 0x2f], 1
mov dword [r13 + 0x34], eax
jmp 0x140142d00
mov r13, rdx
mov r15, qword [rsp + 0x190]
mov r9d, 0x200
mov r12d, dword [r15 + 0x74]
mov r14, qword [r15 + 0x80]
test r12d, r12d
jle 0x140142e40
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r14 + 0x12]
mov ebx, ebp
test cl, 6
jne 0x140142e22
mov rax, qword [r14 + 0x38]
test qword [r13 + 0x50], rax
je 0x140142d54
mov byte [r15 + 0x3e], 1
jmp 0x140142e22
cmp dword [r13], 0
mov r15, qword [r14]
je 0x140142d69
test byte [r15 + 4], 1
je 0x140142e22
test r9w, cx
je 0x140142dd3
mov edx, dword [r13 + 0x24]
mov r8d, edx
mov rax, qword [rsi + 0x18]
and edx, 1
movsxd rbx, dword [rsi + 0xb8]
add edx, 0x15
shr r8d, 1
cmp dword [rax + 0x3c], ebx
jg 0x140142da2
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400eec90
mov ebx, eax
jmp 0x140142dd3
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8], dl
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rsp + 0x78]
mov r9d, 0x10
mov rdx, r15
mov rcx, rdi
call fcn.140111d90
test ebx, ebx
je 0x140142e1c
mov edx, dword [rsi + 0xb8]
jns 0x140142df8
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x140142e0a
lea rax, [0x1402865b8]
jmp 0x140142e19
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [r14 + 0x12], 4
mov r15, qword [rsp + 0x190]
dec r12d
add r14, 0x40
mov r9d, 0x200
test r12d, r12d
jg 0x140142d30
mov r12, qword [rsp + 0xd8]
mov r14d, dword [r12 + 0x14]
mov rbx, qword [r12 + 0x20]
test r14d, r14d
jle 0x140142f4b
mov esi, dword [rsp + 0x40]
nop
test byte [rbx + 0x12], 6
jne 0x140142f33
movzx eax, word [rbx + 0x14]
mov edx, VariantTimeToDosDateTime
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x140142f33
cmp dword [rbx + 0x1c], esi
jne 0x140142f33
cmp dword [r13], 0
jne 0x140142f33
mov r9, qword [rsp + 0x1a0]
mov edx, esi
mov r8d, dword [rbx + 0x28]
mov rcx, r12
mov r15, qword [rbx]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x83
call fcn.140143e90
test rax, rax
je 0x140142f33
test byte [rax + 0x12], 4
jne 0x140142f33
mov rax, qword [rax]
lea rdx, [rsp + 0xf0]
mov r8d, dword [rsp + 0x78]
mov r9d, 0x10
mov rcx, rdi
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x100], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x110], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x120], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rsp + 0x130], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x100], rax
call fcn.140111d90
dec r14d
add rbx, 0x40
test r14d, r14d
jg 0x140142e60
mov rsi, qword [rsp + 0xc0]
mov r9d, dword [r13]
test r9d, r9d
je 0x140143048
mov eax, dword [rsi + 0xb8]
mov dword [r13 + 0x1c], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140142f8b
mov eax, 1
mov dword [rsp + 0x20], ebp
mov r8d, eax
mov rcx, rsi
lea edx, [rax + 0x4b]
call fcn.1400eec90
jmp 0x140142fbd
lea eax, [rcx + 1]
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], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
cmp byte [rdi + 0x25], 0
mov r8d, ebp
jbe 0x140142ffd
lea rdx, [rdi + 0xd0]
nop dword [rax]
cmp byte [rdx - 6], 0
je 0x140142fed
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x140142fed
movzx ecx, al
mov eax, dword [rdx]
mov dword [rdi + rcx*4 + 0x18c], eax
inc byte [rdi + 0x1f]
movzx eax, byte [rdi + 0x25]
inc r8d
add rdx, 0x14
cmp r8d, eax
jl 0x140142fd0
mov byte [rdi + 0x25], 0
cmp dword [r12 + 0x14], 0
mov rbx, qword [r12 + 0x20]
jle 0x140143048
nop
test byte [rbx + 0x12], 6
jne 0x14014303b
mov rax, qword [rbx + 0x38]
test qword [r13 + 0x50], rax
jne 0x14014303b
mov r8d, dword [rsp + 0x78]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.140111d90
or word [rbx + 0x12], 4
inc ebp
add rbx, 0x40
cmp ebp, dword [r12 + 0x14]
jl 0x140143010
mov rax, qword [r13 + 0x50]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret