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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x150012098]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r15, rdx
mov qword [rsp + 0x38], rdx
mov r14, rcx
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x24], esi
mov rax, qword [rdx]
lea rdx, [rbp + 0xb0]
mov rcx, r15
call qword [rax + 0x80]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [r15]
lea rdx, [rbp + 0x18]
mov rcx, r15
call qword [rax + 0x80]
mov rbx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x48], sil
mov byte [rsp + 0x28], sil
mov eax, dword [r14 + 0x50]
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x54]
mov dword [rsp + 0x54], eax
lea r13, [r14 + 0x30]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1503d17fc
lea edi, [rsi + 1]
test al, al
je 0x1503c6fcc
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], reloc.OLEAUT32.dll_SafeArrayDestroy
mov word [rbp - 0x68], 0x5b
mov r12d, edi
mov dword [rsp + 0x24], edi
mov r8, qword [r13 + 0x10]
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1503c6faa
mov rcx, qword [r13]
cmp r8, rdi
jne 0x1503c6fcc
lea rdx, [rbp - 0x68]
call fcn.15040e0e0
test eax, eax
jne 0x1503c6fcc
lea rcx, [r14 + 0x28]
call fcn.1503c3380
mov byte [rsp + 0x20], dil
jmp 0x1503c6fd1
mov byte [rsp + 0x20], sil
test dil, r12b
je 0x1503c7016
and r12d, 0xfffffffe
mov rax, qword [rbp - 0x50]
cmp rax, 0x10
jb 0x1503c7016
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c7011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86d4
call fcn.15040acc0
xorps xmm0, xmm0
cmp byte [rsp + 0x20], sil
je 0x1503c74f0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rsi
mov r13d, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rbp - 0x10], r13
mov byte [rbp - 0x28], sil
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], r13
mov byte [rbp + 0x18], sil
lea r8, [rbp + 0x18]
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.1503cb8ac
test al, al
je 0x1503c7462
lea rax, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rax, qword [rbp - 0x28]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x18]
cmp qword [rbp + 0x30], 0x10
cmovae rax, qword [rbp + 0x18]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x80], rax
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.150375bc0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x68], 0x5d
mov byte [r14 + 0xe6], dil
and byte [r14 + 0xe7], dil
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cbec4
mov r12b, al
mov word [r14 + 0xe6], si
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c7128
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c7123
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86aa
call fcn.15040acc0
test r12b, r12b
je 0x1503c7416
mov byte [r14 + 0x104], sil
cmp dword [r14 + 0x28], 7
jne 0x1503c7177
lea rcx, [r14 + 0x30]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1503c7151
mov rcx, qword [rcx]
cmp r8, 3
jne 0x1503c716e
lea rdx, [0x15026b3b8]
call fcn.15040e0e0
test eax, eax
jne 0x1503c716e
mov byte [r14 + 0x104], dil
lea rcx, [r14 + 0x28]
call fcn.1503c3380
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], r13
mov word [rsp + 0x68], 0x3a
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1f8
mov bl, al
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c71da
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c71d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86aa
call fcn.15040acc0
test bl, bl
je 0x1503c71e6
mov rcx, r14
call fcn.1503cc274
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], r13
mov byte [rbp - 8], sil
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1503c7215
mov rax, qword [rcx]
lea r9, [rbp - 0x28]
lea r8, [rbp + 0x18]
mov rdx, r15
call qword [rax + 0x18]
jmp 0x1503c7225
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x18]
mov rcx, r15
call fcn.1503c6524
test rax, rax
jne 0x1503c72db
lea r8, [rbp - 0x68]
lea rdx, [0x15026ae78]
lea rcx, [rbp + 0xb0]
call fcn.1502f1344
nop
lea r8, [0x15026ae90]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp + 0xb0]
call fcn.1502a76fc
mov dil, sil
mov rdx, qword [rbp + 0x10]
cmp rdx, 0x10
jb 0x1503c72c4
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c72bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86aa
call fcn.15040acc0
mov qword [rbp + 8], rsi
mov r13d, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rbp + 0x10], r13
mov byte [rbp - 8], sil
jmp 0x1503c7419
lea r8, [rbp - 8]
mov rdx, rax
mov rcx, r14
call fcn.1503cbb3c
test al, al
je 0x1503c7286
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
cmp dword [r14 + 0xf0], edi
jne 0x1503c738d
mov al, byte [r12 + 1]
mov bl, 0x60
and al, bl
cmp al, bl
je 0x1503c7326
mov r8, r12
mov rdx, r15
mov rcx, qword [rsp + 0x30]
call fcn.15035df00
test al, al
jne 0x1503c7344
mov al, byte [r13 + 1]
and al, bl
cmp al, bl
je 0x1503c738d
mov r8, r13
mov rdx, r15
mov rcx, qword [rsp + 0x30]
call fcn.15035df00
test al, al
je 0x1503c738d
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 0x2a
lea rdx, [0x15026aee8]
lea rcx, [rsp + 0x68]
call fcn.1502a75e8
nop
lea r9, [rsp + 0x68]
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
jmp 0x1503c7281
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x58]
lea rcx, [rsp + 0x68]
call fcn.1502ab4bc
lea r9, [rsp + 0x68]
mov r8, r12
mov rdx, r15
mov rcx, qword [rsp + 0x30]
call fcn.1503608fc
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 0x10
cmovae rdx, qword [rbp - 8]
mov r8, qword [rbp + 8]
lea rcx, [rsp + 0x68]
call fcn.1502ab4bc
lea r9, [rsp + 0x68]
mov r8, r13
mov rdx, r15
mov rcx, qword [rsp + 0x30]
call fcn.1503608fc
jmp 0x1503c7289
mov dil, sil
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1503c7454
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c744f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86b0
call fcn.15040acc0
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], r13
mov byte [rbp - 0x68], sil
jmp 0x1503c7465
mov dil, sil
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x1503c74a0
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c749b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86b6
call fcn.15040acc0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], r13
mov byte [rbp + 0x18], sil
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1503c77e6
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c74e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86bc
call fcn.15040acc0
jmp 0x1503c77e6
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov word [rsp + 0x68], 0x5b
mov r8, qword [r13 + 0x10]
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1503c751b
mov rcx, qword [r13]
cmp r8, rdi
jne 0x1503c753c
lea rdx, [rsp + 0x68]
call fcn.15040e0e0
test eax, eax
jne 0x1503c753c
lea rcx, [r14 + 0x28]
call fcn.1503c3380
mov al, dil
jmp 0x1503c753f
mov al, sil
lea rdx, [rbp - 0x48]
mov rcx, r14
test al, al
je 0x1503c77ee
call fcn.1503ca9dc
test al, al
je 0x1503c77e3
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov word [rsp + 0x68], 0x5d
mov byte [r14 + 0xe6], dil
and byte [r14 + 0xe7], dil
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cbec4
mov byte [rsp + 0x20], al
mov word [r14 + 0xe6], si
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c75de
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c75d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86d4
call fcn.15040acc0
mov al, byte [rsp + 0x20]
test al, al
je 0x1503c76e0
mov rcx, r14
call fcn.1503cc274
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1503c7606
mov rax, qword [rcx]
lea r8, [rbp - 0x48]
mov rdx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1503c762b
mov rax, qword [r15]
lea rdx, [rsp + 0x58]
mov rcx, r15
call qword [rax + 0x80]
mov rdx, qword [rax]
mov rax, qword [rdx + 0x10]
lea r8, [rbp - 0x48]
mov rcx, qword [rax + 0x18]
call fcn.15038672c
mov r15, rax
test rax, rax
jne 0x1503c7925
cmp byte [r14 + 0xf5], sil
jne 0x1503c774b
cmp byte [r14 + 0xf6], sil
jne 0x1503c774b
mov rbx, qword [rbx + 8]
lea r8, [rbp - 0x48]
lea rdx, [0x15026b038]
lea rcx, [rbp - 8]
call fcn.1502f1344
nop
lea r8, [0x15026aeb8]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1502a9590
nop
lea r8, [rbx + 0x20]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1502e21ec
nop
lea r8, [0x1502670d0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x28]
call fcn.1502a76fc
nop
lea rcx, [rbp - 8]
call fcn.1502a76fc
mov dil, sil
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x1503c771e
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c7719
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86c2
call fcn.15040acc0
mov al, dil
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.15040aca0
mov rbx, qword [rsp + 0x230]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [rbx + 8]
lea r8, [rbp - 0x48]
lea rdx, [0x15026b060]
lea rcx, [rbp - 8]
call fcn.1502f1344
nop
lea r8, [0x15026b000]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1502a9590
nop
lea r8, [rbx + 0x20]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1502e21ec
nop
lea r8, [0x1502670d0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c691c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x28]
call fcn.1502a76fc
nop
lea rcx, [rbp - 8]
call fcn.1502a76fc
mov al, byte [rsp + 0x28]
jmp 0x1503c7d7c
mov dil, sil
mov sil, dil
jmp 0x1503c76e0
mov byte [r14 + 0xe6], dil
and byte [r14 + 0xe7], dil
call fcn.1503ca8b0
mov word [r14 + 0xe6], si
test al, al
je 0x1503c76e0
mov byte [r14 + 0x104], sil
cmp dword [r14 + 0x28], 7
jne 0x1503c7857
mov r8, qword [r13 + 0x10]
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1503c7831
mov rcx, qword [r13]
cmp r8, 3
jne 0x1503c784e
lea rdx, [0x15026b3b8]
call fcn.15040e0e0
test eax, eax
jne 0x1503c784e
mov byte [r14 + 0x104], dil
lea rcx, [r14 + 0x28]
call fcn.1503c3380
cmp byte [r14 + 0xf8], sil
je 0x1503c79c4
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], rsi
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
lea rcx, [rsp + 0x68]
call fcn.1502ab4bc
lea rdx, [rsp + 0x24]
lea rcx, [rsp + 0x68]
call fcn.15037610c
test al, al
je 0x1503c79c4
mov edx, dword [rsp + 0x24]
mov rcx, rbx
call fcn.150386a34
test rax, rax
je 0x1503c78df
mov rcx, qword [r14 + 8]
mov r8d, edx
mov rdx, rbx
test rcx, rcx
je 0x1503c78d0
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x1503c7919
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x18]
call fcn.1503865dc
jmp 0x1503c7919
mov r8d, esi
movsxd rax, dword [rbx + 0x80]
test eax, eax
jle 0x1503c7911
mov rcx, qword [rbx + 0x58]
mov r9, rax
mov rax, rsi
cmp edx, dword [rcx + rax*8]
jl 0x1503c7906
cmp edx, dword [rcx + rax*8 + 4]
jl 0x1503c79ac
add r8d, edi
add rax, rdi
cmp rax, r9
jl 0x1503c78f7
mov rcx, rbx
call fcn.150386834
mov r15, rax
test rax, rax
je 0x1503c7c69
cmp dword [r14 + 0xf0], edi
jne 0x1503c8123
mov al, byte [r15 + 1]
and al, 0x60
cmp al, 0x60
je 0x1503c7fbb
mov r8, r15
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call fcn.15035df00
test al, al
je 0x1503c7fbb
lea r8, [rbp - 0x48]
lea rdx, [0x15026afc8]
lea rcx, [rbp - 0x68]
call fcn.1502f1344
nop
lea r8, [0x15026afe0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
jmp 0x1503c76db
movsxd rax, r8d
lea rcx, [rcx + rax*8]
test rcx, rcx
je 0x1503c7911
mov al, dil
jmp 0x1503c7d7c
lea rdx, [rbp - 0x48]
mov rcx, rbx
call fcn.1503868c8
mov r15, rax
test rax, rax
jne 0x1503c7a71
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x68], xmm1
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
lea rcx, [rbp + 0x58]
call fcn.1502ab4bc
nop
lea r8, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae r8, qword [rbp + 0x58]
add r8, qword [rbp + 0x68]
lea rax, [rbp + 0x58]
cmp qword [rbp + 0x70], 0x10
cmovae rax, qword [rbp + 0x58]
jmp 0x1503c7a3b
mov dl, byte [rax]
lea ecx, [rdx - 0x41]
cmp cl, 0x19
ja 0x1503c7a38
add dl, 0x20
mov byte [rax], dl
add rax, rdi
cmp rax, r8
jne 0x1503c7a29
lea rdx, [rbp + 0x58]
mov rcx, rbx
call fcn.1503868c8
mov r15, rax
test rax, rax
je 0x1503c7a63
mov rcx, rax
call fcn.15035c928
cmp eax, 0xa
cmovne r15, rsi
lea rcx, [rbp + 0x58]
call fcn.1502a76fc
test r15, r15
je 0x1503c7ad1
mov rcx, r15
call fcn.15035c928
cmp eax, 0xa
jne 0x1503c7925
mov rcx, r15
call fcn.1503a25d0
mov rcx, qword [rax + 8]
lea rdx, [rbp - 0x48]
mov r8, qword [rbp - 0x30]
cmp r8, 0x10
mov r9, qword [rbp - 0x48]
cmovae rdx, r9
mov r10, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1503c7ab0
mov rcx, qword [rcx]
mov rax, qword [rbp - 0x38]
cmp r10, rax
jne 0x1503c7add
mov r8, r10
call fcn.15040e0e0
test eax, eax
jne 0x1503c7ad1
mov rax, r15
test rax, rax
jne 0x1503c7925
mov rax, qword [rbp - 0x38]
mov r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x48]
cmp byte [r14 + 0xf4], sil
je 0x1503c7c00
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x48], xmm1
lea rdx, [rbp - 0x48]
cmp r8, 0x10
cmovae rdx, r9
mov r8, rax
lea rcx, [rbp + 0x38]
call fcn.1502ab4bc
nop
lea r10, [rbp + 0x38]
mov rdx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x50]
cmp r8, 0x10
cmovae r10, rdx
mov r9, qword [rbp + 0x48]
add r10, r9
lea rax, [rbp + 0x38]
cmp r8, 0x10
cmovae rax, rdx
cmp rax, r10
je 0x1503c7b61
mov dl, byte [rax]
lea ecx, [rdx - 0x41]
cmp cl, 0x19
ja 0x1503c7b4d
add dl, 0x20
mov byte [rax], dl
add rax, rdi
cmp rax, r10
jne 0x1503c7b3e
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x80]
lea rax, [rbp + 0x38]
cmp r8, 0x10
cmovae rax, rdx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r9
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
mov rdx, rbx
call fcn.150385488
mov r15, rax
test rax, rax
je 0x1503c7ba8
test byte [rax + 1], 8
je 0x1503c7bab
mov r15, rsi
mov rdx, qword [rbp + 0x50]
cmp rdx, 0x10
jb 0x1503c7be6
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c7be1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86c8
call fcn.15040acc0
movdqa xmm0, xmmword [0x150270450]
movdqu xmmword [rbp + 0x48], xmm0
mov byte [rbp + 0x38], sil
test r15, r15
jne 0x1503c7925
movsxd rax, dword [rbx + 0x84]
test eax, eax
jle 0x1503c7c69
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov r15, qword [rbx + 0x60]
mov rdx, qword [r15]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1503c7c2a
mov rdx, qword [rdx]
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
cmp rax, r8
jne 0x1503c7c51
mov r8, rax
call fcn.15040e0e0
test eax, eax
je 0x1503c79bc
mov rax, qword [rsp + 0x38]
add rax, rdi
mov qword [rsp + 0x38], rax
add r15, 8
cmp rax, qword [rsp + 0x40]
jl 0x1503c7c19
mov r8, qword [rbx + 8]
add r8, 0x20
lea rdx, [0x15026afb8]
lea rcx, [rbp - 8]
cmp byte [r14 + 0xf5], sil
jne 0x1503c7cfd
call fcn.1502f1344
nop
lea r8, [0x15026b048]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1502a9590
nop
lea r8, [rbp - 0x48]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1502e21ec
nop
lea r8, [0x1502670d0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x28]
call fcn.1502a76fc
nop
jmp 0x1503c76d7
call fcn.1502f1344
nop
lea r8, [0x15026b048]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1502a9590
nop
lea r8, [rbp - 0x48]
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1502e21ec
nop
lea r8, [0x1502670d0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c691c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x28]
call fcn.1502a76fc
nop
lea rcx, [rbp - 8]
call fcn.1502a76fc
mov al, sil
cmp byte [r14 + 0xf5], sil
jne 0x1503c7df4
cmp byte [r14 + 0xf6], sil
jne 0x1503c7df4
test al, al
jne 0x1503c7df4
mov dword [rbp + 0x78], 3
lea rax, [0x15026ae30]
mov qword [rbp + 0x80], rax
mov dword [rbp + 0x88], 0x222
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movdqa xmm1, xmmword [0x150270450]
movdqu xmmword [rbp + 0xa0], xmm1
mov byte [rbp + 0x90], sil
or r12d, 2
mov dword [rsp + 0x24], r12d
lea rdx, [0x15026af60]
lea rcx, [rbp + 0x78]
call fcn.150365258
mov rdx, rax
call fcn.150365534
nop
test r12b, 2
je 0x1503c7e07
and r12d, 0xfffffffd
lea rcx, [rbp + 0x78]
call fcn.15036544c
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8, rdi
lea rdx, [0x1501834ac]
lea rcx, [rsp + 0x68]
call fcn.1502a75e8
nop
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1f8
mov bl, al
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
test bl, bl
je 0x1503c7fab
mov rcx, r14
call fcn.1503cc274
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], rsi
mov r8, rdi
lea rdx, [0x15018348c]
lea rcx, [rbp - 0x28]
call fcn.1502a75e8
nop
or r12d, 4
mov dword [rsp + 0x24], r12d
lea rdx, [rbp - 0x28]
mov r15, qword [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, r15
mov r8, qword [r13 + 0x10]
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1503c7ea5
mov rcx, qword [r13]
cmp r8, qword [rbp - 0x18]
jne 0x1503c7eba
call fcn.15040e0e0
test eax, eax
jne 0x1503c7eba
mov rbx, qword [rbp - 0x68]
jmp 0x1503c7f12
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
mov r8, rdi
lea rdx, [0x15026235c]
lea rcx, [rbp - 0x68]
call fcn.1502a75e8
or r12d, 8
lea rdx, [rbp - 0x68]
mov rbx, qword [rbp - 0x68]
cmp qword [rbp - 0x50], 0x10
cmovae rdx, rbx
mov r8, qword [r13 + 0x10]
cmp qword [r13 + 0x18], 0x10
jb 0x1503c7f00
mov r13, qword [r13]
cmp r8, qword [rbp - 0x58]
jne 0x1503c7f15
mov rcx, r13
call fcn.15040e0e0
test eax, eax
jne 0x1503c7f15
mov dil, sil
test r12b, 8
je 0x1503c7f5b
and r12d, 0xfffffff7
mov rax, qword [rbp - 0x50]
cmp rax, 0x10
jb 0x1503c7f5b
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1503c7f52
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86ce
mov rcx, rbx
call fcn.15040acc0
nop
test r12b, 4
je 0x1503c7f9c
mov rax, qword [rbp - 0x10]
cmp rax, 0x10
jb 0x1503c7f9c
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1503c7f94
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86d4
mov rcx, r15
call fcn.15040acc0
test dil, dil
je 0x1503c7fab
mov rcx, r14
call fcn.1503ca178
jmp 0x1503c7fb3
mov rcx, r14
call fcn.1503c8f80
mov sil, al
jmp 0x1503c76e0
test byte [r15 + 1], 0x10
je 0x1503c8123
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x1503c8123
cmp dword [rbx + 4], edi
jne 0x1503c8000
mov rax, qword [rbx + 0x20]
test byte [rax + 1], 2
je 0x1503c8000
mov r8, rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call fcn.15035df00
mov rcx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
jmp 0x1503c803d
mov rax, qword [rbx + 0x10]
mov rcx, rbx
sub rcx, qword [rax + 0x30]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov r9, qword [rsp + 0x30]
mov eax, dword [r9 + 0x2c]
lea eax, [rax + rdx*4]
mov rcx, qword [rsp + 0x38]
cmp dword [rax + rcx], esi
seta al
test al, al
je 0x1503c8123
mov r8, rbx
mov rdx, rcx
mov rcx, r9
call fcn.1503622a4
mov rdi, qword [rbx + 8]
mov rbx, qword [rax + 8]
lea r8, [rbp - 0x48]
lea rdx, [0x15026b158]
lea rcx, [rbp + 0xb0]
call fcn.1502f1344
nop
lea r8, [0x15026b0e8]
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.1502a9590
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1502e21ec
nop
lea r8, [0x15026b110]
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.1502a9590
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.1502e21ec
nop
lea r8, [0x1502670d0]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c677c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x28]
call fcn.1502a76fc
nop
lea rcx, [rbp - 8]
call fcn.1502a76fc
nop
lea rcx, [rbp + 0x18]
call fcn.1502a76fc
nop
lea rcx, [rbp + 0xb0]
jmp 0x1503c76db
mov rcx, r15
call fcn.15035c928
movsxd rcx, eax
lea rax, [0x150150580]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r8, rdi
lea rdx, [0x1501834ac]
movups xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
cmp dword [rax + rcx*4], 0xa
lea rcx, [rsp + 0x68]
jne 0x1503c8441
call fcn.1502a75e8
nop
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1f8
mov bl, al
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
test bl, bl
je 0x1503c8486
mov rcx, r14
call fcn.1503cc274
mov rax, qword [r15 + 0x38]
cmp byte [rax + 0x54], sil
je 0x1503c8486
cmp dword [r14 + 0x28], 5
jne 0x1503c8486
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
movdqa xmm1, xmmword [0x150270450]
movdqu xmmword [rbp - 0x58], xmm1
mov byte [rbp - 0x68], sil
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.1503cadbc
test al, al
je 0x1503c83fd
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1503c81e7
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 0x20]
jmp 0x1503c81ea
mov rax, rsi
mov r9, rax
mov r8, r15
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call fcn.150361778
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.15035aeb4
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1503c8247
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c8242
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86e0
call fcn.15040acc0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
mov r8, rdi
lea rdx, [0x150183490]
lea rcx, [rbp - 0x68]
call fcn.1502a75e8
nop
or r12d, 0x20
mov dword [rsp + 0x24], r12d
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.1503cc1ac
test al, al
jne 0x1503c82c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8, rdi
lea rdx, [0x1501834a0]
lea rcx, [rsp + 0x68]
call fcn.1502a75e8
nop
or r12d, 0x40
mov dword [rsp + 0x24], r12d
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1ac
nop
test r12b, 0x40
je 0x1503c8307
and r12d, 0xffffffbf
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c8307
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c8301
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86da
call fcn.15040acc0
nop
test r12b, 0x20
je 0x1503c8348
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1503c8348
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c8343
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86a4
call fcn.15040acc0
mov rax, qword [r15 + 0x38]
cmp byte [rax + 0x53], sil
je 0x1503c83a4
lea r8, [rbp - 0x48]
lea rdx, [0x15026b130]
lea rcx, [rbp - 0x68]
call fcn.1502f1344
nop
lea r8, [0x1500a9398]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.1502a9590
nop
mov r9, rax
mov r8d, dword [r14 + 0x54]
mov edx, dword [r14 + 0x50]
mov rcx, r14
call fcn.1503c691c
nop
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
nop
lea rcx, [rbp - 0x68]
call fcn.1502a76fc
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x1503c76e3
mov eax, dword [r14 + 0x88]
mov edx, dword [r14 + 0x90]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], edx
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x40]
mov rdx, r15
call fcn.1503c6120
jmp 0x1503c76e3
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1503c76e0
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c8437
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86e0
call fcn.15040acc0
jmp 0x1503c76e0
call fcn.1502a75e8
nop
mov byte [r14 + 0xe6], dil
and byte [r14 + 0xe7], dil
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cbec4
mov bl, al
mov word [r14 + 0xe6], si
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
test bl, bl
je 0x1503c76e0
mov rcx, r14
call fcn.1503cc274
mov al, byte [r15 + 1]
and al, 0x60
cmp al, 0x60
jne 0x1503c84d3
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8, rdi
lea rdx, [0x1501834cc]
lea rcx, [rsp + 0x68]
call fcn.1502a75e8
nop
or r12d, 0x10
mov dword [rsp + 0x24], r12d
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1ac
test al, al
mov bl, dil
jne 0x1503c84d6
mov bl, sil
test r12b, 0x10
je 0x1503c84ea
and r12d, 0xffffffef
lea rcx, [rsp + 0x68]
call fcn.1502a76fc
test bl, bl
je 0x1503c866e
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8, rdi
lea rdx, [0x1501834d0]
lea rcx, [rsp + 0x68]
call fcn.1502a75e8
nop
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cc1ac
mov bl, al
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c8563
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c855e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86a4
call fcn.15040acc0
test bl, bl
jne 0x1503c8247
mov rcx, r15
call fcn.15035c928
movsxd rcx, eax
lea rax, [0x150150580]
mov r9, r15
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp dword [rax + rcx*4], 0xa
mov rcx, r14
jne 0x1503c859a
call fcn.1503c8bbc
jmp 0x1503c859f
call fcn.1503c9250
test al, al
je 0x1503c76e0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov ebx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x68], 0x5d
lea rdx, [rsp + 0x68]
mov r8, qword [r13 + 0x10]
mov rcx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1503c85db
mov rcx, qword [r13]
cmp r8, rdi
jne 0x1503c85f7
call fcn.15040e0e0
test eax, eax
jne 0x1503c85f7
lea rcx, [r14 + 0x28]
call fcn.1503c3380
mov al, dil
jmp 0x1503c85fa
mov al, sil
test al, al
jne 0x1503c8247
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x68], 0x2c
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.1503cbec4
mov bl, al
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1503c8661
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1503c865c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1503c86a4
call fcn.15040acc0
test bl, bl
je 0x1503c76e0
jmp 0x1503c856b
mov rcx, r15
call fcn.15035c9a0
mov r9, r15
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, r14
cmp eax, 0xa
jne 0x1503c869d
call fcn.1503c8bbc
test al, al
jne 0x1503c8247
jmp 0x1503c76e0
call fcn.1503c9250
jmp 0x1503c8690
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
nop
call fcn.150419d24
int3