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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x418]
sub rsp, 0x4e8
mov r14, rdx
mov rdi, rcx
mov r15, qword [rbp + 0x458]
mov rax, qword [r15 + 0x20]
mov ecx, 1
xor r13d, r13d
test rax, rax
cmove rax, rcx
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x28], r13
mov rbx, qword [rbp + 0x450]
mov rax, qword [rbx]
lea r8, [rbp + 0x28]
lea rdx, [0x140220478]
mov rcx, rbx
call qword [rax]
mov qword [rbp + 0x98], r13
mov rax, qword [rbx]
lea r8, [rbp + 0x98]
lea rdx, [0x140220408]
mov rcx, rbx
call qword [rax]
test r14, r14
je 0x1401dd68b
mov r9, qword [r14 + 0x168]
test r9, r9
je 0x1401dd68b
cmp byte [r15 + 0x32], r13b
jne 0x1401dd68b
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rdx, qword [rbp + 0x448]
mov rcx, rdi
call fcn.1401dfce8
mov r15d, eax
test eax, eax
jne 0x1401df790
mov r15, qword [rbp + 0x458]
mov rsi, r13
mov qword [rbp - 0x58], r13
mov r10, r13
mov qword [rbp - 8], r13
mov rdi, r13
mov qword [rbp + 0x38], r13
mov byte [rbp - 0x78], r13b
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xa8], r13
mov qword [rbp], r13
mov qword [rbp + 8], r13
xor r11d, r11d
mov r12d, r11d
mov bl, r11b
mov byte [rbp - 0x80], bl
mov al, byte [r15 + 0x10]
mov byte [rbp - 0x7f], al
test al, al
je 0x1401dd746
mov rax, qword [r15]
mov edx, r11d
mov r8d, dword [rax + 8]
test r8d, r8d
je 0x1401dd746
mov r9, qword [rax]
mov eax, edx
mov rcx, qword [r9 + rax*8]
mov rax, qword [rcx + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x1401dd739
cmp eax, 0x3030205
ja 0x1401dd71d
je 0x1401dd742
sub eax, 3
je 0x1401dd742
sub eax, 0x202ff
je 0x1401dd742
sub eax, 2
je 0x1401dd742
sub eax, 0x300fdff
je 0x1401dd742
cmp eax, 0x18
jmp 0x1401dd737
cmp eax, 0x3030401
je 0x1401dd742
cmp eax, 0x3030501
je 0x1401dd742
cmp eax, 0x3030701
je 0x1401dd742
cmp eax, 0x3030805
je 0x1401dd742
inc edx
cmp edx, r8d
jae 0x1401dd746
jmp 0x1401dd6e3
mov byte [rbp - 0x7f], r11b
test r14, r14
je 0x1401ddb6c
mov ebx, dword [r14 + 0x90]
xor ecx, ecx
call fcn.140202c34
xor ecx, ecx
mov qword [rbp - 0x58], rcx
lea eax, [rcx + 4]
mul rbx
lea rbx, [rcx - 1]
cmovo rax, rbx
mov rcx, rax
call fcn.140202da8
mov rsi, rax
mov qword [rbp - 0x58], rax
xor r11d, r11d
mov ecx, r11d
lea r9d, [rbx + 2]
cmp dword [r14 + 0x90], r11d
jbe 0x1401dd7a4
mov eax, ecx
mov dword [rsi + rax*4], ebx
add ecx, r9d
cmp ecx, dword [r14 + 0x90]
jb 0x1401dd793
mov edx, r11d
mov r8, qword [rbp + 0x430]
cmp dword [r8 + 8], r11d
jbe 0x1401dd7cf
mov ecx, edx
mov rax, qword [r8]
mov rcx, qword [rax + rcx*8]
cmp dword [rcx], ebx
je 0x1401dd7c6
mov eax, dword [rcx]
mov dword [rsi + rax*4], edx
add edx, r9d
cmp edx, dword [r8 + 8]
jb 0x1401dd7b4
mov r15d, r11d
mov dword [rbp - 0x68], r11d
cmp dword [r14 + 4], r11d
jbe 0x1401ddbcb
mov r9d, r11d
mov r12d, r11d
mov dword [rbp - 0x7c], r11d
mov edi, r15d
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + rdi*4]
mov dword [rbp - 0x10], ebx
mov r10, r11
mov qword [rbp - 0x28], r11
mov rax, qword [r14 + 0x198]
mov r8d, dword [rax + rdi*4]
test ebx, ebx
je 0x1401ddb45
cmp r8d, dword [r14 + 0x90]
jae 0x1401ddbc0
mov eax, r8d
mov edx, r8d
shl rdx, 4
add rdx, qword [r14 + 0x88]
cmp byte [rdx + 0xc], r11b
je 0x1401dd863
inc r9d
cmp dword [rsi + rax*4], r11d
jl 0x1401dd863
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x430]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 0x3c], r11b
jne 0x1401dd863
inc r12d
mov dword [rbp - 0x7c], r12d
add r10, qword [rdx]
mov qword [rbp - 0x28], r10
inc r8d
cmp r9d, ebx
jb 0x1401dd811
test r12d, r12d
je 0x1401ddb45
mov dword [rbp + 0x88], r15d
mov dword [rbp + 0x8c], r12d
mov qword [rbp + 0x50], r11
mov dword [rbp + 0x58], r11d
mov qword [rbp + 0x60], r11
mov dword [rbp + 0x68], r11d
mov qword [rbp + 0x70], r11
mov dword [rbp + 0x78], r11d
lea r8, [rbp + 0x50]
mov edx, r15d
mov rcx, r14
call fcn.1401e3c10
mov rax, qword [r14 + 0x50]
movzx r10d, byte [rax + rdi]
mov dword [rbp + 0x80], r10d
xor r11d, r11d
mov ecx, r11d
mov r9, qword [rbp + 0x50]
mov r8d, dword [rbp + 0x58]
lea edi, [r11 + 1]
test r8d, r8d
je 0x1401dd8eb
mov eax, ecx
shl rax, 5
cmp qword [rax + r9], 0x6f10701
je 0x1401dd969
add ecx, edi
cmp ecx, r8d
jb 0x1401dd8d0
mov r14b, r11b
mov byte [rbp - 0x7e], r14b
cmp byte [rbp - 0x7f], r11b
jne 0x1401dd900
cmp r12d, ebx
mov dl, r11b
jne 0x1401dd903
mov dl, dil
mov qword [rbp - 0x50], r11
mov ecx, r11d
test r8d, r8d
je 0x1401dd926
mov eax, ecx
shl rax, 5
cmp qword [rax + r9], 0x6f10701
je 0x1401dd96e
add ecx, edi
cmp ecx, r8d
jb 0x1401dd90f
mov al, r11b
mov byte [rbp - 0x48], al
test dl, dl
je 0x1401dd9f4
mov rcx, r10
shl rcx, 5
add rcx, r9
mov rax, qword [rcx]
cmp rax, 3
jne 0x1401dd973
cmp qword [rcx + 0x10], rdi
jne 0x1401dd9f4
mov rax, qword [rcx + 8]
movzx ecx, byte [rax]
add ecx, edi
mov dword [rbp - 0x4c], ecx
mov dword [rbp - 0x50], 3
jmp 0x1401dd9f4
mov r14b, dil
jmp 0x1401dd8ee
mov al, dil
jmp 0x1401dd929
mov edx, 0x3030103
sub rax, rdx
je 0x1401dd9ab
sub rax, 0x18
je 0x1401dd9ab
sub rax, 0xea
je 0x1401dd9ab
sub rax, 0x1fc
je 0x1401dd9ab
sub rax, 0x100
je 0x1401dd9ab
sub rax, 0x200
je 0x1401dd9ab
cmp rax, 0x104
jne 0x1401dd9f4
mov eax, dword [rcx]
cmp eax, 0x303011b
cmove eax, edx
mov dword [rbp - 0x50], eax
cmp eax, 0x3030401
jne 0x1401dd9c8
mov dword [rbp - 0x4c], 0x10
jmp 0x1401dd9f4
cmp eax, 0x3030501
je 0x1401dd9ed
cmp eax, 0x3030205
je 0x1401dd9ed
cmp eax, 0x3030805
je 0x1401dd9ed
cmp eax, 0x3030701
jne 0x1401dd9f4
mov dword [rbp - 0x4c], 2
jmp 0x1401dd9f4
mov dword [rbp - 0x4c], 4
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xa0]
call fcn.1401dfb10
mov edi, eax
cmp eax, r13d
jb 0x1401dda6e
xor r14d, r14d
lea r12d, [r14 + 1]
mov ecx, 0x20
call fcn.140202bf8
mov rbx, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1401dda39
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x1401dda3c
mov rbx, r14
lea rcx, [rbp]
call fcn.1400f6ac0
mov esi, dword [rbp + 8]
mov r15, qword [rbp]
mov qword [r15 + rsi*8], rbx
add esi, r12d
mov dword [rbp + 8], esi
cmp edi, esi
jae 0x1401dda12
mov rsi, qword [rbp - 0x58]
mov r14b, byte [rbp - 0x7e]
mov r15d, dword [rbp - 0x68]
mov r12d, dword [rbp - 0x7c]
mov r13d, dword [rbp + 8]
mov rcx, qword [rbp]
mov rbx, qword [rcx + rdi*8]
lea rcx, [rbx + 0x10]
call fcn.1400f6ac0
mov edx, dword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbp + 0x88]
mov qword [rcx + rdx*8], rax
mov edx, 1
add dword [rbx + 0x18], edx
cmp r12d, dword [rbp - 0x10]
jne 0x1401ddac9
mov r14, qword [rbp + 0x428]
mov rdx, qword [r14 + 0x48]
mov r8, qword [r14 + 8]
lea eax, [r15 + 1]
mov ecx, dword [rdx + rax*4]
mov eax, r15d
mov eax, dword [rdx + rax*4]
mov rcx, qword [r8 + rcx*8]
sub rcx, qword [r8 + rax*8]
add qword [rbp - 8], rcx
jmp 0x1401ddaf9
mov byte [rbp - 0x80], dl
mov rax, qword [rbp - 0x28]
add qword [rbp - 8], rax
mov rcx, qword [rbp + 0x38]
cmp rcx, rax
cmovb rcx, rax
mov qword [rbp + 0x38], rcx
mov eax, dword [rbp - 0x78]
movzx eax, al
test r14b, r14b
cmovne eax, edx
mov dword [rbp - 0x78], eax
mov r14, qword [rbp + 0x428]
mov rcx, qword [rbp + 0x70]
call fcn.140202c34
mov rcx, qword [rbp + 0x60]
call fcn.140202c34
mov rcx, qword [rbp + 0x50]
xor r11d, r11d
test rcx, rcx
je 0x1401ddb45
lea rbx, [rcx - 8]
lea r9, [0x1400f77b8]
mov r8, qword [rbx]
lea edx, [r11 + 0x20]
call fcn.140202cd8
mov rdx, qword [rbx]
shl rdx, 5
add rdx, 8
mov rcx, rbx
call fcn.140202db0
nop
xor r11d, r11d
inc r15d
mov dword [rbp - 0x68], r15d
cmp r15d, dword [r14 + 4]
jb 0x1401dd7e0
mov r12d, dword [rbp + 0xc]
mov rdi, qword [rbp + 0x38]
mov bl, byte [rbp - 0x80]
mov r15, qword [rbp + 0x458]
mov r10, qword [rbp - 8]
mov r8, qword [rbp + 0x430]
xor r13d, r13d
mov eax, r13d
mov qword [rbp + 0xb8], rax
lea r11d, [r13 + 1]
cmp qword [rbp + 0x100], r11
jbe 0x1401ddb96
cmp qword [r15 + 0x28], r13
mov r9b, r11b
jne 0x1401ddb99
mov r9b, r13b
cmp dword [r8 + 8], r13d
jbe 0x1401ddbf5
mov rdx, qword [r8]
mov r8d, dword [r8 + 8]
mov rcx, qword [rdx]
cmp byte [rcx + 0x3c], r13b
je 0x1401ddbe8
mov rcx, qword [rcx + 0x20]
add r10, rcx
test r9b, r9b
je 0x1401ddbda
add rax, rcx
jmp 0x1401ddbe1
mov r15d, 0x80004005
jmp 0x1401df770
mov bl, r11b
mov r15, qword [rbp + 0x458]
mov r10, r11
jmp 0x1401ddb73
cmp rax, rcx
cmovb rax, rcx
mov qword [rbp + 0xb8], rax
add rdx, 8
sub r8, r11
jne 0x1401ddba6
mov qword [rbp - 8], r10
cmp rax, rdi
cmovb rax, rdi
mov qword [rbp + 0xb8], rax
mov rdi, qword [rbp + 0x450]
mov rax, qword [rdi]
mov rdx, r10
mov rcx, rdi
call qword [rax + 0x18]
mov r15d, eax
test eax, eax
jne 0x1401df770
lea ecx, [rax + 0x48]
call fcn.140202bf8
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1401ddc3f
mov rcx, rax
call fcn.14015e7fc
mov r14, rax
jmp 0x1401ddc42
mov r14, r13
mov qword [rbp - 0x38], r14
mov qword [rbp + 0x1a8], r14
test r14, r14
je 0x1401ddc5c
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
nop
mov r8d, 1
mov rdx, rdi
mov rcx, r14
call fcn.14015e82c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x128], xmm0
mov r15, qword [rbp + 0x458]
mov dl, byte [r15 + 0x33]
lea rcx, [rbp + 0x1b0]
call fcn.1401e0f30
nop
cmp byte [r15 + 0x33], r13b
je 0x1401ddcc0
test bl, bl
je 0x1401ddcc0
lea rcx, [rbp + 0x1b0]
call fcn.14012d220
test eax, eax
je 0x1401ddcc0
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
jmp 0x1401df73b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r13
mov edx, 1
mov word [rbp + 0x68], dx
mov byte [rbp + 0x6a], r13b
mov ecx, dword [r15 + 0x14]
test ecx, ecx
jne 0x1401ddcf0
mov word [rbp + 0x68], r13w
mov byte [rbp + 0x6a], r13b
mov rbx, qword [rbp + 0x50]
jmp 0x1401ddd2b
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x1401ddd0b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopyInd]
mov ecx, dword [r15 + 0x14]
mov edx, 1
mov qword [rbp + 0x50], rbx
test ecx, ecx
jle 0x1401ddd2b
mov byte [rbp + 0x68], dl
cmp ecx, 7
jl 0x1401ddd2b
mov byte [rbp + 0x69], dl
movzx eax, r13b
cmp ecx, 9
cmovge eax, edx
mov byte [rbp + 0x6a], al
mov r13, qword [r15]
mov qword [rbp + 0xd0], r13
xor r14d, r14d
mov edi, r14d
mov dword [rbp - 0x7c], r14d
mov rax, qword [rbp + 0x430]
cmp dword [rax + 8], r14d
jbe 0x1401dded0
mov ecx, edi
mov rax, qword [rax]
mov r8, qword [rax + rcx*8]
cmp byte [r8 + 0x3c], r14b
je 0x1401ddeb0
cmp byte [r8 + 0x3f], r14b
jne 0x1401ddeb0
cmp byte [r8 + 0x3e], r14b
jne 0x1401ddeb0
cmp qword [r8 + 0x20], r14
je 0x1401ddeb0
and qword [rbp + 0x40], 0
mov byte [rbp + 0x48], r14b
cmp byte [rbp - 0x7f], r14b
je 0x1401dddaa
lea r9, [rbp + 0x40]
mov edx, edi
lea rcx, [rbp + 0x50]
call fcn.1401e0218
mov r15d, eax
test eax, eax
jne 0x1401ddf41
mov al, byte [r13 + 0x39]
mov byte [rbp + 0x48], al
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.1401dfb10
mov r14d, eax
mov r15d, dword [rbp + 8]
cmp eax, r15d
jb 0x1401dde8c
mov rsi, qword [rbp]
xor r13d, r13d
lea edi, [r13 + 1]
mov ecx, 0x20
call fcn.140202bf8
mov rbx, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1401dde03
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r13
jmp 0x1401dde06
mov rbx, r13
cmp r15d, r12d
jne 0x1401dde67
mov eax, r12d
shr eax, 2
inc eax
add r12d, eax
mov ecx, r12d
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140202da8
mov r15, rax
mov eax, dword [rbp + 8]
test eax, eax
je 0x1401dde50
mov r8d, eax
shl r8, 3
mov rdx, rsi
mov rcx, r15
call fcn.140201ae0
mov rcx, rsi
call fcn.140202c34
mov rsi, r15
mov qword [rbp], r15
mov dword [rbp + 0xc], r12d
mov r15d, dword [rbp + 8]
mov eax, r15d
mov qword [rsi + rax*8], rbx
add r15d, edi
mov dword [rbp + 8], r15d
cmp r14d, r15d
jae 0x1401ddddc
mov rsi, qword [rbp - 0x58]
mov edi, dword [rbp - 0x7c]
mov r13, qword [rbp + 0xd0]
mov rcx, qword [rbp]
mov rbx, qword [rcx + r14*8]
mov rcx, rbx
call fcn.1400f6cb8
mov ecx, dword [rbx + 8]
mov rax, qword [rbx]
mov dword [rax + rcx*4], edi
mov edx, 1
add dword [rbx + 8], edx
xor r14d, r14d
add edi, edx
mov dword [rbp - 0x7c], edi
mov rax, qword [rbp + 0x430]
cmp edi, dword [rax + 8]
jb 0x1401ddd50
mov rbx, qword [rbp + 0x50]
mov r15, qword [rbp + 0x458]
mov rcx, qword [rbp + 0x58]
call fcn.140202c34
nop
xor r13d, r13d
test rbx, rbx
je 0x1401ddeec
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov qword [rbp + 0xf8], r13
mov rdi, r13
mov qword [rbp - 0x60], r13
mov qword [rbp + 0xf0], r13
cmp byte [rbp - 0x78], r13b
je 0x1401de058
mov ecx, 0x20
call fcn.140202bf8
mov rbx, rax
mov qword [rbp + 0xf8], rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1401ddf60
mov dword [rax + 8], r13d
lea rax, [0x140225dd0]
mov qword [rbx], rax
lea rcx, [rbx + 0x10]
call fcn.1401777e8
jmp 0x1401ddf6a
mov rcx, qword [rbp + 0x58]
call fcn.140202c34
nop
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1401ddf5b
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x1401df737
mov rbx, r13
mov qword [rbp + 0xf8], rbx
mov rdi, rbx
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x1401ddfbc
mov rax, qword [rbx]
lea r14, [fcn.1400f5dc0]
cmp qword [rax + 8], r14
jne 0x1401ddf90
mov ecx, 1
add dword [rbx + 8], ecx
jmp 0x1401ddf9f
mov rcx, rbx
call qword [rax + VariantCopyInd]
mov qword [rbp - 0x60], rbx
mov ecx, 1
mov qword [rbp + 0xf0], rbx
mov rax, qword [rbx]
cmp qword [rax + 8], r14
jne 0x1401ddfb4
add dword [rbx + 8], ecx
jmp 0x1401ddfca
mov rcx, rbx
call qword [rax + VariantCopyInd]
jmp 0x1401ddfca
mov rdi, rbx
mov qword [rbp - 0x60], rbx
mov qword [rbp + 0xf0], rbx
mov rcx, qword [rbp + 0x2a8]
test rcx, rcx
je 0x1401ddfdc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x2a8], rbx
mov rdx, qword [r15]
cmp byte [rdx + 0x39], r13b
je 0x1401ddffb
add rdx, 0x40
lea rcx, [rbx + 0x10]
call fcn.140177a28
jmp 0x1401de058
mov rcx, qword [rbp + 0x460]
test rcx, rcx
jne 0x1401de012
mov r15d, 0x80004001
jmp 0x1401df728
mov qword [rbp - 0x20], r13
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
call qword [rax + 0x18]
mov r15d, eax
test eax, eax
je 0x1401de036
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1401df728
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x1401de04f
lea rcx, [rbx + 0x10]
mov rdx, rax
call fcn.140177988
mov rax, qword [rbp - 0x20]
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor r8d, r8d
mov rdx, qword [rbp + 0x448]
mov rbx, qword [rbp + 0x438]
mov rcx, rbx
call fcn.1401e33bc
mov r15d, eax
test eax, eax
jne 0x1401df728
mov rcx, rbx
call fcn.1401e34a4
mov r15d, eax
test eax, eax
jne 0x1401df728
mov qword [rbp + 0x10], r13
xor r15d, r15d
mov ebx, r15d
mov dword [rbp + 0x18], ebx
mov dword [rbp + 0x1c], r15d
mov r14d, r15d
mov r8, qword [rbp + 0x430]
cmp dword [r8 + 8], r15d
jbe 0x1401de12b
mov rsi, qword [rbp + 0x428]
lea edi, [rax + 1]
mov ecx, r14d
mov rax, qword [r8]
mov rdx, qword [rax + rcx*8]
cmp byte [rdx + 0x3c], r15b
je 0x1401de0de
cmp byte [rdx + 0x3f], r15b
jne 0x1401de0f9
cmp byte [rdx + 0x3e], r15b
jne 0x1401de0f9
cmp qword [rdx + 0x20], r15
je 0x1401de0f9
jmp 0x1401de11a
or rax, 0xffffffffffffffff
cmp dword [rdx], eax
je 0x1401de0f9
mov ecx, dword [rdx]
add rcx, rcx
mov rax, qword [rsi + 0x88]
cmp byte [rax + rcx*8 + 0xc], r15b
jne 0x1401de11a
lea rcx, [rbp + 0x10]
call fcn.1400f6cb8
mov ebx, dword [rbp + 0x18]
mov r13, qword [rbp + 0x10]
mov dword [r13 + rbx*4], r14d
add ebx, edi
mov dword [rbp + 0x18], ebx
mov r8, qword [rbp + 0x430]
add r14d, edi
cmp r14d, dword [r8 + 8]
jb 0x1401de0ba
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r14d, ebx
mov eax, 1
cmp ebx, eax
jbe 0x1401de1cc
lea r12, [r13 - 4]
mov r15d, ebx
shr r15d, 1
mov esi, 0xffffffff
mov qword [rsp + 0x20], r8
lea r9, [0x1401dfec0]
mov r8d, ebx
mov edx, r15d
mov rcx, r12
call fcn.1401196a0
add r15d, esi
mov r8, qword [rbp + 0x430]
jne 0x1401de14a
mov rsi, qword [rbp - 0x58]
mov rdi, r8
mov r15d, 1
mov r13d, 0xffffffff
mov ecx, r14d
mov edx, dword [r12 + rcx*4]
mov eax, dword [r12 + 4]
mov dword [r12 + rcx*4], eax
add r14d, r13d
mov dword [r12 + 4], edx
mov qword [rsp + 0x20], rdi
lea r9, [0x1401dfec0]
mov r8d, r14d
mov edx, r15d
mov rcx, r12
call fcn.1401196a0
cmp r14d, r15d
ja 0x1401de183
mov rdi, qword [rbp - 0x60]
mov r13, qword [rbp + 0x10]
mov r8, qword [rbp + 0x430]
xor r15d, r15d
test ebx, ebx
je 0x1401de295
mov r14, r13
mov r15d, ebx
mov r12, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x428]
xor edi, edi
lea r13d, [rdi + 1]
mov ecx, dword [r14]
mov rax, qword [r8]
mov rbx, qword [rax + rcx*8]
lea rcx, [rbp + 0x40]
call fcn.1401777e8
nop
cmp byte [rbx + 0x3d], dil
je 0x1401de231
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xd8]
mov rcx, rbx
call fcn.1401e091c
mov byte [rbp + 0xe6], dil
lea rdx, [rbx + 0x28]
lea rcx, [rbp + 0x40]
call fcn.140177a28
jmp 0x1401de251
lea r9, [rbp + 0x50]
lea r8, [rbp + 0xd8]
mov edx, dword [rbx]
mov rcx, rsi
call fcn.1401e1220
lea r8, [rbp + 0x40]
mov edx, dword [rbx]
call fcn.1401e3e20
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xd8]
mov rcx, r12
call fcn.1401e2030
nop
mov rcx, qword [rbp + 0x40]
call fcn.140202c34
add r14, 4
sub r15, r13
mov r8, qword [rbp + 0x430]
jne 0x1401de1ee
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r13, qword [rbp + 0x10]
xor r15d, r15d
mov rcx, r13
call fcn.140202c34
mov rax, qword [rbp - 0x38]
mov qword [rax + 0x28], r15
mov eax, r15d
mov r12d, dword [rbp + 0xa8]
mov r13, qword [rbp + 0xa0]
mov r14d, 1
test r12d, r12d
je 0x1401de2d3
lea rcx, [r13 + 0xc]
mov dword [rcx], eax
add eax, r14d
lea rcx, [rcx + 0x10]
cmp eax, r12d
jb 0x1401de2c5
mov ebx, r12d
cmp r12d, r14d
jbe 0x1401de343
mov r14d, ebx
shr r14d, 1
mov esi, 0xffffffff
mov r8d, r12d
mov edx, r14d
lea rcx, [r13 - 0x10]
call fcn.1401dfc34
add r14d, esi
jne 0x1401de2e6
mov rsi, qword [rbp - 0x58]
mov edi, 0xffffffff
mov r14d, 1
mov eax, ebx
add rax, rax
movups xmm1, xmmword [r13 + rax*8 - 0x10]
movups xmm0, xmmword [r13]
movdqu xmmword [r13 + rax*8 - 0x10], xmm0
add ebx, edi
movdqu xmmword [r13], xmm1
mov r8d, ebx
mov edx, r14d
lea rcx, [r13 - 0x10]
call fcn.1401dfc34
cmp ebx, r14d
ja 0x1401de309
mov rdi, qword [rbp - 0x60]
xor r15d, r15d
mov eax, r15d
mov dword [rbp - 0x10], eax
test r12d, r12d
je 0x1401df6e4
mov r15d, 0x80004005
mov dword [rbp - 0x40], r15d
mov ebx, eax
shl rbx, 4
add rbx, r13
mov r14, qword [rbp + 0x458]
mov rdx, qword [r14]
lea rcx, [rbp + 0x150]
call fcn.1401dd0a0
nop
xor r13d, r13d
cmp byte [r14 + 0x11], r13b
je 0x1401de391
cmp byte [r14 + 0x33], r13b
je 0x1401de391
lea r8d, [r13 + 1]
jmp 0x1401de394
mov r8b, r13b
mov rdx, rbx
lea rcx, [rbp + 0x150]
call fcn.1401e06e8
test eax, eax
jne 0x1401df6d3
cmp byte [rbx + 8], r13b
je 0x1401de3e3
cmp byte [rbp + 0x189], r13b
jne 0x1401de3fc
mov rax, qword [rbp + 0xf8]
test rax, rax
je 0x1401de3d6
lea rdx, [rax + 0x10]
lea rcx, [rbp + 0x190]
call fcn.140177a28
mov eax, 1
mov byte [rbp + 0x189], al
jmp 0x1401de3fc
mov byte [rbp + 0x189], r13b
mov dword [rbp + 0x198], r13d
mov rax, qword [rbp + 0x190]
mov word [rax], r13w
lea rdx, [rbp + 0x150]
lea rcx, [rbp + 0x2c0]
call fcn.1401ed59c
nop
mov eax, dword [rbx + 0xc]
mov rcx, qword [rbp]
mov rdx, qword [rcx + rax*8]
mov qword [rbp + 0xb0], rdx
mov eax, r13d
mov dword [rbp - 0x78], eax
cmp dword [rdx + 0x18], r13d
jbe 0x1401def7f
mov r10, qword [rbp + 0x428]
mov ecx, eax
mov rdx, qword [rdx + 0x10]
mov qword [rbp - 0x18], rdx
mov r13d, dword [rdx + rcx*8]
mov dword [rbp - 0x7c], r13d
mov r12d, r13d
mov qword [rbp - 0x30], r13
mov rax, qword [r10 + 0x30]
mov ebx, dword [rax + r13*4]
mov dword [rbp - 0x74], ebx
cmp dword [rdx + rcx*8 + 4], ebx
jne 0x1401de648
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1401de4eb
mov rax, qword [rcx]
mov r9d, 3
mov r8d, r13d
lea edx, [r9 - 1]
call qword [rax + 0x20]
xor edx, edx
test eax, eax
jne 0x1401df5df
mov r14d, edx
mov r10, qword [rbp + 0x428]
mov rax, qword [r10 + 0x198]
mov ebx, dword [rax + r13*4]
cmp dword [rbp - 0x74], edx
jbe 0x1401de4eb
mov ecx, ebx
add rcx, rcx
mov rax, qword [r10 + 0x88]
cmp byte [rax + rcx*8 + 0xc], dl
je 0x1401de4e3
mov edx, 1
add r14d, edx
mov rcx, qword [rbp + 0x28]
mov rax, qword [rcx]
lea r9d, [rdx + 2]
mov r8d, ebx
call qword [rax + 0x20]
xor edx, edx
test eax, eax
jne 0x1401df5df
mov r10, qword [rbp + 0x428]
inc ebx
cmp r14d, dword [rbp - 0x74]
jb 0x1401de4a7
lea r9d, [r13 + 1]
mov qword [rbp - 0x28], r9
mov rdx, qword [r10 + 0x48]
mov rcx, qword [r10 + 8]
mov eax, dword [rdx + r13*4]
mov r8, qword [rcx + rax*8]
mov eax, dword [rdx + r9*4]
mov rbx, qword [rcx + rax*8]
sub rbx, r8
add r8, qword [r10 + 0x178]
mov r14, qword [rbp - 0x38]
mov qword [rsp + 0x20], r14
mov r9, rbx
mov rax, qword [rbp + 0x438]
mov rdx, qword [rax + 0x80]
mov rcx, qword [rbp + 0x420]
call fcn.1401dfce8
test eax, eax
jne 0x1401df5df
add qword [r14 + 0x28], rbx
mov r14, qword [rbp + 0x440]
lea rcx, [r14 + 0x70]
call fcn.1401dd290
mov rbx, rax
mov r8, rax
mov edx, r13d
mov r13, qword [rbp + 0x428]
mov rcx, r13
call fcn.1401e3c10
mov rcx, qword [r13 + 0x48]
mov r13d, dword [rcx + r12*4]
xor eax, eax
cmp dword [rbx + 0x28], eax
jbe 0x1401de5d7
lea r12, [r14 + 0x40]
mov eax, r13d
mov rsi, rbx
mov rdi, qword [rbp + 0x428]
mov r15d, 1
lea r14d, [rax + 1]
mov rdx, qword [rdi + 8]
mov rbx, qword [rdx + r14*8]
sub rbx, qword [rdx + rax*8]
mov rcx, r12
call fcn.1400f6ac0
mov ecx, dword [r12 + 8]
mov rax, qword [r12]
mov qword [rax + rcx*8], rbx
add dword [r12 + 8], r15d
mov eax, r14d
sub r14d, r13d
cmp r14d, dword [rsi + 0x28]
jb 0x1401de595
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r15d, dword [rbp - 0x40]
mov rax, qword [rbp + 0x428]
mov rax, qword [rax + 0x40]
mov rcx, qword [rbp - 0x28]
mov r12d, dword [rax + rcx*4]
mov rdx, qword [rbp - 0x30]
mov r14d, dword [rax + rdx*4]
cmp r14, r12
jae 0x1401dedd5
mov rdi, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x428]
mov r15d, 1
mov rax, qword [rsi + 0x38]
mov rbx, qword [rax + r14*8]
lea rcx, [rdi + 0x30]
call fcn.1400f6ac0
mov ecx, dword [rdi + 0x38]
mov rax, qword [rdi + 0x30]
mov qword [rax + rcx*8], rbx
add dword [rdi + 0x38], r15d
add r14, r15
cmp r14, r12
jb 0x1401de60f
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r15d, dword [rbp - 0x40]
jmp 0x1401dedd5
xor r14d, r14d
mov qword [rbp - 0x50], r14
mov r8d, r14d
mov qword [rbp - 0x48], r14
mov r9d, r14d
mov r12d, r14d
mov dword [rbp - 0x68], r14d
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1401de691
mov rax, qword [rcx]
lea r9d, [r14 + 4]
mov r8d, r13d
lea edx, [r14 + 2]
call qword [rax + 0x20]
test eax, eax
jne 0x1401df5e7
mov r9d, dword [rbp - 0x44]
mov r8d, dword [rbp - 0x48]
mov r10, qword [rbp + 0x428]
mov r11, r14
mov qword [rbp - 0x20], r14
mov rax, qword [r10 + 0x198]
mov r10d, dword [rax + r13*4]
mov dword [rbp - 0x3c], r10d
test ebx, ebx
je 0x1401de79f
mov edi, dword [rbp - 0x74]
mov r15, qword [rbp + 0x428]
mov eax, r10d
mov ebx, r10d
shl rbx, 4
add rbx, qword [r15 + 0x88]
xor r13d, r13d
cmp byte [rbx + 0xc], r13b
je 0x1401de701
inc r12d
mov dword [rbp - 0x68], r12d
cmp dword [rsi + rax*4], r13d
jl 0x1401de701
mov ecx, dword [rsi + rax*4]
mov rax, qword [rbp + 0x430]
mov rax, qword [rax]
mov rdx, qword [rax + rcx*8]
movzx r14d, r14b
cmp byte [rdx + 0x3c], r13b
lea eax, [r13 + 1]
cmove r14d, eax
cmp r8d, r9d
jne 0x1401de755
mov eax, r9d
shr eax, 2
lea r13d, [r9 + 1]
add r13d, eax
mov ecx, r13d
call fcn.140202da8
mov r12, rax
mov eax, dword [rbp - 0x48]
test eax, eax
je 0x1401de734
mov r8d, eax
mov rdx, qword [rbp - 0x50]
mov rcx, r12
call fcn.140201ae0
mov rcx, qword [rbp - 0x50]
call fcn.140202c34
mov qword [rbp - 0x50], r12
mov dword [rbp - 0x44], r13d
mov r8d, dword [rbp - 0x48]
mov r10d, dword [rbp - 0x3c]
mov r12d, dword [rbp - 0x68]
mov r11, qword [rbp - 0x20]
mov ecx, r8d
mov rax, qword [rbp - 0x50]
mov byte [rcx + rax], r14b
mov r8d, dword [rbp - 0x48]
inc r8d
mov dword [rbp - 0x48], r8d
test r14b, r14b
je 0x1401de777
add r11, qword [rbx]
mov qword [rbp - 0x20], r11
mov r13d, 1
add r10d, r13d
mov dword [rbp - 0x3c], r10d
xor r14d, r14d
cmp r12d, edi
jae 0x1401de795
mov r9d, dword [rbp - 0x44]
jmp 0x1401de6b9
mov rdi, qword [rbp - 0x60]
mov r15d, dword [rbp - 0x40]
jmp 0x1401de7a5
mov r13d, 1
mov rax, qword [rbp + 0x440]
mov eax, dword [rax + 0x48]
mov dword [rbp - 0x3c], eax
mov qword [rbp + 0x20], r14
mov qword [rbp - 0x28], r14
mov ecx, 0x38
call fcn.140202bf8
mov rbx, rax
mov qword [rbp + 0x90], rax
test rax, rax
je 0x1401de825
mov dword [rax + 0x10], r14d
lea rax, [0x140225d48]
mov qword [rbx], rax
lea rax, [0x140225d68]
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], r14
mov qword [rbp + 0x90], rbx
mov qword [rbp - 0x68], rbx
test rbx, rbx
je 0x1401de836
mov rax, qword [rbx]
lea rcx, [0x1400f5ce0]
cmp qword [rax + 8], rcx
jne 0x1401de81d
add dword [rbx + 0x10], r13d
mov qword [rbp - 0x68], rbx
xor r14d, r14d
jmp 0x1401de836
mov rcx, rbx
call qword [rax + VariantCopyInd]
jmp 0x1401de814
mov qword [rbp - 0x68], r14
xor r14d, r14d
mov ebx, r14d
mov qword [rbp + 0x90], rbx
mov rax, qword [rbp + 0x458]
cmp byte [rax + 0x33], r14b
je 0x1401de929
mov rax, qword [rbp + 0x280]
test rax, rax
je 0x1401de85d
lea r8, [rax + 8]
mov qword [rbp + 0x30], r8
jmp 0x1401de861
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], r14
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x128]
call fcn.14013f1e8
lea rcx, [rbp + 0x128]
call fcn.14013f2d4
mov r14d, eax
test eax, eax
jne 0x1401df5ef
mov r13, qword [rbp + 0x280]
mov r14, qword [rbp + 0x38]
test r14, r14
je 0x1401de8a9
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
mov rcx, qword [r13 + 0x48]
test rcx, rcx
je 0x1401de8b8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r13 + 0x48], r14
mov r14, qword [rbp + 0x420]
test r14, r14
je 0x1401de8d1
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
mov rcx, qword [rbp + 0x278]
test rcx, rcx
je 0x1401de8e3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x278], r14
mov r12, qword [rbp + 0x428]
mov rax, qword [r12 + 0x178]
mov qword [rbp + 0x290], rax
mov qword [rbp + 0x298], r12
mov eax, dword [rbp - 0x7c]
mov dword [rbp + 0x2a0], eax
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1401de920
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r13, qword [rbp + 0x30]
jmp 0x1401deac2
mov ecx, 0x60
call fcn.140202bf8
mov r12, rax
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x1a0], rax
test rax, rax
je 0x1401de978
mov qword [rax + 0x30], r14
mov qword [rax + 0x38], r14
mov dword [rax + 0x40], r14d
lea rax, [0x140225da8]
mov qword [r12], rax
mov qword [r12 + 0x50], r14
mov dword [r12 + 0x58], r14d
mov ecx, 0x10000
call fcn.140202da8
mov qword [r12 + 0x48], rax
jmp 0x1401de97f
mov r12, r14
mov qword [rbp - 0x28], r14
mov dword [r12 + 0x58], r14d
mov rax, qword [r12]
lea rcx, [0x140175310]
cmp qword [rax + 8], rcx
jne 0x1401de99c
add dword [r12 + 0x40], r13d
jmp 0x1401de9a2
mov rcx, r12
call qword [rax + VariantCopyInd]
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1401de9b1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x20], r12
lea r13, [r12 + 8]
mov qword [rbp + 0x30], r13
mov byte [rbp - 0x80], r14b
mov byte [rbp - 0x7f], r14b
lea rcx, [rbp + 0x108]
call fcn.1401777e8
nop
mov qword [rbp + 0xe8], r14
mov byte [rbp - 0x70], r14b
mov qword [rsp + 0x80], r14
mov eax, 1
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x70], r14b
lea rax, [rbp + 0x108]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x7f]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rdi
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x20], eax
mov rax, qword [rbp + 0x428]
mov r9, rax
mov r8, qword [rax + 0x178]
mov rdx, qword [rbp + 0x420]
lea rcx, [rbp + 0x1d8]
call fcn.1401eea70
mov r14, qword [rbp + 0xe8]
test eax, eax
jne 0x1401df64b
test r14, r14
je 0x1401df64e
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
mov rcx, qword [r12 + 0x50]
test rcx, rcx
je 0x1401dea97
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r12 + 0x50], r14
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x1401deaaf
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x108]
call fcn.140202c34
mov r12, qword [rbp + 0x428]
mov qword [r13 + 0x20], r12
mov r14, qword [rbp + 0x28]
test r14, r14
je 0x1401dead8
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
mov rcx, qword [r13 + 0x28]
test rcx, rcx
je 0x1401deae7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r13 + 0x28], r14
mov r14, qword [rbp + 0x98]
test r14, r14
je 0x1401deb00
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x1401deb0f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r13 + 0x30], r14
mov rax, qword [r12 + 0x198]
mov rcx, qword [rbp - 0x30]
mov r12d, dword [rax + rcx*4]
mov dword [r13 + 0x18], r12d
lea rax, [rbp - 0x50]
mov qword [r13 + 0x10], rax
xor eax, eax
mov dword [r13 + 0x1c], eax
mov byte [r13 + 1], al
mov rcx, r13
call fcn.1401e0b10
xor r10d, r10d
test eax, eax
jne 0x1401df646
mov r13, qword [rbp - 0x68]
mov rax, qword [rbp + 0x428]
mov qword [r13 + 0x30], rax
mov r14, qword [rbp + 0x20]
mov dword [r13 + 0x28], r12d
lea rax, [rbp - 0x50]
mov qword [r13 + 0x20], rax
test r14, r14
je 0x1401deb7c
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopyInd]
xor r10d, r10d
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x1401deb8e
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r10d, r10d
mov qword [r13 + 0x18], r14
mov rax, qword [rbp + 0x458]
cmp byte [rax + 0x33], r10b
je 0x1401debb3
lea rcx, [rbp + 0x1b0]
call fcn.14012d288
test eax, eax
jne 0x1401df60c
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x440]
lea r13, [rax + 0x40]
lea r14, [rax + 0x30]
lea rcx, [rax + 0x70]
call fcn.1401dd290
mov r9, rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov rax, qword [rbp + 0x438]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r8, [rbp + 0xb8]
mov r14, qword [rbp - 0x68]
mov rdx, r14
lea rcx, [rbp + 0x2c0]
call fcn.1401edd3c
mov r12d, eax
cmp eax, 0x20000002
je 0x1401df66a
mov rax, qword [rbp + 0x458]
xor r10d, r10d
cmp byte [rax + 0x33], r10b
je 0x1401ded17
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x10]
xor r14d, r14d
mov ebx, r14d
mov qword [rbp + 0x90], rbx
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1401dec70
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x20], r14
mov rcx, qword [rbp + 0x1c0]
call fcn.140136e80
xor r10d, r10d
test eax, eax
jne 0x1401df60c
mov r14d, dword [rbp + 0x274]
lea r11d, [r10 + 1]
cmp r14d, r11d
je 0x1401deca0
cmp byte [rbp + 0x270], r10b
je 0x1401deced
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1401dece4
mov r10, qword [rcx]
mov eax, r14d
neg eax
sbb r9d, r9d
and r9d, 0xfffffffc
add r9d, 6
mov rax, qword [rbp + 0x428]
mov rax, qword [rax + 0x198]
mov rdx, qword [rbp - 0x30]
mov r8d, dword [rax + rdx*4]
mov edx, r11d
call qword [r10 + 0x28]
test eax, eax
jne 0x1401df646
test r14d, r14d
jne 0x1401df66a
test r14d, r14d
jne 0x1401df5ff
test r12d, r12d
jne 0x1401df607
mov r9, qword [rbp - 0x20]
cmp qword [rbp + 0x148], r9
jne 0x1401df604
lea r14d, [r12 + 1]
jmp 0x1401ded42
mov rax, qword [rbp - 0x28]
mov eax, dword [rax + 0x58]
mov r14d, 1
cmp eax, r14d
je 0x1401df624
test eax, eax
jne 0x1401df646
test r12d, r12d
jne 0x1401df607
mov r9, qword [rbp - 0x20]
mov r8, qword [rbp + 0x30]
mov rax, qword [r8 + 0x10]
mov ecx, dword [rax + 8]
mov eax, dword [r8 + 0x1c]
sub eax, ecx
neg eax
sbb edx, edx
and edx, r15d
cmp dword [r8 + 0x1c], ecx
jne 0x1401df61f
cmp qword [rbp + 0x88], r9
jne 0x1401df66a
test rbx, rbx
je 0x1401ded80
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1401ded90
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r8d, dword [rbp - 0x3c]
mov r9, qword [rbp + 0x440]
mov r10, qword [rbp - 0x38]
cmp r8d, dword [r9 + 0x48]
jae 0x1401dedc1
mov rdx, qword [r10 + 0x38]
mov ecx, r8d
mov rax, qword [r13]
add rdx, qword [rax + rcx*8]
mov qword [r10 + 0x38], rdx
add r8d, r14d
cmp r8d, dword [r9 + 0x48]
jb 0x1401deda9
mov rax, qword [rbp + 0x88]
add qword [r10 + 0x30], rax
mov rcx, qword [rbp - 0x50]
call fcn.140202c34
mov ebx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x18]
mov ebx, dword [rcx + rbx*8 + 4]
mov r14, qword [rbp + 0x440]
lea rcx, [r14 + 0x20]
call fcn.1400f6cb8
mov ecx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov dword [rax + rcx*4], ebx
mov r9d, 1
add dword [r14 + 0x28], r9d
xor r8d, r8d
mov r12d, r8d
mov r10, qword [rbp + 0x428]
mov rax, qword [r10 + 0x198]
mov rcx, qword [rbp - 0x30]
mov r14d, dword [rax + rcx*4]
mov r13d, dword [rbp - 0x74]
test r13d, r13d
je 0x1401def58
mov rdi, qword [rbp + 0x440]
mov r15, qword [rbp + 0x430]
mov edx, r14d
mov ecx, r14d
add rcx, rcx
mov rax, qword [r10 + 0x88]
cmp byte [rax + rcx*8 + 0xc], r8b
je 0x1401def44
add r12d, r9d
cmp dword [rsi + rdx*4], r8d
jl 0x1401def44
mov ecx, dword [rsi + rdx*4]
mov rax, qword [r15]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x3c], r8b
jne 0x1401def44
lea rcx, [rbp + 0xd8]
call fcn.1401777e8
nop
lea r9, [rbp + 0x50]
lea r8, [rbp + 0x118]
mov edx, r14d
mov rcx, qword [rbp + 0x428]
call fcn.1401e1220
xor edx, edx
cmp byte [rbx + 0x3d], dl
je 0x1401def00
mov eax, dword [rbx + 0x38]
mov dword [rbp + 0x70], eax
mov al, byte [rbx + 0x40]
mov byte [rbp + 0x78], al
mov rax, qword [rbx + 8]
mov qword [rbp + 0x50], rax
mov al, byte [rbx + 0x41]
mov byte [rbp + 0x74], al
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x58], rax
mov al, byte [rbx + 0x42]
mov byte [rbp + 0x75], al
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x60], rax
mov al, byte [rbx + 0x43]
mov byte [rbp + 0x76], al
mov al, byte [rbx + 0x3e]
mov byte [rbp + 0x79], al
mov byte [rbp + 0x77], dl
mov al, byte [rbx + 0x3f]
mov byte [rbp + 0x125], al
lea rdx, [rbx + 0x28]
lea rcx, [rbp + 0xd8]
call fcn.140177a28
jmp 0x1401def0f
lea r8, [rbp + 0xd8]
mov edx, r14d
call fcn.1401e3e20
lea r9, [rbp + 0xd8]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x118]
mov rcx, rdi
call fcn.1401e2030
nop
mov rcx, qword [rbp + 0xd8]
call fcn.140202c34
mov r10, qword [rbp + 0x428]
xor r8d, r8d
lea r9d, [r8 + 1]
add r14d, r9d
cmp r12d, r13d
jb 0x1401dee3c
mov rdi, qword [rbp - 0x60]
mov r15d, dword [rbp - 0x40]
mov eax, dword [rbp - 0x78]
add eax, r9d
mov dword [rbp - 0x78], eax
mov rdx, qword [rbp + 0xb0]
cmp eax, dword [rdx + 0x18]
jb 0x1401de439
mov r12d, dword [rbp + 0xa8]
mov r14, qword [rbp + 0x458]
mov r13d, dword [rdx + 8]
mov dword [rbp - 0x78], r13d
xor ebx, ebx
test r13d, r13d
jne 0x1401defac
lea rcx, [rbp + 0x2c0]
call fcn.1401ed6c4
nop
lea rcx, [rbp + 0x150]
call fcn.1401dd058
jmp 0x1401df5c2
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
mov edx, r13d
lea rcx, [rbp + 0x10]
call fcn.1401e135c
mov r12b, byte [r14 + 0x31]
test r13d, r13d
je 0x1401df02d
mov r14, rbx
mov rbx, qword [rbp + 0x10]
mov rdi, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0x430]
mov r15d, 1
mov rax, qword [rdi]
mov ecx, dword [r14 + rax]
mov rax, qword [rsi]
mov r9b, r12b
mov r8, qword [rax + rcx*8]
mov edx, ecx
lea rcx, [rbp + 0x50]
call fcn.1401dff24
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbx + 0x10], xmm1
lea r14, [r14 + 4]
lea rbx, [rbx + 0x18]
sub r13, r15
jne 0x1401defe4
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r15d, dword [rbp - 0x40]
mov r13d, dword [rbp - 0x78]
mov byte [rbp - 0x7e], r12b
mov r14d, dword [rbp + 0x18]
mov eax, 1
cmp r14d, eax
jbe 0x1401df0e6
mov r12, qword [rbp + 0x10]
mov ebx, r14d
shr ebx, 1
mov esi, 0xffffffff
lea rax, [rbp - 0x7e]
mov qword [rsp + 0x20], rax
lea r9, [0x1401e00a0]
mov r8d, r14d
mov edx, ebx
lea rcx, [r12 - 0x18]
call fcn.1401e13b8
add ebx, esi
jne 0x1401df051
mov rsi, qword [rbp - 0x58]
mov ebx, 1
mov edi, 0xffffffff
mov eax, r14d
lea rcx, [rax + rax*2]
movups xmm3, xmmword [r12 + rcx*8 - 0x18]
movsd xmm2, qword [r12 + rcx*8 - 8]
movups xmm0, xmmword [r12]
movups xmmword [r12 + rcx*8 - 0x18], xmm0
movsd xmm1, qword [r12 + 0x10]
movsd qword [r12 + rcx*8 - 8], xmm1
add r14d, edi
movups xmmword [r12], xmm3
movsd qword [r12 + 0x10], xmm2
lea rax, [rbp - 0x7e]
mov qword [rsp + 0x20], rax
lea r9, [0x1401e00a0]
mov r8d, r14d
mov edx, ebx
lea rcx, [r12 - 0x18]
call fcn.1401e13b8
cmp r14d, ebx
ja 0x1401df082
mov rdi, qword [rbp - 0x60]
mov r14d, r13d
mov eax, 4
mul r14
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140202da8
mov rbx, rax
mov qword [rbp + 0x90], rax
test r13d, r13d
je 0x1401df58f
mov rcx, rax
mov rdx, qword [rbp + 0x10]
add rdx, 8
mov r12d, 1
mov eax, dword [rdx]
mov dword [rcx], eax
lea rdx, [rdx + 0x18]
lea rcx, [rcx + 4]
sub r14, r12
jne 0x1401df128
xor r12d, r12d
mov r14d, r12d
mov dword [rbp - 0x74], r12d
mov eax, dword [rbp - 0x78]
mov r8, r12
mov qword [rbp - 0x30], r12
mov r13d, r12d
cmp r14d, eax
jae 0x1401df21d
mov rsi, r12
mov rdi, qword [rbp + 0x458]
mov r15, qword [rbp + 0x430]
mov eax, r13d
cmp rax, qword [rbp + 0x100]
jae 0x1401df205
lea eax, [r14 + r13]
mov edx, dword [rbx + rax*4]
mov rax, qword [r15]
mov r12, qword [rax + rdx*8]
add r8, qword [r12 + 0x20]
mov qword [rbp - 0x30], r8
cmp r8, qword [rdi + 0x28]
ja 0x1401df205
xor eax, eax
cmp byte [rdi + 0x30], al
je 0x1401df1f5
lea rcx, [r12 + 0x28]
call fcn.140177f20
mov r14d, eax
mov edx, 0x2e
lea rcx, [r12 + 0x28]
call fcn.140177ef0
cmp eax, r14d
jg 0x1401df1c6
mov eax, dword [r12 + 0x30]
jmp 0x1401df1c8
inc eax
mov ecx, eax
mov rax, qword [r12 + 0x28]
lea rcx, [rax + rcx*2]
test r13d, r13d
jne 0x1401df1e1
mov rsi, rcx
mov r14d, dword [rbp - 0x74]
jmp 0x1401df1f1
mov rdx, rsi
call fcn.1401766d8
mov r14d, dword [rbp - 0x74]
test al, al
je 0x1401df205
mov r8, qword [rbp - 0x30]
inc r13d
lea eax, [r14 + r13]
cmp eax, dword [rbp - 0x78]
jb 0x1401df16a
mov eax, 1
cmp r13d, eax
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r15d, dword [rbp - 0x40]
jae 0x1401df225
jmp 0x1401df222
mov eax, 1
mov r13d, eax
mov rcx, qword [rbp - 0x38]
call fcn.14015e8ac
test eax, eax
jne 0x1401df6af
mov ecx, 0x80
call fcn.140202bf8
mov r12, rax
mov qword [rbp - 0x18], rax
xor ecx, ecx
test rax, rax
je 0x1401df2be
mov dword [rax + 0x10], ecx
lea rax, [0x140225d08]
mov qword [r12], rax
lea rax, [0x140225d28]
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], rcx
mov qword [r12 + 0x48], rcx
mov qword [r12 + 0x50], rcx
mov qword [r12 + 0x58], rcx
mov qword [r12 + 0x60], rcx
mov qword [r12 + 0x68], rcx
mov qword [r12 + 0x70], rcx
mov qword [r12 + 0x78], rcx
mov qword [rbp - 0x18], r12
test r12, r12
je 0x1401df2c5
mov rax, qword [r12]
lea rcx, [0x1400f5ce0]
cmp qword [rax + 8], rcx
jne 0x1401df2b6
mov ecx, 1
add dword [r12 + 0x10], ecx
jmp 0x1401df2c5
mov rcx, r12
call qword [rax + VariantCopyInd]
jmp 0x1401df2c5
mov r12, rcx
mov qword [rbp - 0x18], rcx
mov eax, r14d
lea r8, [rbx + rax*4]
mov r9d, r13d
mov rdx, qword [rbp + 0x450]
mov rcx, r12
call fcn.1401eb7d0
mov rdx, qword [rbp + 0x440]
mov eax, dword [rdx + 0x48]
mov dword [rbp - 0x3c], eax
mov rcx, qword [rbp - 0x30]
mov qword [rbp + 0xd0], rcx
lea rax, [rdx + 0x40]
mov qword [rbp + 0xb0], rax
lea r14, [rdx + 0x30]
lea rcx, [rdx + 0x70]
call fcn.1401dd290
mov r9, rax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x438]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r8, [rbp + 0xb8]
mov rdx, r12
lea rcx, [rbp + 0x2c0]
call fcn.1401edd3c
test eax, eax
jne 0x1401df69a
mov eax, dword [r12 + 0x40]
cmp dword [r12 + 0x44], eax
jne 0x1401df69d
mov edx, dword [rbp - 0x3c]
mov r9, qword [rbp + 0x440]
mov r10, qword [rbp - 0x38]
cmp edx, dword [r9 + 0x48]
jae 0x1401df3b9
mov r8, qword [r10 + 0x38]
mov rsi, qword [rbp + 0xb0]
mov edi, 1
mov ecx, edx
mov rax, qword [rsi]
add r8, qword [rax + rcx*8]
mov qword [r10 + 0x38], r8
add edx, edi
cmp edx, dword [r9 + 0x48]
jb 0x1401df39c
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov rax, qword [rbp + 0xd0]
add qword [r10 + 0x30], rax
xor edx, edx
mov dword [rbp - 0x7c], edx
mov qword [rbp + 0x30], rdx
mov eax, edx
mov dword [rbp - 0x68], edx
test r13d, r13d
je 0x1401df517
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rdx
add eax, dword [rbp - 0x74]
mov edx, dword [rbx + rax*4]
mov rax, qword [rbp + 0x430]
mov rax, qword [rax]
mov r14, qword [rax + rdx*8]
lea rcx, [rbp + 0x40]
call fcn.1401777e8
nop
xor eax, eax
cmp byte [r14 + 0x3d], al
je 0x1401df42b
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xc0]
mov rcx, r14
call fcn.1401e091c
lea rdx, [r14 + 0x28]
lea rcx, [rbp + 0x40]
call fcn.140177a28
jmp 0x1401df451
lea r9, [rbp + 0x50]
lea r8, [rbp + 0xc0]
mov edx, dword [r14]
mov rcx, qword [rbp + 0x428]
call fcn.1401e1220
lea r8, [rbp + 0x40]
mov edx, dword [r14]
call fcn.1401e3e20
xor edx, edx
cmp byte [rbp + 0x79], dl
jne 0x1401df68f
cmp byte [rbp + 0xcd], dl
jne 0x1401df68f
mov ecx, dword [rbp - 0x68]
mov rax, qword [r12 + 0x50]
cmp byte [rcx + rax], dl
jne 0x1401df483
mov rax, qword [rbp + 0x30]
add rax, qword [r14 + 0x20]
mov qword [rbp + 0x30], rax
jmp 0x1401df4ec
mov rax, qword [r12 + 0x60]
mov rcx, qword [rbp - 0x28]
mov ecx, dword [rcx + rax]
mov dword [rbp + 0xc8], ecx
mov rax, qword [r12 + 0x70]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx + rax]
mov qword [rbp + 0xc0], rcx
test rcx, rcx
je 0x1401df4c4
mov eax, 1
mov byte [rbp + 0xce], al
mov byte [rbp + 0xcc], al
add dword [rbp - 0x7c], eax
jmp 0x1401df4d0
mov byte [rbp + 0xce], dl
mov byte [rbp + 0xcc], dl
lea r9, [rbp + 0x40]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbp + 0x440]
call fcn.1401e2030
nop
mov rcx, qword [rbp + 0x40]
call fcn.140202c34
mov eax, dword [rbp - 0x68]
inc eax
mov dword [rbp - 0x68], eax
add qword [rbp - 0x28], 4
add qword [rbp - 0x30], 8
cmp eax, r13d
jb 0x1401df3e3
mov r9, qword [rbp + 0x440]
lea r14, [r9 + 0x20]
mov rcx, r14
call fcn.1400f6cb8
mov ecx, dword [r14 + 8]
mov rax, qword [r14]
mov edx, dword [rbp - 0x7c]
mov dword [rax + rcx*4], edx
mov eax, 1
add dword [r14 + 8], eax
mov r14d, dword [rbp - 0x74]
add r14d, r13d
mov dword [rbp - 0x74], r14d
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1401df572
mov rdx, qword [rbp - 8]
cmp rdx, rax
jb 0x1401df572
sub rdx, rax
mov qword [rbp - 8], rdx
mov rcx, qword [rbp + 0x450]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x1401df69a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, dword [rbp - 0x78]
cmp r14d, eax
mov r12d, 0
jb 0x1401df146
mov rcx, rbx
call fcn.140202c34
nop
mov rcx, qword [rbp + 0x10]
call fcn.140202c34
nop
lea rcx, [rbp + 0x2c0]
call fcn.1401ed6c4
nop
lea rcx, [rbp + 0x150]
call fcn.1401dd058
mov r12d, dword [rbp + 0xa8]
mov eax, dword [rbp - 0x10]
inc eax
mov dword [rbp - 0x10], eax
cmp eax, r12d
jae 0x1401df6e4
mov r13, qword [rbp + 0xa0]
jmp 0x1401de35c
mov r15d, eax
jmp 0x1401df6c5
mov r15d, eax
jmp 0x1401df689
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1401df5ff
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r15d, r14d
jmp 0x1401df66a
mov r12d, r15d
mov r15d, r12d
jmp 0x1401df66a
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
jmp 0x1401df66a
mov r15d, edx
jmp 0x1401df66a
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1401df66a
mov rax, qword [rcx]
mov edx, 2
mov r9d, edx
mov r8d, dword [rbp - 0x7c]
call qword [rax + 0x28]
test eax, eax
je 0x1401df66a
mov r15d, eax
jmp 0x1401df66a
mov r15d, eax
test r14, r14
je 0x1401df65d
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x108]
call fcn.140202c34
nop
test rbx, rbx
je 0x1401df679
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1401df689
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x50]
jmp 0x1401df6bf
mov rcx, qword [rbp + 0x40]
call fcn.140202c34
jmp 0x1401df69d
mov r15d, eax
test r12, r12
je 0x1401df6ad
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
jmp 0x1401df6b2
mov r15d, eax
mov rcx, rbx
call fcn.140202c34
nop
mov rcx, qword [rbp + 0x10]
call fcn.140202c34
nop
lea rcx, [rbp + 0x2c0]
call fcn.1401ed6c4
jmp 0x1401df6d6
mov r15d, eax
lea rcx, [rbp + 0x150]
call fcn.1401dd058
jmp 0x1401df728
mov rcx, qword [rbp - 0x38]
call fcn.14015e8ac
mov r15d, eax
xor r13d, r13d
test eax, eax
jne 0x1401df728
mov rcx, qword [rbp + 0x440]
call fcn.1401dd2f4
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1401df725
mov rax, qword [rcx]
xor edx, edx
lea r9d, [r15 + 7]
mov r8d, 0xffffffff
call qword [rax + 0x20]
mov r15d, eax
test eax, eax
jne 0x1401df728
mov r15d, r13d
test rdi, rdi
je 0x1401df737
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
mov r14, qword [rbp - 0x38]
lea rcx, [rbp + 0x1b0]
call fcn.1401e1018
nop
lea rcx, [rbp + 0x130]
call fcn.140136e30
lea rcx, [rbp + 0x128]
call fcn.140136e30
nop
test r14, r14
je 0x1401df770
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
nop
lea rcx, [rbp]
call fcn.140116dac
nop
mov rcx, qword [rbp + 0xa0]
call fcn.140202c34
nop
mov rcx, rsi
call fcn.140202c34
nop
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1401df7a3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1401df7b3
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov eax, r15d
add rsp, 0x4e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret