Function at 0x1400d1c70
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 0x1400d1d37
lea rax, [rbx + 0x28c]
nop word [rax + rax]
cmp dword [rax], r11d
je 0x1400d1e62
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1400d1d20
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 0x1400d1d6c
test byte [rbx + 0x38], 0x20
mov dword [rsp + 0x68], 1
je 0x1400d1d70
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 0x1400d1da7
mov rdx, qword [rbx + 0x58]
lea eax, [r14*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14009c190
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
or edx, 0xffffffff
test rcx, rcx
je 0x1400d1db7
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 0x1400d1e06
mov rdx, qword [rbx + 0x58]
lea eax, [r8*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14009c190
mov r8d, dword [rsp + 0x78]
or edx, 0xffffffff
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1400d1e15
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 0x1400d1e9c
test byte [r15 + 0x44], 8
je 0x1400d1e9c
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 0x1400d1e6f
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x4c]
call fcn.14007f7e0
jmp 0x1400d1e9c
mov ecx, edx
mov rax, r12
shl rax, cl
jmp 0x1400d1d3a
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 0x1400d1f80
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 0x1400d1ee0
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.14007f7e0
jmp 0x1400d1f0d
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 0x1400d1f44
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, ebx
mov edx, 0x10
mov rcx, rsi
call fcn.14007f7e0
mov edx, eax
mov dword [r13 + 0x34], eax
mov byte [r13 + 0x2d], 0xd
jmp 0x1400d3850
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 0x1400d3850
mov r10, qword [rsp + 0x80]
mov eax, 0x400
mov edx, dword [r10 + 0x28]
test eax, edx
je 0x1400d24b2
movzx r15d, word [r10 + 0x2c]
mov rcx, rdi
inc dword [rdi + 0x4c]
lea edx, [r15 + 2]
call fcn.1400a9520
mov r13d, dword [r13 + 0xc]
mov r12d, eax
mov dword [rsp + 0x198], eax
mov ebx, ebp
test r15d, r15d
jle 0x1400d204e
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 0x1400d2031
test byte [rdx + 0x14], 1
mov rcx, rdi
je 0x1400d2013
lea eax, [r12 + rbx]
mov r9d, ebx
mov dword [rsp + 0x28], eax
mov r8, rsi
mov dword [rsp + 0x20], ebp
call fcn.14006f560
mov r13d, dword [rsi + 0x10]
jmp 0x1400d2029
mov rdx, qword [rdx]
lea r8d, [r12 + rbx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.14006fef0
mov r10, qword [rsp + 0x80]
inc ebx
add r14, 8
cmp ebx, r15d
jl 0x1400d1fe0
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 0x1400d207b
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x4c
mov r9d, r12d
mov rcx, rsi
call fcn.14007f7e0
jmp 0x1400d20a9
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 0x1400d20d7
mov r9d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x4c
mov r8d, r15d
mov rcx, rsi
call fcn.14007f7e0
jmp 0x1400d2105
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.1400c2480
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 0x1400d2436
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 0x1400d21e5
movzx eax, word [rbx + 0x1e]
movzx ecx, r14w
shr ax, cl
test al, 1
je 0x1400d21dd
mov rdx, r15
mov rcx, r13
call fcn.140074ab0
jmp 0x1400d241b
mov rcx, qword [rsp + 0x1a8]
test byte [r15 + 0x14], 1
je 0x1400d241b
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x55], 0
jne 0x1400d22a8
mov rax, qword [r13 + 0x40]
sub rcx, 0xc
mov qword [rsp + 0x1a8], rcx
mov ecx, dword [rax + rcx + 4]
test ecx, ecx
jns 0x1400d2222
mov ecx, dword [rsi + 0xb8]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x1400d2234
lea rax, [0x14022c7b8]
jmp 0x1400d2243
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 0x1400d2271
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.14007f7e0
jmp 0x1400d22a3
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 0x1400d2305
cmp dx, word [rcx + 0x15c]
jbe 0x1400d22c5
inc dword [rcx + 0x16c]
jmp 0x1400d230f
mov rbx, qword [rcx + 0x178]
test rbx, rbx
jne 0x1400d22d9
inc dword [rcx + 0x170]
jmp 0x1400d230f
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 0x1400d2317
mov dword [rcx + 0x164], eax
jmp 0x1400d2317
cmp byte [rcx + 0x55], 0
jne 0x1400d241b
call fcn.140073ea0
mov rbx, rax
test rbx, rbx
je 0x1400d2413
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.140078ab0
mov rax, qword [rdi]
mov r8d, dword [rax + 0x7c]
cmp dword [rbx + 0x28], r8d
jle 0x1400d2373
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.14009e5b0
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.14009c080
mov rcx, rax
test rax, rax
je 0x1400d23d9
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 0x1400d2404
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.1400a28e0
mov rdx, rbx
mov qword [rbx + 0x10], rbp
mov rcx, r15
call fcn.1400a25f0
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1a8]
sub r12, 8
sub r14d, 1
mov edx, 0x48
jns 0x1400d21b0
dec dword [rdi + 0x4c]
mov r8d, ebp
cmp byte [rdi + 0x25], 0
jbe 0x1400d3850
lea rdx, [rdi + 0xca]
nop dword [rax]
mov eax, dword [rdi + 0x4c]
cmp dword [rdx + 2], eax
jle 0x1400d249d
cmp byte [rdx], 0
je 0x1400d2475
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400d2475
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 0x1400d24a4
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 0x1400d24a4
inc r8d
add rdx, 0x14
movzx eax, byte [rdi + 0x25]
cmp r8d, eax
jl 0x1400d2450
jmp 0x1400d3850
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1400d253f
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.14006f560
mov ebx, eax
cmp eax, r14d
je 0x1400d24fb
mov edx, r14d
mov rcx, rdi
call fcn.1400b6610
mov r9d, dword [r13 + 0x10]
mov edx, 0x20
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1400c2400
mov r8d, 1
mov edx, ebx
mov rcx, rdi
call fcn.14009efb0
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
call fcn.14009f040
mov byte [r13 + 0x2d], 0xa0
jmp 0x1400d3850
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1400d27bf
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 0x1400d257b
mov rax, qword [r10 + 0x38]
mov rbx, qword [rax]
mov eax, r8d
test dl, 0x10
je 0x1400d258b
movsxd rcx, eax
mov rax, qword [r10 + 0x38]
mov r12, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x70]
test ecx, ecx
je 0x1400d259d
mov rax, rbx
mov rbx, r12
mov r12, rax
test rbx, rbx
je 0x1400d2682
mov r13, qword [rbx]
mov dword [rsp + 0x198], 0x1917181a
mov rdx, qword [r13 + 0x18]
mov rcx, rdx
call fcn.1400a3400
test eax, eax
je 0x1400d260d
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400d25d4
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
jmp 0x1400d25e3
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.14006fef0
movzx eax, byte [r13]
sub eax, 0x26
movsxd rcx, eax
or rcx, 1
jmp 0x1400d263d
lea r8, [rsp + 0x68]
mov rcx, rdi
call fcn.1400a2110
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov dword [rsp + 0x1a8], eax
call fcn.140074ab0
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.1400c2400
mov r8d, 1
mov edx, r13d
mov rcx, rdi
call fcn.14009efb0
mov edx, ebx
call fcn.1400b6610
mov r13d, r15d
jmp 0x1400d26a1
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.1400c2390
test r12, r12
je 0x1400d2719
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.14006fef0
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1400a3400
test eax, eax
jne 0x1400d26ed
movzx eax, byte [rbx]
sub al, 0x26
test al, 0xfd
jne 0x1400d26ed
mov eax, 0x27
lea r15d, [rax + 2]
jmp 0x1400d26f8
mov eax, 0x28
mov r15d, 0x26
cmp dword [rsp + 0x70], ebp
mov rcx, rdx
cmovne r15d, eax
call fcn.1400a3400
test eax, eax
jne 0x1400d2719
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call fcn.140074ab0
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 0x1400d384d
inc dword [rdi + 0x38]
mov r8d, r12d
mov ebx, dword [rdi + 0x38]
mov edx, 0x7a
mov r9d, ebx
mov rcx, rsi
call fcn.1400c2390
mov r9d, ebx
or r8d, 0xffffffff
mov edx, r12d
mov rcx, rdi
call fcn.14009f040
mov r8d, dword [rsp + 0x54]
mov edx, r15d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov r9d, r14d
call fcn.1400c2400
mov eax, dword [rsi + 0xb8]
mov r9d, 0x200
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x190]
test eax, eax
jle 0x1400d385e
dec eax
movsxd rcx, eax
mov rax, qword [rsi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x53
jmp 0x1400d385e
test r9d, edx
je 0x1400d2f02
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 0x1400d2841
cmp byte [rax + 0x3b], bl
jle 0x1400d2841
cmp word [r11 + 0x5e], r14w
jbe 0x1400d2841
mov r13b, 1
mov ebx, 1
movzx r12d, r14w
mov r8d, r12d
test dl, 0x20
je 0x1400d286a
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 0x1400d2937
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 0x1400d2903
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.1400c2390
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 0x1400d2937
mov rax, qword [r11 + 8]
movzx ecx, r14w
movsx rdx, word [rax + rcx*2]
test edx, edx
js 0x1400d292f
mov rax, qword [r11 + 0x18]
mov rcx, rdx
shl rcx, 5
mov rax, qword [rax + 8]
cmp byte [rax + rcx + 0x18], bpl
je 0x1400d2934
cmp edx, 0xfffffffe
jne 0x1400d2937
mov r13b, 1
movzx r8d, word [r11 + 0x5e]
cmp r14w, r8w
jae 0x1400d2959
mov rax, qword [r11 + 0x38]
mov edx, ebp
movzx ecx, r14w
cmp byte [rcx + rax], bpl
sete dl
cmp dword [rsp + 0x70], edx
je 0x1400d296a
mov rdx, qword [rsp + 0x70]
test edx, edx
je 0x1400d29a5
cmp r8w, r14w
jne 0x1400d29a5
jmp 0x1400d296f
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.14006e840
mov ecx, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400d2a00
cmp word [rsp + 0x1a8], bp
je 0x1400d2a00
mov rcx, qword [rsp + 0xa0]
movzx edx, r14w
add rdx, rax
call fcn.14009c270
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 0x1400d2a23
test byte [r15 + 0x14], 0x28
jne 0x1400d2a23
mov dword [rsp + 0x5c], ebp
mov edx, 1
jmp 0x1400d2a2c
mov edx, 1
mov dword [rsp + 0x5c], edx
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400d2a43
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x64], ebp
je 0x1400d2a47
mov dword [rsp + 0x64], edx
test r15, r15
jne 0x1400d2a86
test r14w, r14w
jne 0x1400d2a86
mov dword [rsp + 0x60], ebp
mov ebx, r12d
test r13b, r13b
je 0x1400d2b41
xor r8d, r8d
lea r9d, [r12 + rcx]
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.1400c2390
inc ebx
mov dword [rsp + 0x5c], ebp
mov r14d, 1
jmp 0x1400d2b46
mov dword [rsp + 0x60], edx
mov ebx, r12d
test r15, r15
je 0x1400d2a59
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.14006fef0
mov rdx, qword [rsp + 0x48]
mov r8, r15
mov rcx, rsi
call fcn.1400dfc30
mov rcx, r13
call fcn.14009f160
test eax, eax
je 0x1400d2aea
mov r8d, dword [rsp + 0x44]
mov edx, 0x22
mov r9d, dword [rsp + 0x58]
add r8d, r12d
mov rcx, rsi
call fcn.1400c2390
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1400d2b10
movzx r8d, r14w
mov rcx, r13
mov r14d, dword [rsp + 0x50]
add r8, rax
mov edx, r14d
call fcn.1400d7b30
jmp 0x1400d2b15
mov r14d, dword [rsp + 0x50]
mov rcx, r13
add ebx, r14d
call fcn.1400a3400
test eax, eax
jne 0x1400d2b36
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.140074ab0
xor r13b, r13b
jmp 0x1400d2b41
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.14006ed40
mov rcx, qword [rsp + 0x80]
lea r15, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x1400d2b83
movzx eax, ax
cmp ebx, eax
je 0x1400d2bbe
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 + 0x1bcf30]
call fcn.1400c2690
jmp 0x1400d2bc2
mov ebx, dword [rsp + 0x44]
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1400d2c98
mov rax, qword [rax]
lea r14d, [r12 + rbx]
mov r8d, 1
mov edx, r14d
mov rcx, rdi
mov r13, qword [rax + 0x18]
call fcn.14009efb0
movzx ebx, word [rsp + 0x1a8]
mov r8d, r14d
mov r9d, ebx
mov rdx, r13
call fcn.14006fef0
mov r8, qword [rsp + 0x98]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.1400dfc30
mov rcx, r13
call fcn.14009f160
test eax, eax
je 0x1400d2c3b
mov r9d, dword [rsp + 0x58]
mov r8d, r14d
mov edx, 0x22
mov rcx, rsi
call fcn.1400c2390
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x1400d2c6b
mov r8, rax
mov edx, ebx
mov rcx, r13
call fcn.1400d7b30
mov r9, qword [rsp + 0x88]
mov r8d, ebx
mov edx, r14d
mov rcx, rdi
call fcn.14006ed40
mov rcx, r13
add r12d, ebx
call fcn.1400a3400
mov r13, qword [rsp + 0x48]
test eax, eax
jne 0x1400d2c91
mov rdx, qword [rsp + 0x98]
mov rcx, r13
call fcn.140074ab0
jmp 0x1400d2cc6
mov ebx, 1
jmp 0x1400d2cca
cmp byte [rsp + 0x198], bpl
je 0x1400d2cc1
xor r8d, r8d
lea r9d, [r12 + rbx]
mov rcx, rsi
lea edx, [r8 + 0x4f]
call fcn.1400c2390
mov r13, qword [rsp + 0x48]
inc r12d
mov ebx, ebp
jmp 0x1400d2cca
mov r13, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
call fcn.14009c030
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
call fcn.14009c030
mov eax, dword [rsi + 0xb8]
mov dword [r13 + 0x34], eax
test r12d, r12d
je 0x1400d2d38
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 + 0x1bcf2c]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
call fcn.1400c2690
jmp 0x1400d2d3d
mov r12d, dword [rsp + 0x54]
cmp dword [rsp + 0x68], ebp
jne 0x1400d2ead
mov rdx, qword [rsp + 0xa8]
mov rbx, qword [rdx + 0x18]
test byte [rbx + 0x48], 0x20
jne 0x1400d2dca
mov rax, qword [rsp + 0x190]
mov ecx, 0x400
test word [rax + 0x38], cx
je 0x1400d2db5
inc dword [rdi + 0x38]
mov r8d, r12d
mov ebx, dword [rdi + 0x38]
mov edx, 0x80
mov r9d, ebx
mov rcx, rsi
call fcn.1400c2390
mov edx, dword [rsp + 0x40]
mov r9d, ebx
or r8d, 0xffffffff
mov rcx, rdi
call fcn.14009f040
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x21]
call fcn.1400c2400
jmp 0x1400d2ead
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
mov rcx, rax
call fcn.14006f270
jmp 0x1400d2ead
cmp dword [rsp + 0x40], r12d
je 0x1400d2ead
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400d2df2
nop
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400d2df2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400d2de0
movzx edx, word [rbx + 0x5e]
mov rcx, rdi
call fcn.1400a9520
mov r15d, eax
mov r14d, ebp
cmp bp, word [rbx + 0x5e]
jae 0x1400d2e89
mov r13, qword [rsp + 0xa8]
or edi, 0xffffffff
nop word [rax + rax]
movzx r8d, word [r13 + 0x60]
mov edx, ebp
test r8d, r8d
jle 0x1400d2e51
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 0x1400d2e54
inc edx
cmp edx, r8d
jl 0x1400d2e40
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.1400c2400
movzx eax, word [rbx + 0x5e]
inc r14d
cmp r14d, eax
jl 0x1400d2e20
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.1400c2690
mov rcx, qword [rsp + 0x80]
test dword [rcx + 0x28], 0x1000
je 0x1400d2ec5
mov byte [r13 + 0x2d], 0xa0
jmp 0x1400d2ed2
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 0x1400d385e
mov byte [r13 + 0x2f], 1
jmp 0x1400d385e
bt edx, 0xd
jae 0x1400d37f5
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.1400cb360
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 0x1400d3111
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 0x1400d2fc9
mov rdx, rcx
mov rcx, rax
call fcn.14009c080
jmp 0x1400d2fce
call fcn.1400ae3a0
mov qword [rsp + 0xb8], rax
mov r12, rax
test rax, rax
jne 0x1400d2feb
mov rax, qword [rsp + 0x1a0]
jmp 0x1400d3b9c
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 0x1400d30d8
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 0x1400d3070
mov rdx, qword [rsp + 0x90]
test byte [r14 + 0x38], 0x10
jne 0x1400d317c
test byte [rdx + 0x48], 0x20
jne 0x1400d311f
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.1400c2390
jmp 0x1400d3172
mov r12, qword [r14 + 8]
mov qword [rsp + 0xb8], r12
jmp 0x1400d30e0
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x1400d3142
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400d3142
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400d3130
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.1400c2390
mov rdx, rbx
mov rcx, rdi
call fcn.1400cd9d0
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.1400c2390
mov r15d, eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rax + 0x14]
cmp ecx, 1
jle 0x1400d328c
mov ebx, ebp
test ecx, ecx
jle 0x1400d328c
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 0x1400d323a
test byte [rdx + 4], 1
jne 0x1400d323a
test byte [rcx + r14 + 0x12], 6
jne 0x1400d323a
test word [rcx + r14 + 0x14], r9w
je 0x1400d323a
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call fcn.140077e60
mov r8, rax
mov rdx, r13
mov rcx, r12
call fcn.14009ebf0
mov r8, qword [rsp + 0xb0]
mov r13, rax
mov r9d, 0x1fff
inc ebx
add r14, 0x40
cmp ebx, dword [rsi + 0x14]
jl 0x1400d31e0
mov rsi, qword [rsp + 0xc0]
test r13, r13
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0x88], r13
mov r13, qword [rsp + 0x48]
je 0x1400d3291
mov r9, qword [rsp + 0x88]
xor r8d, r8d
mov edx, 0x11c
mov rcx, rdi
call fcn.1400af420
mov rdx, rax
mov qword [rsp + 0x88], rax
jmp 0x1400d3299
mov rdx, rbp
jmp 0x1400d3299
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 0x1400d3692
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 0x1400d3307
test word [rcx + rax + 0x14], r10w
je 0x1400d365f
mov r8, qword [rcx + rax]
mov r15d, ebp
mov dword [rsp + 0x80], ebp
test rdx, rdx
je 0x1400d3328
test byte [r8 + 4], 1
jne 0x1400d3328
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.1400d0f90
mov qword [rsp + 0xe0], rax
mov rbx, rax
test rax, rax
je 0x1400d3643
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.1400d4460
mov rax, qword [rsp + 0x190]
test byte [rax + 0x38], 0x10
jne 0x1400d353a
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 0x1400d3406
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.14009f710
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.1400c2690
mov r15d, eax
jmp 0x1400d3535
mov rcx, rax
call fcn.1400b5980
mov rcx, rdi
mov r15, rax
movzx edx, word [rax + 0x5e]
mov dword [rsp + 0x54], edx
call fcn.1400a9520
mov dword [rsp + 0x98], eax
mov r14d, eax
mov rbx, rbp
mov r12d, edx
test edx, edx
je 0x1400d347d
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.14009f940
inc r14d
inc rbx
cmp rbx, r12
jl 0x1400d3441
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 0x1400d34a7
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.1400c2690
mov r15d, eax
jmp 0x1400d34af
mov r15d, dword [rsp + 0x80]
mov ebx, dword [rsp + 0x54]
test r13d, r13d
js 0x1400d3512
mov eax, dword [rsp + 0x58]
mov r9d, ebx
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x63
mov rcx, rsi
call fcn.1400c2400
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.1400c2690
test r13d, r13d
je 0x1400d3512
mov eax, dword [rsi + 0xb8]
test eax, eax
jle 0x1400d3512
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.1400b6590
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 0x1400d3567
mov r9d, dword [rsp + 0x60]
mov edx, 0xe
mov r8d, dword [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.14007f7e0
jmp 0x1400d359c
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 0x1400d35d1
mov edx, dword [rsi + 0xb8]
jns 0x1400d35ad
lea r15d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x1400d35bf
lea rax, [0x14022c7b8]
jmp 0x1400d35ce
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 0x1400d3633
test r14d, r14d
je 0x1400d3608
mov rax, qword [rsp + 0xa8]
cmp qword [rdx + 0x20], rax
jne 0x1400d3633
mov rax, qword [rsp + 0x90]
test byte [rax + 0x48], 0x20
je 0x1400d3625
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1400d3633
mov r15, qword [rdx + 0x20]
mov qword [rsp + 0xa8], r15
jmp 0x1400d363b
mov qword [rsp + 0xa8], rbp
mov rcx, rbx
call fcn.1400d3bb0
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 0x1400d32f0
mov r15d, dword [rsp + 0x70]
mov rax, qword [rsp + 0xa8]
mov qword [r13 + 0x38], rax
test rax, rax
je 0x1400d36ab
mov eax, dword [rsp + 0x50]
mov dword [r13 + 8], eax
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
test rdx, rdx
je 0x1400d36cc
mov rcx, rbx
mov qword [rdx + 0x10], rbp
call fcn.1400a25f0
mov edx, dword [rsi + 0xb8]
test r15d, r15d
jns 0x1400d36db
lea r15d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x1400d36ed
lea rax, [0x14022c7b8]
jmp 0x1400d36fc
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 0x1400d372b
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.14007f7e0
jmp 0x1400d3758
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 0x1400d3778
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 0x1400d37dc
test r12, r12
je 0x1400d37dc
test rbx, rbx
je 0x1400d37d4
cmp qword [rbx + 0x298], 0
je 0x1400d37a8
mov rdx, r12
mov rcx, rbx
call fcn.140082490
jmp 0x1400d37dc
cmp r12, qword [rbx + 0x180]
jb 0x1400d37d4
cmp r12, qword [rbx + 0x188]
jae 0x1400d37d4
mov rax, qword [rbx + 0x178]
mov qword [r12], rax
dec dword [rbx + 0x160]
mov qword [rbx + 0x178], r12
jmp 0x1400d37dc
mov rcx, r12
call fcn.140061250
cmp dword [rsp + 0x5c], 0
jne 0x1400d3858
mov rdx, qword [rsp + 0xb0]
mov rcx, r13
call fcn.140074ab0
jmp 0x1400d3858
test r8b, 0x20
je 0x1400d380a
mov r15, qword [rsp + 0x190]
mov byte [r13 + 0x2d], 0xa0
jmp 0x1400d385e
movsxd rcx, r12d
lea r15, [0x140000000]
mov r9d, r14d
movzx eax, byte [rcx + r15 + 0x1bcf38]
movzx edx, byte [rcx + r15 + 0x1bcf3c]
mov rcx, rsi
mov byte [r13 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r13 + 0x30], eax
call fcn.1400c2390
inc eax
mov byte [r13 + 0x2f], 1
mov dword [r13 + 0x34], eax
jmp 0x1400d3850
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 0x1400d3990
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r14 + 0x12]
mov ebx, ebp
test cl, 6
jne 0x1400d3972
mov rax, qword [r14 + 0x38]
test qword [r13 + 0x50], rax
je 0x1400d38a4
mov byte [r15 + 0x3e], 1
jmp 0x1400d3972
cmp dword [r13], 0
mov r15, qword [r14]
je 0x1400d38b9
test byte [r15 + 4], 1
je 0x1400d3972
test r9w, cx
je 0x1400d3923
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 0x1400d38f2
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.14007f7e0
mov ebx, eax
jmp 0x1400d3923
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.1400a28e0
test ebx, ebx
je 0x1400d396c
mov edx, dword [rsi + 0xb8]
jns 0x1400d3948
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
je 0x1400d395a
lea rax, [0x14022c7b8]
jmp 0x1400d3969
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 0x1400d3880
mov r12, qword [rsp + 0xd8]
mov r14d, dword [r12 + 0x14]
mov rbx, qword [r12 + 0x20]
test r14d, r14d
jle 0x1400d3a9b
mov esi, dword [rsp + 0x40]
nop
test byte [rbx + 0x12], 6
jne 0x1400d3a83
movzx eax, word [rbx + 0x14]
mov edx, VariantTimeToDosDateTime
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1400d3a83
cmp dword [rbx + 0x1c], esi
jne 0x1400d3a83
cmp dword [r13], 0
jne 0x1400d3a83
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.1400d49e0
test rax, rax
je 0x1400d3a83
test byte [rax + 0x12], 4
jne 0x1400d3a83
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.1400a28e0
dec r14d
add rbx, 0x40
test r14d, r14d
jg 0x1400d39b0
mov rsi, qword [rsp + 0xc0]
mov r9d, dword [r13]
test r9d, r9d
je 0x1400d3b98
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 0x1400d3adb
mov eax, 1
mov dword [rsp + 0x20], ebp
mov r8d, eax
mov rcx, rsi
lea edx, [rax + 0x4b]
call fcn.14007f7e0
jmp 0x1400d3b0d
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 0x1400d3b4d
lea rdx, [rdi + 0xd0]
nop dword [rax]
cmp byte [rdx - 6], 0
je 0x1400d3b3d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400d3b3d
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 0x1400d3b20
mov byte [rdi + 0x25], 0
cmp dword [r12 + 0x14], 0
mov rbx, qword [r12 + 0x20]
jle 0x1400d3b98
nop
test byte [rbx + 0x12], 6
jne 0x1400d3b8b
mov rax, qword [rbx + 0x38]
test qword [r13 + 0x50], rax
jne 0x1400d3b8b
mov r8d, dword [rsp + 0x78]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400a28e0
or word [rbx + 0x12], 4
inc ebp
add rbx, 0x40
cmp ebp, dword [r12 + 0x14]
jl 0x1400d3b60
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