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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov r11, qword [rbp + 0xb0]
lea rax, [r8 + 0x68]
mov r12, qword [rcx]
xor r15d, r15d
mov qword [rbp - 0x28], rax
mov rsi, rdx
mov edi, r9d
mov qword [rbp - 0x40], r15
movzx eax, byte [r11 + 0x34]
mov r9, r8
mov rbx, qword [r11 + 0x50]
lea r14d, [r15 + 1]
imul rdx, rax, 0x70
mov rax, qword [r8 + 8]
mov r13, rcx
movsxd r8, dword [r8 + 0x294]
add rax, 8
add rax, rdx
mov qword [rbp - 0x68], r12
mov qword [rsp + 0x68], rbx
mov edx, r15d
mov qword [rbp - 0x48], rax
mov r10d, dword [rax + 0x44]
mov dword [rsp + 0x40], r10d
test r8, r8
jle 0x1401eadde
mov ecx, r15d
lea rax, [r9 + 0x298]
cmp dword [rax], r10d
je 0x1401eae85
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1401eadc7
mov rax, r15
not rax
mov ecx, edi
and rax, qword [rbp + 0xb8]
mov qword [r11 + 0x58], rax
mov r10, qword [r9 + 0x60]
shr r10, cl
and r10d, r14d
mov r14d, dword [r13 + 0x44]
dec r14d
mov qword [rsp + 0x78], r10
mov dword [r13 + 0x44], r14d
mov dword [r11 + 0x10], r14d
mov dword [r11 + 0xc], r14d
mov eax, dword [r13 + 0x44]
dec eax
mov dword [rsp + 0x70], r14d
mov dword [r13 + 0x44], eax
mov dword [rbp - 0x4c], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x34], r15b
jbe 0x1401eaebc
mov rax, qword [rbp - 0x48]
test byte [rax + 0x3c], 8
je 0x1401eaebc
mov edx, dword [r13 + 0x38]
inc edx
mov dword [r13 + 0x38], edx
mov dword [r11], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401eae92
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x45]
call fcn.1401925a0
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0xb0]
mov r9, qword [rbp + 0xa0]
jmp 0x1401eaebc
mov ecx, edx
mov rax, r14
shl rax, cl
jmp 0x1401eade1
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov edx, edi
test edi, edi
jle 0x1401eaedd
movsxd rax, edx
lea rcx, [rax + rax*2]
shl rcx, 5
cmp dword [rcx + r9 + 0x398], r15d
jne 0x1401eaedd
dec edx
test edx, edx
jg 0x1401eaec2
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x48]
shl rcx, 5
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r9 + 0x3a4]
test r8b, 0x10
je 0x1401eafdd
movsxd rcx, dword [rsi + 0x90]
mov ebx, dword [rax + 0x34]
mov edx, dword [rax + 0x30]
cmp dword [rsi + 0x94], ecx
jg 0x1401eaf2f
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.1401925a0
jmp 0x1401eaf5c
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1401eaf9a
mov r9d, r14d
mov dword [rsp + 0x20], r15d
mov r8d, ebx
mov edx, 0xe
mov rcx, rsi
call fcn.1401925a0
mov r11, qword [rbp + 0xb0]
mov edx, eax
mov dword [r11 + 0x3c], eax
mov byte [r11 + 0x35], VariantTimeToDosDateTime
jmp 0x1401ed058
mov r11, qword [rbp + 0xb0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [r11 + 0x3c], edx
mov byte [r11 + 0x35], VariantTimeToDosDateTime
jmp 0x1401ed058
mov edx, dword [rbx + 0x28]
mov eax, 0x400
test eax, edx
je 0x1401eb6bb
movzx r14d, word [rbx + 0x2c]
lea ecx, [r14 + 2]
cmp ecx, 1
jne 0x1401eb02d
movzx eax, byte [r13 + 0x1f]
test al, al
jne 0x1401eb014
inc dword [r13 + 0x38]
mov eax, dword [r13 + 0x38]
mov dword [rbp + 0xa8], eax
jmp 0x1401eb063
dec al
movzx eax, al
mov byte [r13 + 0x1f], al
mov eax, dword [r13 + rax*4 + 0xd4]
mov dword [rbp + 0xa8], eax
jmp 0x1401eb063
mov edx, dword [r13 + 0x28]
mov r8d, dword [r13 + 0x2c]
mov dword [rbp + 0xa8], r8d
cmp ecx, edx
jg 0x1401eb050
lea eax, [rcx + r8]
sub edx, ecx
mov dword [r13 + 0x2c], eax
mov dword [r13 + 0x28], edx
jmp 0x1401eb063
mov eax, dword [r13 + 0x38]
lea edx, [rax + 1]
add eax, ecx
mov dword [r13 + 0x38], eax
mov dword [rbp + 0xa8], edx
mov r12d, dword [r11 + 0xc]
mov ebx, r15d
test r14d, r14d
je 0x1401eb0fe
mov r13d, dword [rbp + 0xa8]
mov rdi, r15
mov rsi, qword [rsp + 0x78]
add r13d, 2
mov r15, qword [rbp + 0x90]
nop dword [rax]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x1401eb0e9
test byte [rdx + 0x14], 1
lea r8d, [rbx + r13]
mov rcx, r15
je 0x1401eb0d0
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r11
mov dword [rsp + 0x20], esi
call fcn.1401834a0
mov r11, qword [rbp + 0xb0]
mov r12d, dword [r11 + 0x10]
jmp 0x1401eb0e9
mov rdx, qword [rdx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.140183bb0
mov r11, qword [rbp + 0xb0]
inc ebx
add rdi, 8
cmp ebx, r14d
jl 0x1401eb090
mov rsi, qword [rbp + 0x98]
xor r15d, r15d
mov rdi, qword [rsp + 0x68]
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rdi + 0x18]
cmp dword [rsi + 0x94], ecx
jg 0x1401eb13a
mov r9d, dword [rbp + 0xa8]
mov r8d, edx
mov edx, 0x45
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1401925a0
mov r8d, dword [rbp + 0xa8]
jmp 0x1401eb16f
mov r8d, dword [rbp + 0xa8]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [rsi + 0x90]
lea edx, [r8 + 1]
cmp dword [rsi + 0x94], ecx
jg 0x1401eb1a3
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x45
mov r8d, r14d
mov rcx, rsi
call fcn.1401925a0
mov r8d, dword [rbp + 0xa8]
jmp 0x1401eb1d1
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rdi + 0x1c], 0
mov ebx, 0xffffffff
movsxd rdx, dword [rsi + 0x90]
mov eax, 0xfffffff9
mov rdi, qword [rdi + 0x20]
cmovne ebx, eax
cmp dword [rsi + 0x94], edx
jg 0x1401eb214
mov r9d, r12d
mov dword [rsp + 0x20], r8d
mov r12d, dword [rsp + 0x40]
lea edx, [rax + 0x10]
mov r8d, r12d
mov rcx, rsi
call fcn.1401925a0
mov edx, eax
jmp 0x1401eb24b
mov r9d, dword [rsp + 0x40]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], r12d
mov r12d, r9d
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rsi]
cmp byte [rcx + 0x61], 0
je 0x1401eb260
mov r8, rdi
mov edx, ebx
call fcn.14018f540
jmp 0x1401eb2a1
test edx, edx
jns 0x1401eb26c
mov edx, dword [rsi + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
jne 0x1401eb293
test rdi, rdi
je 0x1401eb2a1
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], bl
jmp 0x1401eb2a1
mov r9d, ebx
mov r8, rdi
mov rcx, rsi
call fcn.1401f5e90
mov r11, qword [rbp + 0xb0]
mov ecx, 0xad
mov r8, qword [rsp + 0x68]
mov eax, 0x3d
mov r9, qword [rbp + 0xa0]
mov byte [r8 + 0x1c], 0
mov dword [r11 + 0x38], r12d
lea r12d, [r14 - 1]
cmp byte [r9 + 0x42], 0
cmovne eax, ecx
movsxd rcx, dword [r11 + 0x40]
mov byte [r11 + 0x35], al
mov eax, dword [rsi + 0x90]
mov dword [r11 + 0x3c], eax
test r12d, r12d
js 0x1401ed05f
mov r13, rcx
lea r14, [r14*8 - 8]
mov edi, 0x48
nop
mov rax, qword [r8 + 0x38]
mov rbx, qword [r14 + rax]
lea rax, [r13 - 1]
movzx edx, word [rbx + 0x14]
and dx, 1
cmove rax, r13
test dx, dx
mov r13, rax
lea eax, [rcx - 1]
cmove eax, ecx
mov dword [rsp + 0x58], eax
cmp r12d, 0x10
jge 0x1401eb3cb
movzx eax, word [r8 + 0x1e]
movzx ecx, r12w
shr ax, cl
test al, 1
je 0x1401eb3cb
test byte [rbx + 0x12], 4
mov edx, r15d
jne 0x1401eb698
cmp dword [r11], 0
je 0x1401eb366
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1401eb698
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
jne 0x1401eb698
test edx, edx
je 0x1401eb394
movzx eax, word [rbx + 0x12]
mov ecx, 0x400
test cx, ax
je 0x1401eb394
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x1401eb399
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x1401eb698
mov rax, qword [rbx + 8]
mov rbx, rcx
shl rbx, 6
add rbx, qword [rax + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1401eb698
inc edx
test byte [rbx + 0x12], 4
je 0x1401eb353
jmp 0x1401eb698
test dx, dx
je 0x1401eb698
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rcx]
cmp al, 0xad
jne 0x1401eb3e6
movzx eax, byte [rcx + 2]
cmp al, 0xae
jne 0x1401eb3f0
mov rax, qword [rcx + 0x20]
jmp 0x1401eb3fc
cmp al, 0x88
jne 0x1401eb405
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jne 0x1401eb698
mov rax, qword [rbp - 0x68]
cmp byte [rax + 0x61], 0
jne 0x1401eb4bc
mov rax, qword [r11 + 0x48]
lea rcx, [r13*4]
add rcx, r13
mov edx, dword [rax + rcx*4 + 4]
test edx, edx
jns 0x1401eb432
mov edx, dword [rsi + 0x90]
dec edx
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x1401eb444
lea rax, [0x1402b2790]
jmp 0x1401eb456
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
movsxd rcx, dword [rsi + 0x90]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [rsi + 0x94], ecx
jg 0x1401eb486
movzx edx, dl
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1401925a0
jmp 0x1401eb4bc
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
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], r15
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
cmp di, word [rcx + 0x17c]
jbe 0x1401eb4f8
cmp dword [rcx + 0x178], 0
jne 0x1401eb4e6
inc dword [rcx + 0x18c]
mov rdx, rdi
jmp 0x1401eb57b
cmp byte [rcx + 0x61], 0
jne 0x1401eb698
mov rdx, rdi
jmp 0x1401eb57b
mov rdi, qword [rcx + 0x1b0]
test rdi, rdi
je 0x1401eb516
mov rax, qword [rdi]
mov qword [rcx + 0x1b0], rax
inc dword [rcx + 0x188]
jmp 0x1401eb583
mov rdi, qword [rcx + 0x1a8]
test rdi, rdi
je 0x1401eb534
mov rax, qword [rdi]
mov qword [rcx + 0x1a8], rax
inc dword [rcx + 0x188]
jmp 0x1401eb583
mov rdi, qword [rcx + 0x1a0]
test rdi, rdi
je 0x1401eb552
mov rax, qword [rdi]
mov qword [rcx + 0x1a0], rax
inc dword [rcx + 0x188]
jmp 0x1401eb583
mov rdi, qword [rcx + 0x198]
test rdi, rdi
je 0x1401eb570
mov rax, qword [rdi]
mov qword [rcx + 0x198], rax
inc dword [rcx + 0x188]
jmp 0x1401eb583
inc dword [rcx + 0x190]
mov edx, 0x48
call fcn.140187990
mov rdi, rax
test rdi, rdi
je 0x1401eb693
xor eax, eax
mov rcx, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x35
call fcn.14018c3a0
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x88]
cmp dword [rdi + 0x28], r8d
jle 0x1401eb5e8
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.1401b46e0
mov rax, qword [rbx]
mov edx, 0x49
mov rbx, qword [rbp - 0x68]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
mov rcx, rbx
call fcn.1401b20a0
mov rcx, rax
test rax, rax
je 0x1401eb64c
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
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xad
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rdi + 0x18], rcx
test rcx, rcx
je 0x1401eb684
mov eax, dword [rbp + 0xa8]
mov r9d, 0x10
add eax, 2
mov rdx, rdi
add eax, r12d
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbp + 0xb0]
mov r8d, dword [rcx + 0x18]
mov rcx, qword [rbp + 0x90]
call fcn.1401b8ab0
mov rdx, rdi
mov qword [rdi + 0x10], r15
mov rcx, rbx
call fcn.1401b8720
mov edi, 0x48
mov r11, qword [rbp + 0xb0]
sub r14, 8
sub r12d, 1
mov ecx, dword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
jns 0x1401eb300
jmp 0x1401ed058
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x1401eb7b1
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov r8, r11
mov rcx, r13
mov rbx, qword [rax]
inc dword [r13 + 0x38]
mov rdx, rbx
mov edi, dword [r13 + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.1401834a0
mov edx, eax
cmp eax, edi
je 0x1401eb71b
test edi, edi
je 0x1401eb71b
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1401eb71b
movzx eax, al
mov dword [r13 + rax*4 + 0xd4], edi
inc byte [r13 + 0x1f]
mov r11, qword [rbp + 0xb0]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r11 + 0x10]
cmp dword [rsi + 0x94], ecx
jg 0x1401eb757
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, dword [rsp + 0x40]
mov edx, 0x1f
mov rcx, rsi
call fcn.1401925a0
mov r11, qword [rbp + 0xb0]
jmp 0x1401eb78a
mov r9d, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9, qword [rbp + 0xa0]
mov r8, r15
mov byte [r11 + 0x35], 0xad
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
jne 0x1401ed062
or word [rbx + 0x12], 4
jmp 0x1401ed062
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x1401eba2a
mov r11, qword [rsp + 0x68]
mov r13d, 0xad
mov dword [rsp + 0x58], r15d
mov r12d, r13d
mov rbx, r15
mov rcx, r15
test dl, 0x20
je 0x1401eb7f0
mov rax, qword [r11 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x1401eb7f3
mov r8, r15
test dl, 0x10
je 0x1401eb800
mov rax, qword [r11 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov rdi, rcx
cmove rdi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x1401eb8f2
mov r14, qword [rbx]
mov dword [rbp + 0xa8], 0x18161719
mov rdx, qword [r14 + 0x18]
mov rcx, rdx
call fcn.1401b9600
mov rcx, qword [rbp + 0x90]
test eax, eax
je 0x1401eb887
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1401eb84b
inc dword [rcx + 0x38]
mov ebx, dword [rcx + 0x38]
jmp 0x1401eb85a
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov ebx, dword [rcx + rax*4 + 0xd4]
mov rdx, qword [r14 + 0x18]
mov r9d, 1
mov r8d, ebx
call fcn.140183bb0
movzx eax, byte [r14]
mov r13d, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xa8]
jmp 0x1401eb8b0
lea r8, [rsp + 0x60]
call fcn.1401b8050
mov rcx, qword [rbp + 0xb0]
mov rdx, rbx
mov r13d, eax
call fcn.1401888f0
movzx eax, byte [r14]
mov ebx, dword [rsp + 0x60]
movzx ecx, byte [rbp + rax + 0x72]
mov r14d, dword [rsp + 0x70]
mov r9d, r14d
mov r8d, dword [rsp + 0x40]
movzx edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.1401da530
mov rcx, qword [rbp + 0x90]
mov r13d, r12d
test ebx, ebx
je 0x1401eb913
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1401eb913
movzx eax, al
mov dword [rcx + rax*4 + 0xd4], ebx
inc byte [rcx + 0x1f]
jmp 0x1401eb913
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x21]
call fcn.1401da4c0
mov rcx, qword [rbp + 0x90]
test rdi, rdi
je 0x1401eb989
mov rbx, qword [rdi]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x58], eax
mov rdx, qword [rbx + 0x18]
call fcn.140183bb0
mov rdx, qword [rbx + 0x18]
mov rcx, rdx
call fcn.1401b9600
test eax, eax
jne 0x1401eb961
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x1401eb961
mov eax, dword [rsp + 0x78]
xor eax, 1
lea r12d, [rax*2 + 0x37]
jmp 0x1401eb96e
mov rax, qword [rsp + 0x78]
lea r12d, [rax*2 + 0x36]
mov rcx, rdx
call fcn.1401b9600
test eax, eax
jne 0x1401eb989
mov rcx, qword [rbp + 0xb0]
mov rdx, rdi
call fcn.1401888f0
mov r11, qword [rbp + 0xb0]
mov ecx, dword [rsi + 0x90]
cmp dword [rsp + 0x78], r15d
mov edx, dword [rsp + 0x40]
sete al
mov dword [r11 + 0x38], edx
add al, 4
mov dword [r11 + 0x3c], ecx
mov byte [r11 + 0x35], al
cmp r12d, r13d
je 0x1401ed058
mov rax, qword [rbp + 0x90]
mov r8d, edx
mov edx, 0x7f
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.1401da4c0
mov r8d, dword [rsp + 0x58]
mov r9d, r14d
mov edx, r12d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.1401da530
movsxd rax, dword [rsi + 0x90]
mov r8, r15
mov r11, qword [rbp + 0xb0]
mov r9, qword [rbp + 0xa0]
test eax, eax
jle 0x1401ed062
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1401ed062
mov eax, 0x200
test eax, edx
je 0x1401ec579
movzx r14d, word [rbx + 0x18]
xor r9b, r9b
mov rax, qword [rsp + 0x68]
mov r13, r15
movzx edi, word [rbx + 0x1a]
mov r12, r15
movzx r10d, word [rbx + 0x1c]
mov ebx, r15d
mov word [rbp - 0x50], r14w
mov r8d, r14d
mov r11, qword [rax + 0x20]
mov rax, qword [rbp + 0xb0]
mov word [rbp - 0x80], di
mov word [rbp - 0x7c], r10w
mov qword [rbp - 0x58], r15
mov eax, dword [rax + 8]
mov dword [rsp + 0x54], eax
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x60], r15
mov byte [rbp + 0xa8], r9b
mov byte [rsp + 0x5c], bl
mov dword [rsp + 0x44], r15d
mov qword [rbp - 0x70], r11
mov dword [rsp + 0x50], r14d
test dl, 0x20
je 0x1401ebaba
mov rax, qword [rsp + 0x68]
inc r8d
movzx ebx, di
mov rax, qword [rax + 0x38]
mov r13, qword [rax + r14*8]
mov qword [rbp - 0x58], r13
test dl, 0x10
je 0x1401ebb8e
mov rax, qword [rsp + 0x68]
movzx edi, r10w
cmp ebx, edi
mov ecx, r8d
mov rax, qword [rax + 0x38]
cmova edi, ebx
mov r12, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rbp - 0x78], r12
test word [r12 + 0x12], ax
je 0x1401ebb49
mov rcx, qword [rbp + 0x90]
mov edx, 0x45
mov rbx, qword [rbp + 0xb0]
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x44]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, rsi
mov dword [rbx + 0x2c], r9d
call fcn.1401da4c0
mov eax, dword [rsi + 0x90]
mov ecx, r15d
shl dword [rbx + 0x2c], 1
mov r11, qword [rbp - 0x70]
mov dword [rbx + 0x30], eax
movzx edx, r14w
mov rax, qword [r11 + 0x38]
cmp byte [rdx + rax], 1
sete cl
xor ecx, dword [rsp + 0x78]
or dword [rbx + 0x2c], ecx
xor r9b, r9b
jmp 0x1401ebb4d
movzx edx, r14w
mov ebx, edi
test r13, r13
jne 0x1401ebb8a
mov rax, qword [r11 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x1401ebb78
mov rax, qword [r11 + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r15b
je 0x1401ebb7e
cmp r8d, 0xfffffffe
jne 0x1401ebb8a
mov r9b, 1
mov ebx, edi
mov byte [rbp + 0xa8], r9b
movzx edi, word [rbp - 0x80]
mov rax, qword [rsp + 0x68]
mov r11, qword [rbp + 0x90]
mov r10, qword [rbp + 0xb0]
mov eax, dword [rax + 0x28]
test al, 0x30
jne 0x1401ebc01
bt eax, 0x13
jae 0x1401ebc01
inc dword [r11 + 0x38]
mov ebx, 1
movzx r9d, bl
mov eax, dword [r11 + 0x38]
mov byte [rbp + 0xa8], bl
mov dword [rsp + 0x44], eax
mov dword [r10 + 0x24], eax
cmp dword [r10], r15d
je 0x1401ebbf5
mov r9d, eax
lea edx, [rbx + 0x44]
xor r8d, r8d
mov rcx, rsi
call fcn.1401da4c0
mov r10, qword [rbp + 0xb0]
movzx r9d, bl
mov r11, qword [rbp + 0x90]
dec dword [r11 + 0x44]
mov eax, dword [r11 + 0x44]
mov dword [r10 + 0x28], eax
mov rax, qword [rbp - 0x70]
movzx r8d, word [rax + 0x5e]
cmp r14w, r8w
jae 0x1401ebc28
mov rax, qword [rax + 0x38]
mov edx, r15d
movzx ecx, r14w
cmp byte [rcx + rax], r15b
sete dl
cmp dword [rsp + 0x78], edx
je 0x1401ebc97
mov rdx, qword [rsp + 0x78]
test edx, edx
je 0x1401ebc37
cmp r8w, r14w
je 0x1401ebc9c
movzx edi, word [rbp - 0x7c]
lea rax, [rbp - 0x40]
mov r8d, edx
mov rdx, r10
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov rcx, r11
call fcn.1401828d0
mov r12, qword [rbp - 0x40]
mov r8d, eax
mov dword [rsp + 0x48], eax
test r12, r12
je 0x1401ebc83
test di, di
je 0x1401ebc83
mov rcx, qword [rbp - 0x68]
movzx edx, r14w
add rdx, r12
call fcn.1401b2380
mov r8d, dword [rsp + 0x48]
mov qword [rbp - 0x60], rax
mov edx, dword [rsp + 0x44]
mov rax, qword [rbp + 0xb0]
test edx, edx
je 0x1401ebccb
mov eax, dword [rax + 0x28]
jmp 0x1401ebcce
mov rdx, qword [rsp + 0x78]
movzx ecx, word [rbp - 0x7c]
movzx eax, dil
mov qword [rbp - 0x78], r13
movzx edi, ax
mov word [rbp - 0x80], cx
mov r13, r12
mov word [rbp - 0x7c], ax
mov qword [rbp - 0x58], r12
mov byte [rsp + 0x5c], r9b
mov byte [rbp + 0xa8], r15b
jmp 0x1401ebc3b
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x4c], eax
test r13, r13
je 0x1401ebcea
test byte [r13 + 0x14], 0x28
jne 0x1401ebcea
mov dword [rsp + 0x70], r15d
mov ecx, 1
jmp 0x1401ebcf3
mov ecx, 1
mov dword [rsp + 0x70], ecx
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1401ebd07
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x60], r15d
je 0x1401ebd0b
mov dword [rsp + 0x60], ecx
test r13, r13
jne 0x1401ebd55
test r14w, r14w
jne 0x1401ebd55
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x58], r15d
movzx ebx, byte [rbp + 0xa8]
mov edi, ecx
test bl, bl
je 0x1401ebf7b
lea r9d, [r8 + rcx]
mov dword [rsp + 0x70], r15d
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x48]
call fcn.1401da4c0
inc edi
mov r14d, 1
jmp 0x1401ebe64
mov dword [rsp + 0x58], ecx
movzx ecx, r14w
mov edi, ecx
test r13, r13
je 0x1401ebd1f
mov rax, qword [r13]
lea r13d, [rcx + r8]
movzx r14d, word [rbp - 0x80]
mov r8d, r13d
mov rcx, qword [rbp + 0x90]
mov r9d, r14d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.140183bb0
mov rax, qword [rbp - 0x58]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x1401ebde1
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x1401ebdb3
lea rcx, [0x1402b2790]
jmp 0x1401ebdc5
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xb0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1401b51e0
test eax, eax
je 0x1401ebe02
mov r9d, dword [rsp + 0x4c]
mov r8d, r13d
mov edx, 0x32
mov rcx, rsi
call fcn.1401da4c0
test r12, r12
je 0x1401ebe1a
movzx r8d, word [rbp - 0x50]
mov edx, r14d
add r8, r12
mov rcx, rbx
call fcn.1401f4de0
movzx eax, byte [rbx]
add edi, r14d
cmp al, 0xad
jne 0x1401ebe28
movzx eax, byte [rbx + 2]
cmp al, 0xae
jne 0x1401ebe32
mov rax, qword [rbx + 0x20]
jmp 0x1401ebe3e
cmp al, 0x88
jne 0x1401ebe4d
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401ebe4d
mov dword [rsp + 0x70], 1
jmp 0x1401ebe5d
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0xb0]
call fcn.1401888f0
xor bl, bl
mov r14d, dword [rsp + 0x58]
mov rcx, qword [rbp + 0x90]
mov r8d, edi
movzx eax, bl
mov r9, r12
mov dword [rbp + 0xa8], eax
sub r8d, eax
mov eax, dword [rsp + 0x48]
mov edx, eax
call fcn.140182d80
mov rcx, qword [rsp + 0x68]
lea r13, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x1401ebea8
movzx eax, ax
cmp edi, eax
je 0x1401ebfa3
test dword [rcx + 0x28], 0x40000
je 0x1401ebec3
mov r8d, dword [rsp + 0x54]
mov edx, 0x76
mov rcx, rsi
call fcn.1401da450
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x1401ebedf
mov edx, 0x45
mov r9d, eax
mov rcx, rsi
lea r8d, [rdx - 0x44]
call fcn.1401da4c0
mov rcx, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x54]
mov dword [rsp + 0x28], edi
lea eax, [rbx + r14*2]
mov r14d, dword [rsp + 0x48]
lea ecx, [rcx + rax*2]
mov dword [rsp + 0x20], r14d
movzx edx, byte [rcx + r13 + 0x24d770]
mov rcx, rsi
call fcn.1401da630
cmp dword [rsp + 0x44], r15d
je 0x1401ebfa8
mov r9d, dword [rsi + 0x90]
xor r8d, r8d
add r9d, 2
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1401da4c0
mov r9d, dword [rsp + 0x4c]
mov eax, 2
mov r8d, dword [rsp + 0x54]
mov edx, 6
mov ecx, edi
sub ecx, ebx
mov dword [rsp + 0x28], ecx
cmp edi, 1
mov rcx, rsi
mov dword [rsp + 0x20], r14d
cmova eax, edx
add eax, dword [rsp + 0x78]
movzx edx, byte [rax + r13 + 0x24d770]
call fcn.1401da630
jmp 0x1401ebfa8
test edx, edx
je 0x1401ebe5f
lea r9d, [r8 + rcx]
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x48]
call fcn.1401da4c0
inc edi
mov r14d, 1
jmp 0x1401ebe64
mov r14d, dword [rsp + 0x48]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1401ec0ff
movzx ecx, word [rbp - 0x7c]
mov rax, qword [rax]
mov edi, ecx
add r14d, dword [rsp + 0x50]
mov r9d, ecx
mov rcx, qword [rbp + 0x90]
mov r8d, r14d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.140183bb0
mov rax, qword [rbp - 0x78]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x1401ec033
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x1401ec005
lea rcx, [0x1402b2790]
jmp 0x1401ec017
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xb0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.1401b51e0
test eax, eax
je 0x1401ec054
mov r9d, dword [rsp + 0x4c]
mov r8d, r14d
mov edx, 0x32
mov rcx, rsi
call fcn.1401da4c0
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1401ec083
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.1401f4de0
mov rax, qword [rbp - 0x60]
mov r8d, edi
mov rcx, qword [rbp + 0x90]
mov r9, rax
mov edx, r14d
call fcn.140182d80
mov r14d, dword [rsp + 0x50]
movzx eax, byte [rbx]
add r14d, edi
cmp al, 0xad
jne 0x1401ec096
movzx eax, byte [rbx + 2]
cmp al, 0xae
jne 0x1401ec0a0
mov rax, qword [rbx + 0x20]
jmp 0x1401ec0ac
cmp al, 0x88
jne 0x1401ec0b8
mov rax, qword [rbx + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x1401ec0b8
mov edi, 1
jmp 0x1401ec0cc
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0xb0]
call fcn.1401888f0
mov edi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x44]
mov r8, qword [rbp - 0x68]
test r12, r12
je 0x1401ec189
test r8, r8
je 0x1401ec17d
cmp qword [r8 + 0x2d8], r15
je 0x1401ec13a
mov rdx, r12
mov rcx, r8
call fcn.140195eb0
jmp 0x1401ec185
mov r14d, dword [rsp + 0x50]
cmp byte [rsp + 0x5c], r15b
je 0x1401ec0c8
mov ebx, dword [rsp + 0x44]
test ebx, ebx
jne 0x1401ec131
mov r9d, dword [rsp + 0x48]
lea edx, [rbx + 0x48]
add r9d, r14d
xor r8d, r8d
mov rcx, rsi
call fcn.1401da4c0
inc r14d
mov edi, r15d
jmp 0x1401ec0d0
mov edi, dword [rsp + 0x60]
inc r14d
jmp 0x1401ec0d0
cmp r12, qword [r8 + 0x1c8]
jae 0x1401ec17d
cmp r12, qword [r8 + 0x1b8]
jb 0x1401ec160
mov rax, qword [r8 + 0x1b0]
mov qword [r12], rax
mov qword [r8 + 0x1b0], r12
jmp 0x1401ec189
cmp r12, qword [r8 + 0x1c0]
jb 0x1401ec17d
mov rax, qword [r8 + 0x1a0]
mov qword [r12], rax
mov qword [r8 + 0x1a0], r12
jmp 0x1401ec189
mov rcx, r12
call fcn.14016c150
mov r8, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1401ec1f3
test r8, r8
je 0x1401ec1ee
cmp qword [r8 + 0x2d8], r15
je 0x1401ec1ad
mov rdx, rcx
mov rcx, r8
call fcn.140195eb0
jmp 0x1401ec1f3
cmp rcx, qword [r8 + 0x1c8]
jae 0x1401ec1ee
cmp rcx, qword [r8 + 0x1b8]
jb 0x1401ec1d2
mov rax, qword [r8 + 0x1b0]
mov qword [rcx], rax
mov qword [r8 + 0x1b0], rcx
jmp 0x1401ec1f3
cmp rcx, qword [r8 + 0x1c0]
jb 0x1401ec1ee
mov rax, qword [r8 + 0x1a0]
mov qword [rcx], rax
mov qword [r8 + 0x1a0], rcx
jmp 0x1401ec1f3
call fcn.14016c150
mov rcx, qword [rbp + 0xb0]
mov eax, dword [rsi + 0x90]
mov dword [rcx + 0x3c], eax
test r14d, r14d
je 0x1401ec25c
test ebx, ebx
je 0x1401ec227
mov r9d, dword [rsi + 0x90]
mov r8d, ebx
add r9d, 3
mov edx, 0x14
mov rcx, rsi
call fcn.1401da4c0
mov rax, qword [rsp + 0x78]
mov rcx, rsi
mov r12d, dword [rsp + 0x4c]
mov r9d, r12d
mov r8d, dword [rsp + 0x54]
mov dword [rsp + 0x28], r14d
lea eax, [rdi + rax*2]
mov edi, dword [rsp + 0x48]
movzx edx, byte [rax + r13 + 0x24d76c]
mov dword [rsp + 0x20], edi
call fcn.1401da630
jmp 0x1401ec265
mov edi, dword [rsp + 0x48]
mov r12d, dword [rsp + 0x4c]
test ebx, ebx
je 0x1401ec2bc
mov r9d, dword [rsi + 0x90]
mov r8d, ebx
add r9d, 2
mov edx, 0x12
mov rcx, rsi
call fcn.1401da4c0
mov eax, dword [rbp + 0xa8]
mov r9d, r12d
mov rcx, qword [rsp + 0x78]
lea r8d, [r14 + rax]
mov dword [rsp + 0x28], r8d
lea eax, [rax + rcx*2]
movzx edx, byte [rax + r13 + 0x24d76c]
mov rcx, rsi
mov dword [rsp + 0x20], edi
mov edi, dword [rsp + 0x54]
mov r8d, edi
call fcn.1401da630
jmp 0x1401ec2c0
mov edi, dword [rsp + 0x54]
mov r14, qword [rsp + 0x68]
test dword [r14 + 0x28], 0x40000
je 0x1401ec2f9
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401ec31e
mov eax, 1
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov r8d, edi
mov rcx, rsi
lea edx, [rax + 0x75]
call fcn.1401925a0
mov edx, 1
test byte [r14 + 0x28], 0x40
je 0x1401ec34e
mov rbx, qword [rbp + 0xa0]
test byte [rbx + 0x3c], 0x20
jne 0x1401ec34e
mov r13, qword [rbp - 0x70]
mov r12d, edx
jmp 0x1401ec4dd
lea eax, [rcx + 1]
mov edx, 1
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x1401ec2fe
mov r13, qword [rbp - 0x70]
mov r12d, r15d
mov rbx, qword [r13 + 0x18]
test byte [rbx + 0x40], 0x80
jne 0x1401ec3ef
mov rbx, qword [rbp + 0xa0]
mov ecx, 0x400
movzx eax, word [rbx + 0x3c]
test cx, ax
jne 0x1401ec3a9
mov ecx, 0x1000
test cx, ax
je 0x1401ec38f
cmp byte [rbx + 0x42], 1
je 0x1401ec3a9
cmp word [r14 + 0x2c], r15w
je 0x1401ec3a9
mov r9d, edi
mov rdx, r13
mov edi, dword [rsp + 0x40]
mov rcx, rbx
mov r8d, edi
call fcn.1401831b0
jmp 0x1401ec4e1
mov rax, qword [rbp + 0x90]
mov r8d, edi
mov edx, 0x86
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.1401da4c0
mov edi, dword [rsp + 0x40]
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], ebx
mov rcx, rsi
lea edx, [r9 + 0x20]
call fcn.1401da530
mov rbx, qword [rbp + 0xa0]
jmp 0x1401ec4e1
cmp dword [rsp + 0x40], edi
je 0x1401ec4d6
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1401ec414
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401ec414
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401ec402
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0x90]
call fcn.1401c0a20
mov r14d, eax
mov edi, r15d
movzx eax, word [rbx + 0x5e]
cmp r15w, ax
jae 0x1401ec4a4
mov r12d, dword [rsp + 0x54]
mov r11d, 0xffffffff
nop
movzx r8d, word [r13 + 0x60]
mov edx, r15d
test r8d, r8d
je 0x1401ec471
mov rax, qword [rbx + 8]
mov r9, qword [r13 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x1401ec475
inc edx
cmp edx, r8d
jl 0x1401ec460
movzx edx, r11w
lea eax, [rdi + r14]
movsx r9d, dx
mov edx, 0x59
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, rsi
call fcn.1401da530
movzx eax, word [rbx + 0x5e]
inc edi
mov r11d, 0xffffffff
cmp edi, eax
jl 0x1401ec440
mov r12d, r15d
mov edi, dword [rsp + 0x40]
mov edx, 0x1d
mov r9d, dword [rbp - 0x4c]
mov r8d, edi
movzx eax, ax
mov rcx, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1401da630
mov r14, qword [rsp + 0x68]
mov rbx, qword [rbp + 0xa0]
jmp 0x1401ec4e1
mov rbx, qword [rbp + 0xa0]
mov edi, dword [rsp + 0x40]
mov rax, qword [rbp + 0xb0]
cmp dword [rax], r15d
jne 0x1401ec519
test byte [rbx + 0x3c], 0x20
jne 0x1401ec505
mov r8d, dword [rsp + 0x54]
mov r9, rbx
mov edx, edi
mov rcx, r13
call fcn.1401fcdc0
mov rcx, qword [r13 + 0x48]
test rcx, rcx
je 0x1401ec519
lea r8, [rbx + 0x68]
mov edx, edi
call fcn.1401fc9a0
mov r11, qword [rbp + 0xb0]
mov eax, 0x1000
test dword [r14 + 0x28], eax
je 0x1401ec532
mov byte [r11 + 0x35], 0xad
jmp 0x1401ec540
cmp dword [rsp + 0x78], r15d
sete al
add al, 4
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x54]
mov dword [r11 + 0x38], eax
movzx eax, byte [r14 + 0x2a]
and al, 1
mov byte [r11 + 0x36], al
test byte [r14 + 0x28], 0xf
jne 0x1401ec55f
mov byte [r11 + 0x37], 1
mov r9, qword [rbp + 0xa0]
test r12d, r12d
mov r8, r15
cmove r8, r13
mov qword [rbp - 0x40], r8
jmp 0x1401ed062
bt edx, 0xd
jae 0x1401ed006
dec dword [r13 + 0x44]
inc dword [r13 + 0x38]
mov eax, dword [r13 + 0x34]
mov edx, dword [r13 + 0x38]
mov dword [rsp + 0x54], eax
inc eax
mov dword [r13 + 0x34], eax
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x38], r15
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x48], r15d
mov rcx, qword [rax + 0x20]
mov rax, qword [rbx + 0x38]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x70], r15d
mov qword [rbp - 0x58], r15
mov r14, qword [rax]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x20], r14
mov rax, qword [r14 + 0x28]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0xa0]
mov byte [r11 + 0x35], 0x41
mov dword [r11 + 0x38], edx
movzx eax, byte [rax + 0x40]
cmp al, 1
jbe 0x1401ec751
movzx ebx, al
sub ebx, edi
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
add rcx, 0x78
test r12, r12
je 0x1401ec61f
mov rdx, rcx
mov rcx, r12
call fcn.1401b20a0
jmp 0x1401ec624
call fcn.1401c6070
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
jne 0x1401ec63d
mov rax, qword [rbp + 0xb8]
jmp 0x1401ed455
mov r11, qword [rbp + 0xa0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x48]
mov dword [r12 + 4], ecx
mov dword [r12], ecx
movups xmm0, xmmword [rax]
movups xmmword [r12 + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r12 + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r12 + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r12 + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r12 + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r12 + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r12 + 0x68], xmm0
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x1401ec71c
mov r8, qword [rbp + 0xb0]
lea rdx, [r12 + 0x78]
add r8, 0x94
mov r9d, ebx
nop dword [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x60]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x1401ec6c0
mov rcx, qword [rbp - 0x60]
test byte [r11 + 0x3c], 0x10
jne 0x1401ec7bd
test byte [rcx + 0x40], 0x80
jne 0x1401ec763
inc dword [r13 + 0x38]
xor r8d, r8d
mov eax, dword [r13 + 0x38]
mov rcx, rsi
mov r9d, eax
mov dword [rsp + 0x48], eax
lea edx, [r8 + 0x48]
call fcn.1401da4c0
jmp 0x1401ec7b1
mov r11, qword [rbp + 0xa0]
mov r12, qword [r11 + 8]
mov qword [rsp + 0x68], r12
jmp 0x1401ec720
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x1401ec782
nop dword [rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401ec782
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401ec770
mov edi, dword [r13 + 0x34]
mov edx, 0x64
mov r8d, edi
mov dword [rsp + 0x48], edi
mov rcx, rsi
lea eax, [rdi + 1]
mov dword [r13 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.1401da4c0
mov rdx, rbx
mov rcx, r13
call fcn.1401e73c0
inc dword [r13 + 0x38]
mov eax, dword [r13 + 0x38]
mov dword [rsp + 0x44], eax
movsxd rdx, dword [rsi + 0x90]
mov dword [rbp - 0x50], edx
cmp dword [rsi + 0x94], edx
jg 0x1401ec7ed
mov r9d, dword [rsp + 0x60]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x45]
call fcn.1401925a0
mov dword [rbp - 0x50], eax
jmp 0x1401ec81b
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x60]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rbp - 0x28]
mov eax, dword [rcx + 0x14]
cmp eax, 1
jle 0x1401ec8df
mov ebx, r15d
test eax, eax
jle 0x1401ec8df
mov rsi, qword [rbp - 0x68]
mov rdi, r15
mov edx, 0x1fff
mov r12, r15
nop word [rax + rax]
mov rcx, qword [rcx + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
cmp rax, r14
je 0x1401ec8a3
test byte [rcx + rdi + 0x12], 6
jne 0x1401ec8a3
test word [rcx + rdi + 0x14], dx
je 0x1401ec8a3
mov rdx, qword [rcx + rdi]
test rdx, rdx
je 0x1401ec88a
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.14018b4b0
jmp 0x1401ec88d
mov rax, r15
mov r8, rax
mov rdx, r12
mov rcx, r13
call fcn.1401b4d50
mov r12, rax
mov edx, 0x1fff
mov rcx, qword [rbp - 0x28]
inc ebx
add rdi, 0x40
cmp ebx, dword [rcx + 0x14]
jl 0x1401ec850
mov rsi, qword [rbp + 0x98]
test r12, r12
mov qword [rbp - 0x58], r12
mov r12, qword [rsp + 0x68]
je 0x1401ec8df
mov r9, qword [rbp - 0x58]
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r13
call fcn.1401c6fc0
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0xa0]
lea r8, str.MULTI_INDEX_OR
mov ebx, 0x400
mov edx, 1
mov rcx, r13
movzx eax, word [rax + 0x3c]
and ax, bx
or ax, 0x20
mov word [rbp + 0xa8], ax
call fcn.1401e34c0
mov rax, qword [rbp - 0x30]
mov edi, r15d
mov dword [rsp + 0x50], r15d
cmp dword [rax + 0x14], r15d
jle 0x1401ecda7
mov ecx, dword [rsp + 0x40]
mov r13, r15
mov qword [rbp - 0x70], r15
mov rax, qword [rax + 0x20]
cmp dword [rax + r13 + 0x1c], ecx
je 0x1401ec949
test word [rax + r13 + 0x14], bx
je 0x1401ecd81
mov rbx, qword [rax + r13]
mov r14d, r15d
mov rax, qword [rbp - 0x58]
mov dword [rsp + 0x78], r15d
test rax, rax
je 0x1401ec965
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0x90]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.1401e34c0
mov eax, dword [rsp + 0x54]
xor r9d, r9d
mov rcx, qword [rbp + 0x90]
mov r8, rbx
mov dword [rsp + 0x30], eax
mov rdx, r12
movzx eax, word [rbp + 0xa8]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
call fcn.1401e9ea0
mov qword [rbp - 0x78], rax
mov rbx, rax
test rax, rax
je 0x1401ecd78
mov rcx, qword [rbp + 0x90]
lea r8, [rax + 0x398]
xor r9d, r9d
mov rdx, r12
call fcn.1401ee160
mov rax, qword [rbp + 0xa0]
test byte [rax + 0x3c], 0x10
jne 0x1401ecc24
mov rax, qword [rbp - 0x30]
mov ebx, edi
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp - 0x60]
dec ecx
cmp edi, ecx
mov ecx, 0xffffffff
cmove ebx, ecx
test byte [rax + 0x40], 0x80
mov dword [rbp - 0x80], ebx
jne 0x1401eca4d
mov r14d, dword [rsp + 0x44]
mov r9d, ecx
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
mov rdx, rax
mov dword [rsp + 0x20], r14d
call fcn.1401b58d0
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x28], ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
lea edx, [r9 + 0x2d]
call fcn.1401da630
mov r14d, eax
jmp 0x1401ecc20
mov rcx, rax
call fcn.1401ce000
mov rdx, qword [rbp + 0x90]
mov r14, rax
movzx r13d, word [rax + 0x5e]
cmp r13d, 1
jne 0x1401eca8b
movzx ecx, byte [rdx + 0x1f]
test cl, cl
jne 0x1401eca7a
inc dword [rdx + 0x38]
mov edi, dword [rdx + 0x38]
jmp 0x1401ecab5
dec cl
movzx eax, cl
mov byte [rdx + 0x1f], al
mov edi, dword [rdx + rax*4 + 0xd4]
jmp 0x1401ecab5
mov ecx, dword [rdx + 0x28]
mov edi, dword [rdx + 0x2c]
mov dword [rsp + 0x4c], edi
cmp r13d, ecx
jg 0x1401ecaa9
lea eax, [rdi + r13]
sub ecx, r13d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x1401ecab9
mov eax, dword [rdx + 0x38]
lea edi, [rax + 1]
add eax, r13d
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x4c], edi
mov rbx, r15
mov r12, r13
test r13d, r13d
je 0x1401ecafb
mov r15, qword [rbp - 0x60]
mov r13d, dword [rsp + 0x40]
nop dword [rax]
mov rax, qword [r14 + 8]
mov r8d, r13d
mov rdx, r15
mov dword [rsp + 0x20], edi
mov rcx, rsi
movsx r9d, word [rax + rbx*2]
call fcn.1401b58d0
inc edi
inc rbx
cmp rbx, r12
jl 0x1401ecad0
xor r15d, r15d
mov r13d, r12d
mov edi, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x48]
test edi, edi
je 0x1401ecb2b
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov r8d, r12d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
lea edx, [r9 + 0x1e]
call fcn.1401da630
mov r14d, eax
jmp 0x1401ecb30
mov r14d, dword [rsp + 0x78]
test edi, edi
js 0x1401ecbd3
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rsp + 0x44]
cmp dword [rsi + 0x94], ecx
jg 0x1401ecb64
mov dword [rsp + 0x20], edx
mov r9d, r13d
mov edx, 0x5b
mov r8d, ebx
mov rcx, rsi
call fcn.1401925a0
jmp 0x1401ecb91
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5b
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rsp + 0x44]
mov r8d, r12d
mov dword [rsp + 0x28], r13d
mov edx, 0x82
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1401da630
test edi, edi
je 0x1401ecbd3
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1401ecbd3
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov edi, dword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
cmp r13d, 1
jne 0x1401ecc08
test ebx, ebx
je 0x1401ecc1c
mov rdx, qword [rbp + 0x90]
mov r13, qword [rbp - 0x70]
movzx eax, byte [rdx + 0x1f]
cmp al, 8
jae 0x1401ecc20
movzx eax, al
mov dword [rdx + rax*4 + 0xd4], ebx
inc byte [rdx + 0x1f]
jmp 0x1401ecc20
mov rdx, qword [rbp + 0x90]
cmp r13d, dword [rdx + 0x28]
jle 0x1401ecc1c
mov dword [rdx + 0x28], r13d
mov dword [rdx + 0x2c], ebx
mov r13, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x78]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401ecc51
mov r9d, dword [rsp + 0x58]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.1401925a0
jmp 0x1401ecc86
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test r14d, r14d
je 0x1401eccc1
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x1401ecca3
lea rax, [0x1402b2790]
jmp 0x1401eccbe
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test byte [rbx + 0x44], 2
mov ecx, 1
mov eax, dword [rsp + 0x70]
mov rdx, qword [rbx + 0x3e8]
cmovne eax, ecx
mov dword [rsp + 0x70], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x1401ecd17
test edi, edi
je 0x1401eccf4
mov rax, qword [rbp - 0x38]
cmp qword [rdx + 0x20], rax
jne 0x1401ecd17
mov rax, qword [rbp - 0x60]
test byte [rax + 0x40], 0x80
je 0x1401ecd0d
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x1401ecd17
mov r14, qword [rdx + 0x20]
mov qword [rbp - 0x38], r14
jmp 0x1401ecd1b
mov qword [rbp - 0x38], r15
mov rcx, rbx
call fcn.1401ed470
mov r8, qword [rbp + 0x90]
mov ecx, dword [r8 + 0x128]
test ecx, ecx
jne 0x1401ecd3a
mov eax, r15d
jmp 0x1401ecd71
mov rdx, qword [r8 + 0x10]
test ecx, ecx
jns 0x1401ecd4a
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x1401ecd5c
lea rax, [0x1402b2790]
jmp 0x1401ecd6e
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [r8 + 0x128], eax
mov ecx, dword [rsp + 0x40]
mov ebx, 0x400
mov rax, qword [rbp - 0x30]
inc edi
add r13, 0x40
mov dword [rsp + 0x50], edi
mov qword [rbp - 0x70], r13
cmp edi, dword [rax + 0x14]
jl 0x1401ec932
mov r14, qword [rbp - 0x20]
mov r13, qword [rbp + 0x90]
mov ecx, dword [r13 + 0x128]
test ecx, ecx
jne 0x1401ecdb7
mov eax, r15d
jmp 0x1401ecdee
mov rdx, qword [r13 + 0x10]
test ecx, ecx
jns 0x1401ecdc7
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x1401ecdd9
lea rax, [0x1402b2790]
jmp 0x1401ecdeb
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xb0]
mov dword [r13 + 0x128], eax
mov rax, qword [rbp - 0x38]
mov qword [r8 + 0x40], rax
test rax, rax
je 0x1401ece11
mov eax, dword [rsp + 0x54]
mov dword [r8 + 8], eax
mov rax, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x68]
test rax, rax
je 0x1401ece34
mov rdx, rax
mov qword [rax + 0x10], r15
mov rcx, rbx
call fcn.1401b8720
mov r8, qword [rbp + 0xb0]
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x1401ece4c
lea rax, [0x1402b2790]
jmp 0x1401ece68
mov ecx, dword [rbp - 0x50]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r8 + 0xc]
cmp dword [rsi + 0x94], ecx
jg 0x1401ece97
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1401925a0
jmp 0x1401ecec1
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401ecee0
mov r8d, edx
mov rdx, rsi
call fcn.1401a1050
jmp 0x1401ecef0
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov r9, qword [rbp + 0xa0]
cmp byte [r9 + 0x40], 1
jbe 0x1401ecf71
test r12, r12
je 0x1401ecf71
test rbx, rbx
je 0x1401ecf62
cmp qword [rbx + 0x2d8], 0
je 0x1401ecf1f
mov rdx, r12
mov rcx, rbx
call fcn.140195eb0
jmp 0x1401ecf6a
cmp r12, qword [rbx + 0x1c8]
jae 0x1401ecf62
cmp r12, qword [rbx + 0x1b8]
jb 0x1401ecf45
mov rax, qword [rbx + 0x1b0]
mov qword [r12], rax
mov qword [rbx + 0x1b0], r12
jmp 0x1401ecf71
cmp r12, qword [rbx + 0x1c0]
jb 0x1401ecf62
mov rax, qword [rbx + 0x1a0]
mov qword [r12], rax
mov qword [rbx + 0x1a0], r12
jmp 0x1401ecf71
mov rcx, r12
call fcn.14016c150
mov r9, qword [rbp + 0xa0]
cmp dword [rsp + 0x70], 0
mov r11, qword [rbp + 0xb0]
jne 0x1401ed05f
test byte [r14 + 0x12], 4
mov edx, r15d
jne 0x1401ed05f
cmp dword [r11], 0
je 0x1401ecfa4
mov rax, qword [r14]
test byte [rax + 4], 1
je 0x1401ed05f
mov rax, qword [r14 + 0x38]
test qword [r11 + 0x58], rax
jne 0x1401ed05f
test edx, edx
je 0x1401ecfd4
movzx eax, word [r14 + 0x12]
mov ecx, 0x400
test cx, ax
je 0x1401ecfd4
mov ecx, 0x200
or ax, cx
mov word [r14 + 0x12], ax
jmp 0x1401ecfda
or word [r14 + 0x12], 4
movsxd rax, dword [r14 + 0x18]
test eax, eax
js 0x1401ed05f
mov rcx, rax
mov rax, qword [r14 + 8]
shl rcx, 6
mov r14, rcx
add r14, qword [rax + 0x20]
add byte [r14 + 0x16], 0xff
jne 0x1401ed05f
inc edx
test byte [r14 + 0x12], 4
je 0x1401ecf91
jmp 0x1401ed05f
test r8b, 0x20
je 0x1401ed013
mov byte [r11 + 0x35], 0xad
jmp 0x1401ed058
mov ecx, r10d
lea r13, [0x140000000]
movzx eax, byte [rcx + r13 + 0x24d778]
movzx edx, byte [rcx + r13 + 0x24d77c]
mov rcx, rsi
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x38], eax
call fcn.1401da4c0
mov r11, qword [rbp + 0xb0]
inc eax
mov dword [r11 + 0x3c], eax
mov byte [r11 + 0x37], 1
mov r9, qword [rbp + 0xa0]
mov r8, r15
mov rax, r8
lea r10, [0x14018b920]
neg rax
lea r14, [r9 + 0x68]
sbb edx, edx
add edx, 2
mov dword [rbp + 0xa8], edx
nop
mov r12d, dword [r14 + 0x14]
mov r13d, r15d
mov rbx, qword [r14 + 0x20]
test r12d, r12d
jle 0x1401ed26b
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rbx + 0x12]
mov edi, r15d
test cl, 6
jne 0x1401ed229
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
je 0x1401ed0c4
or dword [r9 + 0x44], 2
jmp 0x1401ed229
mov rax, qword [rbp - 0x48]
mov r14, qword [rbx]
test byte [rax + 0x3c], 8
je 0x1401ed0dc
test byte [r14 + 4], 1
je 0x1401ed229
cmp edx, 1
jne 0x1401ed132
mov eax, dword [r11 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x18], rax
mov qword [rbp - 0x10], r15
mov qword [rbp + 0x10], r15
mov qword [rbp - 0x20], r8
mov qword [rbp - 8], r10
movdqu xmmword [rbp], xmm0
test r14, r14
je 0x1401ed120
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.1401fc7d0
mov r11, qword [rbp + 0xb0]
cmp word [rbp + 0x14], 0
je 0x1401ed137
mov r13d, 2
jmp 0x1401ed229
cmp edx, 3
jge 0x1401ed159
movzx ecx, word [rbx + 0x12]
mov eax, 0x1000
test ax, cx
je 0x1401ed159
test r13d, r13d
jne 0x1401ed229
mov r13d, 3
jmp 0x1401ed229
mov eax, 0x200
test ax, cx
je 0x1401ed1d3
mov eax, dword [r11 + 0x2c]
test eax, eax
je 0x1401ed1d3
movsxd rdi, dword [rsi + 0x90]
mov r8d, eax
and eax, 1
shr r8d, 1
lea edx, [rax*2 + 0x12]
cmp dword [rsi + 0x94], edi
jg 0x1401ed19e
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1401925a0
mov edi, eax
jmp 0x1401ed1d3
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x4c]
mov r9d, 0x10
mov rcx, qword [rbp + 0x90]
mov rdx, r14
call fcn.1401b8ab0
test edi, edi
je 0x1401ed224
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x1401ed208
lea rax, [0x1402b2790]
jmp 0x1401ed221
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
mov edx, dword [rbp + 0xa8]
lea r10, [0x14018b920]
mov r11, qword [rbp + 0xb0]
dec r12d
mov r9, qword [rbp + 0xa0]
add rbx, 0x40
mov r8, qword [rbp - 0x40]
test r12d, r12d
jg 0x1401ed0a0
mov r14, qword [rbp - 0x28]
lea r10, [0x14018b920]
mov rbx, qword [r14 + 0x20]
mov r12d, dword [r14 + 0x14]
mov r11, qword [rbp + 0xb0]
mov edx, r13d
mov r9, qword [rbp + 0xa0]
mov dword [rbp + 0xa8], edx
test r13d, r13d
jg 0x1401ed080
test r12d, r12d
jle 0x1401ed395
mov rsi, qword [rbp + 0x90]
add rbx, 0x14
mov r13, qword [rbp - 0x48]
test byte [rbx - 2], 6
jne 0x1401ed37e
movzx eax, word [rbx]
mov edx, VariantTimeToDosDateTime
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1401ed37e
mov eax, dword [rsp + 0x40]
cmp dword [rbx + 8], eax
jne 0x1401ed37e
test byte [r13 + 0x3c], 8
jne 0x1401ed37e
mov r9, qword [rbp + 0xb8]
mov edx, eax
mov r8d, dword [rbx + 0x14]
mov rcx, r14
mov rdi, qword [rbx - 0x14]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x83
call fcn.1401ee6c0
mov rdx, rax
test rax, rax
je 0x1401ed37e
test byte [rax + 0x12], 4
jne 0x1401ed37e
test byte [rax + 0x14], 1
je 0x1401ed334
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x1401ed334
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
jg 0x1401ed37e
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x4c]
lea rdx, [rbp - 0x10]
mov rcx, rsi
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x20], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x30], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbp], rax
call fcn.1401b8ab0
dec r12d
add rbx, 0x40
test r12d, r12d
jg 0x1401ed2a3
mov rsi, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xb0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1401ed451
mov eax, dword [rsi + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1401ed3d8
mov edx, 0x45
mov dword [rsp + 0x20], r15d
mov rcx, rsi
lea r8d, [rdx - 0x44]
call fcn.1401925a0
jmp 0x1401ed40b
lea eax, [rcx + 1]
mov edx, 1
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x45
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp dword [r14 + 0x14], 0
mov rbx, qword [r14 + 0x20]
jle 0x1401ed451
test byte [rbx + 0x12], 6
jne 0x1401ed444
mov rax, qword [rbx + 0x38]
test qword [rdi + 0x58], rax
jne 0x1401ed444
mov r8d, dword [rbp - 0x4c]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, qword [rbp + 0x90]
call fcn.1401b8ab0
or word [rbx + 0x12], 4
inc r15d
add rbx, 0x40
cmp r15d, dword [r14 + 0x14]
jl 0x1401ed416
mov rax, qword [rdi + 0x58]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret