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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rax, rsp
sub rsp, 0xb8
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov rdi, r9
mov r15, rcx
mov r12, qword [rsp + 0x140]
mov dword [r12], 2
xor ebx, ebx
mov rbp, rbx
mov qword [rax - 0x30], rbx
lea r13d, [rbx + 1]
mov sil, r13b
mov byte [rsp + 0x34], r13b
mov byte [rsp + 0x30], bl
mov byte [rsp + 0x32], bl
movzx r14d, word [r9 + 4]
test byte [r9 + 2], r13b
je 0x1009a935
test byte [r9 + 2], 0x40
je 0x1009a901
mov esi, dword [r9 + 0x84]
test esi, esi
jle 0x1009a8f6
mov rdi, qword [r9 + 0x88]
mov rdx, qword [rdi]
lea rcx, [rsp + 0x68]
call fcn.1009880c
test al, al
jne 0x1009a8e2
add ebx, r13d
add rdi, 8
cmp ebx, esi
jl 0x1009a8c4
jmp 0x1009a8f6
mov byte [rsp + 0x32], r13b
mov rdi, qword [rsp + 0x118]
mov sil, r13b
xor ebx, ebx
jmp 0x1009a901
mov dword [r12], r13d
xor eax, eax
jmp 0x1009b7e3
cmp r14w, 0x63
jne 0x1009a935
mov word [rsp + 0x60], 2
lea rcx, [rdi + 0x78]
lea rdx, [rsp + 0x60]
call fcn.10098c3c
cmp al, bl
je 0x1009a935
mov byte [rsp + 0x30], r13b
cmp word [rsp + 0x60], r13w
sete sil
mov byte [rsp + 0x34], sil
mov ecx, 0x28
call fcn.10002fd0
mov r12, rax
cmp rax, rbx
je 0x1009a95c
mov dword [rax + 8], ebx
lea rax, [0x100ef8f0]
mov qword [r12], rax
mov qword [r12 + 0x10], rbx
jmp 0x1009a95f
mov r12, rbx
mov qword [rsp + 0xa0], r12
cmp r12, rbx
je 0x1009a977
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
nop
mov rbx, qword [rsp + 0x120]
test rbx, rbx
je 0x1009a98d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x1009a99d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x18], 0
mov byte [r12 + 0x24], sil
mov dword [r12 + 0x20], 0xffffffff
mov qword [rsp + 0x70], 0
mov rsi, qword [rdi + 0x10]
cmp byte [rsp + 0x30], 0
je 0x1009a9e9
cmp rsi, 0xa
jae 0x1009a9e5
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x1009b7e3
sub rsi, 0xa
movzx edi, word [rdi + 0xbc]
mov rcx, qword [rsp + 0x118]
mov eax, dword [rcx + 0xb8]
add rdi, rax
add rdi, qword [rcx + 0x58]
mov r8, rsi
mov rdx, rdi
mov rcx, qword [rsp + 0x110]
call fcn.1009f674
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rax, [rdi + rsi]
mov qword [rsp + 0x68], rax
xor esi, esi
mov rdi, rsi
mov qword [rsp + 0x60], rsi
mov rax, qword [rsp + 0x118]
test byte [rax + 2], r13b
je 0x1009afb2
cmp byte [rsp + 0x30], sil
je 0x1009ab78
mov byte [rsp + 0x3a], 3
mov word [rsp + 0x3c], si
lea rcx, [rax + 0x78]
lea rdx, [rsp + 0x38]
call fcn.10098c3c
cmp al, sil
jne 0x1009aa8e
cmp rbx, rsi
je 0x1009aa7c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x1009b7e3
mov r14w, word [rsp + 0x3c]
cmp qword [r15 + 0x28], rsi
jne 0x1009ab06
mov ecx, 0x258
call fcn.10002fd0
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x1009aade
mov rcx, rax
call fcn.100974e8
lea rax, [0x100fd030]
mov qword [rdi], rax
lea rax, [0x100fd010]
mov qword [rdi + 8], rax
lea rax, [0x100fcff0]
mov qword [rdi + 0x250], rax
jmp 0x1009aae1
mov rdi, rsi
mov qword [r15 + 0x10], rdi
cmp rdi, rsi
je 0x1009aaf3
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rcx, qword [r15 + 0x28]
cmp rcx, rsi
je 0x1009ab02
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x28], rdi
mov rdi, qword [r15 + 0x28]
cmp rdi, rsi
je 0x1009ab18
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov qword [rsp + 0x60], rdi
mov al, byte [rsp + 0x3a]
mov byte [rsp + 0x31], al
mov rcx, qword [r15 + 0x10]
add rcx, 0x250
mov rax, qword [rcx]
mov r8d, r13d
lea rdx, [rsp + 0x31]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009ac8b
test rdi, rdi
je 0x1009ab57
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x1009ab66
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
cmp byte [rsp + 0x32], sil
je 0x1009ac19
cmp qword [r15 + 0x20], rsi
jne 0x1009ac00
mov ecx, 0x1c8
call fcn.10002fd0
mov rdi, rax
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x1009abd8
mov rcx, rax
call fcn.10098a34
lea r11, [0x100fd078]
mov qword [rdi], r11
lea rax, [0x100fd0c0]
mov qword [rdi + 8], rax
lea rax, [0x100fd0a0]
mov qword [rdi + 0x10], rax
lea rax, [0x100fd058]
mov qword [rdi + 0x160], rax
jmp 0x1009abdb
mov rdi, rsi
mov qword [r15 + 8], rdi
cmp rdi, rsi
je 0x1009abed
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rcx, qword [r15 + 0x20]
cmp rcx, rsi
je 0x1009abfc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x20], rdi
mov rdi, qword [r15 + 0x20]
cmp rdi, rsi
je 0x1009ac12
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov qword [rsp + 0x60], rdi
jmp 0x1009ac8d
cmp qword [r15 + 0x18], rsi
jne 0x1009ac72
mov ecx, 0x30
call fcn.10002fd0
mov rdi, rax
cmp rax, rsi
je 0x1009ac4b
mov dword [rax + 0x10], esi
lea rax, [0x100fd108]
mov qword [rdi], rax
lea rax, [0x100fd0e8]
mov qword [rdi + 8], rax
jmp 0x1009ac4e
mov rdi, rsi
mov qword [r15], rdi
cmp rdi, rsi
je 0x1009ac5f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rcx, qword [r15 + 0x18]
cmp rcx, rsi
je 0x1009ac6e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x18], rdi
mov rdi, qword [r15 + 0x18]
cmp rdi, rsi
je 0x1009ac84
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov qword [rsp + 0x60], rdi
jmp 0x1009ac8d
xor esi, esi
mov qword [rsp + 0x58], rsi
mov rax, qword [rdi]
lea r8, [rsp + 0x58]
lea rdx, [0x100ef378]
mov rcx, rdi
call qword [rax]
mov esi, eax
test eax, eax
je 0x1009ace8
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1009acbd
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009acd6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
cmp qword [r15 + 0x40], 0
jne 0x1009ad07
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
lea r8, [r15 + 0x40]
lea rdx, [0x100ef348]
call qword [rax]
mov rcx, qword [r15 + 0x40]
test rcx, rcx
je 0x1009af4e
mov qword [rsp + 0x38], 0
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009ad76
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1009ad4b
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009ad64
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
lea rcx, [rsp + 0x78]
call fcn.10001c1c
nop
xor ecx, ecx
cmp byte [rsp + 0x30], cl
jne 0x1009ae32
cmp byte [rsp + 0x32], cl
jne 0x1009ae32
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], ecx
mov r13d, ecx
cmp word [rsi], cx
je 0x1009adc0
mov rax, rsi
inc r13d
add rax, 2
cmp word [rax], cx
jne 0x1009adb4
mov edx, r13d
lea rcx, [rsp + 0x48]
call fcn.1000178c
mov r11, qword [rsp + 0x48]
movzx eax, word [rsi]
mov word [r11], ax
add r11, 2
add rsi, 2
test ax, ax
jne 0x1009add2
mov dword [rsp + 0x50], r13d
mov r13d, 1
mov r8d, r13d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.100032fc
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.10004d38
nop
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
jmp 0x1009aec8
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x54], ecx
mov r13d, ecx
cmp word [rsi], cx
je 0x1009ae5b
mov rax, rsi
inc r13d
add rax, 2
cmp word [rax], cx
jne 0x1009ae4f
mov edx, r13d
lea rcx, [rsp + 0x48]
call fcn.1000178c
mov r11, qword [rsp + 0x48]
movzx eax, word [rsi]
mov word [r11], ax
add r11, 2
add rsi, 2
test ax, ax
jne 0x1009ae6d
mov dword [rsp + 0x50], r13d
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.100032fc
nop
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.10004d38
nop
mov rcx, qword [rsp + 0x90]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
mov r13d, 1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8d, dword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov rdx, rsi
call qword [rax + 0x18]
test eax, eax
je 0x1009af38
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1009af0d
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009af26
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x1009b7e3
mov rcx, rsi
call sub.msvcrt.dll_free
nop
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1009afa0
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009afa0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1009af75
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009af8e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
mov rcx, qword [rsp + 0x58]
xor esi, esi
cmp rcx, rsi
je 0x1009afb2
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp dword [r15 + 0x54], 0
jle 0x1009afd3
mov rcx, qword [r15 + 0x58]
mov rax, qword [rcx]
cmp word [rax], r14w
je 0x1009afd3
add esi, r13d
add rcx, 8
cmp esi, dword [r15 + 0x54]
jl 0x1009afbd
cmp esi, dword [r15 + 0x54]
jne 0x1009b2ce
mov qword [rsp + 0x40], 0
mov word [rsp + 0x38], r14w
test r14w, r14w
jne 0x1009b055
mov ecx, 0x28
call fcn.10002fd0
mov rsi, rax
xor r14d, r14d
cmp rax, r14
je 0x1009b02a
mov dword [rax + 0x10], r14d
lea rax, [0x100ef698]
mov qword [rsi], rax
lea rax, [0x100ef678]
mov qword [rsi + 8], rax
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], r14
jmp 0x1009b02d
mov rsi, r14
cmp rsi, r14
je 0x1009b03b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b04b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rsi
jmp 0x1009b2ae
cmp r14w, r13w
jne 0x1009b0ab
mov ecx, 0xc010
call fcn.10002fd0
mov rsi, rax
xor r14d, r14d
cmp rax, r14
je 0x1009b080
mov dword [rax + 8], r14d
lea rax, [0x100fcdc8]
mov qword [rsi], rax
jmp 0x1009b083
mov rsi, r14
cmp rsi, r14
je 0x1009b091
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b0a1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rsi
jmp 0x1009b2ae
cmp r14w, 6
jne 0x1009b101
mov ecx, 0x288
call fcn.10002fd0
mov qword [rsp + 0x48], rax
xor r14d, r14d
cmp rax, r14
je 0x1009b0d6
mov rcx, rax
call fcn.100b7ad0
mov rsi, rax
jmp 0x1009b0d9
mov rsi, r14
cmp rsi, r14
je 0x1009b0e7
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b0f7
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rsi
jmp 0x1009b2ae
cmp r14w, 0xe
jne 0x1009b157
mov ecx, 0x20
call fcn.10002fd0
mov qword [rsp + 0x48], rax
xor r14d, r14d
cmp rax, r14
je 0x1009b12c
mov rcx, rax
call fcn.100988dc
mov rsi, rax
jmp 0x1009b12f
mov rsi, r14
cmp rsi, r14
je 0x1009b13d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b14d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rsi
jmp 0x1009b2ae
cmp r14w, 0x62
jne 0x1009b1b0
mov ecx, 0x1d40
call fcn.10002fd0
mov qword [rsp + 0x48], rax
xor r14d, r14d
cmp rax, r14
je 0x1009b185
mov dl, r13b
mov rcx, rax
call fcn.100bf540
mov rsi, rax
jmp 0x1009b188
mov rsi, r14
cmp rsi, r14
je 0x1009b196
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b1a6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x40], rsi
jmp 0x1009b2ae
cmp r14w, 0xc
jne 0x1009b1be
mov edx, 0x40202
jmp 0x1009b20c
cmp r14w, 0xff
jbe 0x1009b201
mov rax, qword [rsp + 0x140]
mov dword [rax], r13d
test rdi, rdi
je 0x1009b1e0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b1ef
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x1009b7e3
movzx edx, r14b
add rdx, 0x40100
xor r9d, r9d
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x108]
call fcn.10005cac
mov esi, eax
xor r14d, r14d
cmp eax, r14d
je 0x1009b26c
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b23c
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
cmp rdi, r14
je 0x1009b24b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
cmp rbx, r14
je 0x1009b25a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
cmp qword [rsp + 0x40], r14
jne 0x1009b2ae
mov rax, qword [rsp + 0x140]
mov dword [rax], r13d
cmp rdi, r14
je 0x1009b28d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
cmp rbx, r14
je 0x1009b29c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
xor eax, eax
jmp 0x1009b7e3
lea rcx, [r15 + 0x48]
lea rdx, [rsp + 0x38]
call fcn.1009a304
mov esi, eax
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x1009b2ce
mov rdx, qword [rcx]
call qword [rdx + 0x10]
movsxd rcx, esi
mov rax, qword [r15 + 0x58]
mov rcx, qword [rax + rcx*8]
mov r14, qword [rcx + 8]
mov qword [rsp + 0x38], 0
mov rax, qword [r14]
lea r8, [rsp + 0x38]
lea rdx, [0x100ef448]
mov rcx, r14
call qword [rax]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b36d
mov rdx, qword [rsp + 0x118]
mov al, byte [rdx + 2]
mov byte [rsp + 0x31], al
mov rax, qword [rcx]
mov r8d, r13d
lea rdx, [rsp + 0x31]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009b368
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b338
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x1009b347
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b356
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b378
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x38], 0
mov rax, qword [r14]
lea r8, [rsp + 0x38]
lea rdx, [0x100ef418]
mov rcx, r14
call qword [rax]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b3f8
mov rax, qword [rcx]
mov edx, dword [rsp + 0x138]
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009b3f3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b3c3
mov rdx, qword [rcx]
call qword [rdx + 0x10]
nop
test rdi, rdi
je 0x1009b3d2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b3e1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1009b403
mov rax, qword [rcx]
call qword [rax + 0x10]
xor esi, esi
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0x118]
test byte [rax + 2], r13b
je 0x1009b5a3
cmp qword [r15 + 0x38], rsi
jne 0x1009b476
mov ecx, 0xd8
call fcn.10002fd0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1009b440
mov rcx, rax
call fcn.10007940
jmp 0x1009b442
xor eax, eax
mov qword [r15 + 0x30], rax
test rax, rax
je 0x1009b451
lea r13, [rax + 0x10]
jmp 0x1009b454
xor r13d, r13d
test r13, r13
je 0x1009b463
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
mov rcx, qword [r15 + 0x38]
test rcx, rcx
je 0x1009b472
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x38], r13
mov r13, qword [r15 + 0x30]
test rdi, rdi
je 0x1009b488
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rcx, qword [r13 + 0xd0]
test rcx, rcx
je 0x1009b49a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r13 + 0xd0], rdi
cmp byte [rsp + 0x30], 0
je 0x1009b4b9
mov rdx, rbx
mov rcx, qword [r15 + 0x10]
call fcn.100d15f0
mov r13d, eax
jmp 0x1009b51a
cmp byte [rsp + 0x32], 0
je 0x1009b50c
mov rax, qword [rsp + 0x118]
mov r9, qword [rax + 0x18]
mov r8d, dword [rax + 0xc]
mov rdx, rbx
mov rcx, qword [r15 + 8]
call fcn.100d2340
mov r13d, eax
test eax, eax
jne 0x1009b5ed
lea rdx, [rsp + 0x31]
mov rcx, qword [r15 + 8]
call fcn.100d20a0
mov r13d, eax
test eax, eax
jne 0x1009b5ed
cmp byte [rsp + 0x31], al
jne 0x1009b51a
lea r13d, [rax + 1]
jmp 0x1009b51a
mov rdx, rbx
mov rcx, qword [r15]
call fcn.100d1d50
mov r13d, eax
test r13d, r13d
jne 0x1009b5ed
mov rcx, qword [r15 + 0x30]
add rcx, 8
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 0x18]
mov esi, eax
test eax, eax
je 0x1009b56a
test rdi, rdi
je 0x1009b549
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
nop
test rbx, rbx
je 0x1009b558
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
mov eax, esi
jmp 0x1009b7e3
mov rbp, qword [r15 + 0x30]
mov qword [rsp + 0x88], rbp
mov rsi, qword [r15 + 0x38]
test rsi, rsi
je 0x1009b588
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov qword [rsp + 0x38], rsi
cmp byte [rsp + 0x30], 0
je 0x1009b5b9
mov rcx, qword [r15 + 0x10]
call fcn.100d1670
test al, al
jne 0x1009b5b9
jmp 0x1009b5f8
test rbx, rbx
je 0x1009b5b1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rsi, rbx
mov qword [rsp + 0x38], rbx
mov r10, qword [r14]
mov rdx, qword [rsp + 0x118]
add rdx, 0x18
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov r8, r12
mov rdx, rsi
mov rcx, r14
call qword [r10 + 0x18]
mov r13d, eax
mov r14d, 1
cmp r13d, r14d
jne 0x1009b646
test rsi, rsi
je 0x1009b607
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
test rdi, rdi
je 0x1009b616
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b625
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
test rbp, rbp
je 0x1009b63f
lea rcx, [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
xor eax, eax
jmp 0x1009b7e3
cmp r13d, 0x80004001
jne 0x1009b6a8
mov rax, qword [rsp + 0x140]
mov dword [rax], r14d
test rsi, rsi
je 0x1009b669
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
test rdi, rdi
je 0x1009b678
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b687
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
test rbp, rbp
je 0x1009b6a1
lea rcx, [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
xor eax, eax
jmp 0x1009b7e3
test r13d, r13d
je 0x1009b6fc
test rsi, rsi
je 0x1009b6bc
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
test rdi, rdi
je 0x1009b6cb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1009b6da
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
test rbp, rbp
je 0x1009b6f4
lea rcx, [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov eax, r13d
jmp 0x1009b7e3
xor r13d, r13d
cmp rsi, r13
je 0x1009b70d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov cl, r14b
mov byte [rsp + 0x33], r14b
cmp byte [rsp + 0x34], r13b
je 0x1009b732
mov eax, dword [r12 + 0x20]
not eax
mov rdx, qword [rsp + 0x118]
cmp eax, dword [rdx + 0xc]
sete r14b
cmp byte [rsp + 0x30], r13b
je 0x1009b78b
mov r8d, 0xa
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x110]
call fcn.1009f674
mov rsi, rax
cmp rbx, r13
je 0x1009b762
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
mov rbx, rsi
mov qword [rsp + 0x70], rsi
lea r8, [rsp + 0x33]
mov rdx, rsi
mov rcx, qword [r15 + 0x10]
call fcn.100d16a0
movzx ecx, byte [rsp + 0x33]
cmp eax, r13d
cmovne ecx, r13d
mov byte [rsp + 0x33], cl
cmp r14b, r13b
je 0x1009b79a
cmp cl, r13b
je 0x1009b79a
mov ecx, r13d
jmp 0x1009b79f
mov ecx, 3
mov rax, qword [rsp + 0x140]
mov dword [rax], ecx
cmp rdi, r13
je 0x1009b7b8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
cmp rbx, r13
je 0x1009b7c7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
nop
cmp rbp, r13
je 0x1009b7e1
lea rcx, [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
xor eax, eax
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret