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

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x158
mov qword [rsp + 0xf8], 0xfffffffffffffffe
mov rbx, rdx
mov r15, rcx
add rcx, 0xd8
call fcn.10001a14
mov rcx, r15
call fcn.10001a88
lea rdi, [0x100fafe8]
mov qword [rsp + 0xc0], rdi
xor r14d, r14d
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xd0], r14
lea rdx, [r15 + 0x88]
mov r9, rbx
lea r8, [rsp + 0xc0]
mov rcx, r15
call fcn.10071258
mov ebx, eax
cmp eax, r14d
je 0x10071afa
jmp 0x100721ca
mov r13, qword [rsp + 0xd0]
lea rdx, [r13 + 0xe]
lea rcx, [rsp + 0x20]
call fcn.10071088
movsxd r12, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x28]
mov rax, qword [rsp + 0xc8]
mov rcx, r12
shr rax, cl
cmp rax, rbx
jae 0x10071b36
mov ebx, 1
jmp 0x100721ca
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], r14
mov rsi, r14
mov qword [rsp + 0xf0], r14
cmp rbx, r14
je 0x10071b82
cmp rbx, r14
jbe 0x10071b68
mov rcx, rbx
call fcn.10002fd0
mov rsi, rax
jmp 0x10071b6b
mov rsi, r14
xor ecx, ecx
call sub.msvcrt.dll_free
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], rbx
cmp dword [rsp + 0x28], r14d
jbe 0x10071b96
mov r8, rbx
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x20]
cmp eax, r14d
je 0x100721ab
mov edi, 1
cmp eax, dword [rsp + 0x28]
jae 0x10072046
mov ebp, eax
cmp byte [rsi + rbp], r14b
jne 0x10072056
mov byte [rsi + rbp], dil
mov rcx, r12
shl rbp, cl
mov qword [rsp + 0xd8], rbp
mov edx, dword [r13 + rbp]
bswap edx
mov dword [rsp + 0x40], edx
movzx ecx, byte [r13 + rbp + 0xa]
shl cx, 8
movzx eax, byte [r13 + rbp + 0xb]
or cx, ax
cmp byte [r13 + rbp + 8], 0xff
jne 0x10072066
mov dword [rsp + 0x1a0], r14d
movzx eax, cx
mov dword [rsp + 0x1b8], eax
test eax, eax
jle 0x10072033
mov ecx, dword [rsp + 0x24]
mov edx, edi
shl edx, cl
mov dword [rsp + 0x44], edx
mov r8d, edx
mov ecx, 4
mov qword [rsp + 0xb0], rcx
mov rax, r8
sub rax, rcx
add rax, r13
movzx ebx, byte [rax + rbp + 2]
shl ebx, 8
movzx eax, byte [rax + rbp + 3]
or ebx, eax
mov rax, r8
sub rax, rcx
add rax, r13
movzx ecx, byte [rax + rbp]
shl ecx, 8
movzx eax, byte [rax + rbp + 1]
or ecx, eax
mov r12d, ecx
sub r12d, ebx
cmp ecx, edx
jae 0x1007219e
cmp ecx, ebx
jb 0x1007219e
cmp r12d, 6
jb 0x1007219e
lea rcx, [rsp + 0x50]
call fcn.100711ec
nop
add rbx, r13
add rbx, rbp
movzx ebp, byte [rbx]
shl ebp, 8
movzx eax, byte [rbx + 1]
or ebp, eax
mov eax, dword [rbx + 2]
bswap eax
mov dword [rsp + 0x60], eax
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
lea edx, [rax + 3]
lea rcx, [rsp + 0x30]
call fcn.1000178c
nop
cmp ebp, 6
jb 0x1007216d
test dil, bpl
jne 0x1007216d
lea eax, [rbp + 2]
cmp eax, r12d
ja 0x1007216d
mov eax, 0xfffffffa
add r12d, eax
add ebp, eax
movzx r13d, byte [rbx + 6]
shl r13d, 8
movzx eax, byte [rbx + 7]
or r13d, eax
lea eax, [r13 + r13]
cmp eax, ebp
jne 0x10072076
add rbx, 8
add r12d, 0xfffffffe
lea edx, [r13 + 1]
cmp edx, dword [rsp + 0x3c]
jl 0x10071d24
lea rcx, [rsp + 0x30]
call fcn.1000178c
xor r8d, r8d
mov r10d, r8d
mov r11, r8
movsxd rdx, r13d
mov rbp, qword [rsp + 0x30]
cmp rdx, r8
jle 0x10071d6a
mov r8, rbx
mov r9, rbp
sub r9, rbx
mov r10d, edx
mov r11, rdx
movzx ecx, byte [r8 + 1]
movzx eax, byte [r8]
shl ax, 8
or cx, ax
mov word [r9 + r8], cx
add r8, 2
sub rdx, rdi
jne 0x10071d49
xor r8d, r8d
lea rcx, [r11 + r11]
mov word [rcx + rbp], r8w
mov r13d, r8d
mov rax, r8
cmp word [rbp], r8w
je 0x10071d8e
add r13d, edi
add rax, rdi
cmp word [rbp + rax*2], r8w
jne 0x10071d80
mov word [rbp + rax*2], r8w
mov dword [rsp + 0x38], r13d
add rbx, rcx
imul r10d, r10d, 0xfffffffe
add r12d, r10d
cmp r12d, 2
jb 0x100720aa
movzx ecx, byte [rbx]
shl cx, 8
movzx eax, byte [rbx + 1]
or cx, ax
mov word [rsp + 0x64], cx
cmp cx, di
je 0x10071df1
cmp cx, 2
je 0x10071df1
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
jmp 0x10071fe6
cmp r12d, 0x58
jb 0x100720dc
mov eax, dword [rbx + 8]
bswap eax
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0xc]
bswap eax
mov dword [rsp + 0x6c], eax
mov eax, dword [rbx + 0x10]
bswap eax
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x18]
bswap eax
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x58], r8d
mov rax, qword [rsp + 0x50]
mov word [rax], r8w
mov edx, r13d
lea rcx, [rsp + 0x50]
call fcn.1000178c
mov r11, qword [rsp + 0x50]
mov rcx, rbp
movzx eax, word [rcx]
mov word [r11], ax
add r11, 2
add rcx, 2
test ax, ax
jne 0x10071e42
mov dword [rsp + 0x58], r13d
cmp word [rsp + 0x64], di
jne 0x10071ea0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xb8], eax
mov eax, dword [r15 + 0xe4]
mov dword [rsp + 0xbc], eax
mov rcx, r15
call fcn.10001a24
movsxd rdx, dword [r15 + 0xc]
mov rcx, qword [r15 + 0x10]
mov rax, qword [rsp + 0xb8]
mov qword [rcx + rdx*8], rax
add dword [r15 + 0xc], edi
jmp 0x10071f33
add r12d, 0xffffffa8
cmp r12d, 0xa0
jb 0x1007210e
lea rdx, [rbx + 0x58]
lea rcx, [rsp + 0x100]
call fcn.1007104c
mov r9, qword [rsp + 0x100]
mov qword [rsp + 0x78], r9
mov r14d, dword [rsp + 0x108]
mov dword [rsp + 0x80], r14d
xor r13d, r13d
xor r12d, r12d
cmp r13d, r14d
jae 0x10071f2b
mov rbx, qword [rsp + r12*8 + 0x10c]
lea rcx, [rsp + 0x88]
call fcn.10001a24
movsxd r11, dword [rsp + 0x94]
mov rax, qword [rsp + 0x98]
mov qword [rax + r11*8], rbx
add dword [rsp + 0x94], edi
add r13d, dword [rsp + r12*8 + 0x110]
add r12, rdi
cmp r12, 8
jl 0x10071ee5
mov r14d, dword [rsp + 0x1a0]
mov ecx, 0x58
call fcn.10002fd0
mov qword [rsp + 0x1a0], rax
test rax, rax
je 0x10071f5c
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.10071674
mov rbx, rax
jmp 0x10071f5e
xor ebx, ebx
lea rcx, [r15 + 0xd8]
call fcn.10001a24
movsxd rcx, dword [r15 + 0xe4]
mov rax, qword [r15 + 0xe8]
mov qword [rax + rcx*8], rbx
add dword [r15 + 0xe4], edi
mov r8, qword [rsp + 0x1b0]
test r8, r8
je 0x10071fc5
movsxd rcx, dword [r15 + 0xe4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x64
cmp ecx, edx
jne 0x10071fc5
mov rax, qword [r8]
mov rdx, rcx
mov rcx, r8
call qword [rax + VariantCopy]
mov ebx, eax
test eax, eax
jne 0x10072140
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
add r14d, edi
mov dword [rsp + 0x1a0], r14d
mov rcx, qword [rsp + 0xb0]
add rcx, 2
mov qword [rsp + 0xb0], rcx
cmp r14d, dword [rsp + 0x1b8]
mov rbp, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xd0]
mov edx, dword [rsp + 0x44]
mov r8, rdx
jl 0x10071c31
mov edx, dword [rsp + 0x40]
movsxd r12, dword [rsp + 0x24]
mov eax, edx
xor r14d, r14d
cmp edx, r14d
jne 0x10071ba9
jmp 0x100721ab
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rbp
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
jmp 0x100721ca
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_free
nop
lea rcx, [rsp + 0x88]
call fcn.10001abc
nop
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, edi
jmp 0x100721ca
xor r8d, r8d
lea rdx, [0x10071170]
mov rcx, r15
call fcn.10071420
nop
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov ebx, r14d
mov rcx, qword [rsp + 0xd0]
call sub.msvcrt.dll_free
mov eax, ebx
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret