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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov edi, dword [0x18014603c]
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x18]
lea rsi, [rax + 0x10]
mov rbx, qword [rax + 0x10]
cmp rsi, rbx
cmp esi, ebx
je 0x180008b61
mov rcx, qword [rbx + 0x60]
call fcn.180008a5f
cmp edi, eax
je 0x180008b11
mov rbx, qword [rbx]
cmp rsi, rbx
jne 0x180008af4
mov r15d, 0
jmp 0x180008b15
mov r15, qword [rbx + 0x30]
mov ebx, dword [0x180146068]
mov r12d, dword [0x180146024]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
mov eax, eax
lea rax, [r15 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r15
mov qword [rsp + 0x40], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008c5a
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov r13d, ebx
jmp 0x180008bae
mov r15d, 0
jmp 0x180008b15
mov edx, r13d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180008b99
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008b69
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180008b88
imul edx, ebx
jmp 0x180008b6c
mov edx, 0
cmp r12d, edx
je 0x180008bd3
lea rax, [rdi + 1]
cmp rdi, r14
je 0x180008c53
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180008b94
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x180008b7b
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov edx, dword [0x180146084]
mov edx, edx
mov ecx, 0
call rax
mov r13, rax
mov ebx, dword [0x180146068]
mov r12d, dword [0x180146038]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
mov eax, eax
lea rax, [r15 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r15
mov qword [rsp + 0x48], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008d24
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov qword [rsp + 0x40], r13
mov r13d, ebx
jmp 0x180008ca2
mov eax, 0
jmp 0x180008bf0
mov eax, 0
jmp 0x180008bf0
mov edx, r13d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180008c91
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008c61
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180008c80
imul edx, ebx
jmp 0x180008c64
mov edx, 0
cmp r12d, edx
je 0x180008cc7
lea rax, [rdi + 1]
cmp rdi, r14
je 0x180008d18
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180008c8c
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x180008c73
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov r8d, 0x104
mov rdx, r13
mov ecx, 0
call rax
mov r9, qword [str.tfbovu]
lea edx, [rax - 1]
mov ecx, dword [0x180146058]
mov r8d, edx
cmp word [r13 + r8*2], cx
jne 0x180008d2d
mov edx, eax
jmp 0x180008d4c
mov r13, qword [rsp + 0x40]
mov eax, 0
jmp 0x180008ce9
mov eax, 0
jmp 0x180008ce9
mov edx, eax
lea eax, [rdx + 1]
mov word [r13 + rax*2], 0
lea eax, [rdx - 1]
mov r8d, eax
mov ecx, dword [0x180146058]
cmp word [r13 + r8*2], cx
jne 0x180008d2b
movzx eax, byte [r9]
test al, al
je 0x180008d73
mov ecx, 0
lea r8d, [rdx + rcx]
cbw
mov word [r13 + r8*2], ax
mov dword [r13 + r8*2], eax
add ecx, 1
mov eax, ecx
movzx eax, byte [r9 + rax]
test al, al
jne 0x180008d59
mov ebx, dword [0x180146068]
mov r12d, dword [0x180146060]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
mov eax, eax
lea rax, [r15 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r15
mov qword [rsp + 0x48], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008eec
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov qword [rsp + 0x40], r13
mov r13d, ebx
jmp 0x180008e09
mov edx, r13d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180008df4
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008dc4
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180008de3
imul edx, ebx
jmp 0x180008dc7
mov edx, 0
cmp r12d, edx
je 0x180008e2e
lea rax, [rdi + 1]
cmp rdi, r14
je 0x180008edd
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180008def
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x180008dd6
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov r9d, dword [0x180146048]
mov ecx, dword [0x180146034]
mov r8d, dword [0x180146074]
adc dl, dl
adc eax, dword [rax]
mov edx, dword [0x180146090]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], ecx
mov r9d, 0
mov rcx, r13
call rax
mov qword [rsp + 0x40], rax
mov ebx, dword [0x180146068]
mov r12d, dword [0x180146044]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
mov eax, eax
lea rax, [r15 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r15
mov qword [rsp + 0x50], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180008fef
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov qword [rsp + 0x48], r13
mov r13d, ebx
jmp 0x180008f15
mov r13, qword [rsp + 0x40]
mov eax, 0
jmp 0x180008e50
mov eax, 0
jmp 0x180008e50
mov edx, r13d
jmp 0x180008f4f
mov edx, 0
cmp r12d, edx
je method.std::num_put_char__class_std::ostreambuf_iterator_char__struct_std::char_traits_char___.virtual_64
lea rax, [rdi + 1]
cmp rdi, r14
je 0x180008fe3
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180008efb
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008ef6
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180008f45
imul edx, ebx
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
jne 0x180008f38
jmp 0x180008f00
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov edx, 0
mov rcx, qword [rsp + 0x40]
call rax
mov dword [rsp + 0x50], eax
mov ebx, dword [0x180146068]
mov r12d, dword [0x18014605c]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
mov eax, eax
lea rax, [r15 + rax*8 + 0x80]
mov eax, dword [rdx + rax + 8]
add rax, r15
mov qword [rsp + 0x58], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x18000914f
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov qword [rsp + 0x48], r13
mov r13d, ebx
jmp 0x180009015
mov r13, qword [rsp + 0x48]
mov eax, 0
jmp 0x180008f82
mov eax, 0
jmp 0x180008f82
mov edx, r13d
jmp 0x18000904f
mov edx, 0
cmp r12d, edx
je method.std::num_put_char__class_std::ostreambuf_iterator_char__struct_std::char_traits_char___.virtual_72
lea rax, [rdi + 1]
cmp r14, rdi
je 0x180009140
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180008ffb
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180008ff6
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180009045
imul edx, ebx
movzx eax, r8b
add edx, eax
add rcx, 1
cmp r9, rcx
jne 0x180009038
jmp 0x180009000
mov r13, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov dword [rsp + 0x7c], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x7c]
mov r8d, dword [rsp + 0x50]
mov rdx, r13
mov rcx, qword [rsp + 0x40]
call rax
mov eax, dword [rsp + 0x7c]
add rax, r13
mov qword [rsp + 0x40], rax
mov edx, dword [0x180146028]
mov edx, edx
add rdx, r13
mov ecx, dword [rdx]
mov r8d, dword [rdx + 4]
lea rax, [rdx + 8]
test ecx, ecx
je 0x1800090e0
lea ecx, [rcx - 1]
lea rcx, [rdx + rcx*4 + 0xc]
add dword [rax], r8d
add rax, 4
cmp rax, rcx
jne 0x1800090d4
mov eax, dword [reloc.OLEAUT32.dll_VariantClear]
mov eax, eax
add rax, rdx
mov qword [rsp + 0x48], rax
mov ebx, dword [0x180146068]
mov r12d, dword [0x18014604c]
mov eax, dword [0x18014602c]
movsxd rdx, dword [r15 + 0x3c]
lea rsi, [r15 + rdx]
mov qword [rsp + 0x58], rsi
mov eax, eax
mov eax, dword [rsi + rax*8 + 0x88]
add rax, r15
mov qword [rsp + 0x50], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x180009234
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov r13d, ebx
jmp 0x18000919e
mov r13, qword [rsp + 0x48]
mov eax, 0
jmp 0x180009082
mov eax, 0
jmp 0x180009082
mov edx, r13d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp rcx, r9
je 0x180009189
movzx r8d, byte [rcx]
test ebx, ebx
je 0x180009159
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x180009178
imul edx, ebx
jmp 0x18000915c
mov edx, 0
cmp r12d, edx
je 0x1800091c3
lea rax, [rdi + 1]
cmp rdi, r14
je 0x18000922d
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180009184
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x18000916b
mov rsi, qword [rsp + 0x50]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov eax, dword [rdx + rax]
add rax, r15
mov qword [rsp + 0x50], rax
mov ebx, dword [0x180146068]
mov r12d, dword [0x180146030]
mov eax, dword [0x18014602c]
mov eax, eax
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + rax*8 + 0x88]
add rax, r15
mov qword [rsp + 0x58], rax
mov ebp, dword [rax + 0x20]
mov eax, dword [rax + 0x18]
test eax, eax
je 0x1800093c2
lea r14d, [rax - 1]
mov edi, 0
add rbp, r15
mov r13d, ebx
jmp 0x180009280
mov eax, 0
jmp 0x1800091e0
mov eax, 0
jmp 0x1800091e0
mov edx, r13d
movzx eax, r8b
add edx, eax
add rcx, 1
cmp r9, rcx
je 0x18000926b
movzx r8d, byte [rcx]
test ebx, ebx
je 0x18000923b
mov eax, 0
add eax, 1
cmp ebx, eax
jne 0x18000925a
imul edx, ebx
jmp 0x18000923e
mov edx, 0
cmp r12d, edx
je 0x1800092a5
lea rax, [rdi + 1]
cmp rdi, r14
je 0x1800093b8
mov rdi, rax
mov esi, dword [rbp + rdi*4]
add rsi, r15
mov rcx, rsi
call fcn.180008aa0
test eax, eax
je 0x180009266
mov rcx, rsi
lea eax, [rax - 1]
lea r9, [rsi + rax + 1]
mov edx, 0
jmp 0x18000924d
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 0x24]
lea rdx, [r15 + rdi*2]
movzx edx, word [rdx + rax]
mov eax, dword [rsi + 0x1c]
lea rdx, [r15 + rdx*4]
mov esi, dword [rdx + rax]
add rsi, r15
mov rbx, qword [rsp + 0x48]
lea rdi, [rbx + 0x1e]
mov ecx, dword [0x180146074]
mov ecx, ecx
add rcx, rdi
mov rax, qword [rsp + 0x50]
call rax
movsx rdx, byte [rbx + 0x1e]
add rdx, rdi
mov edi, dword [reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
mov edi, edi
add rdi, rdx
mov ebp, dword [rdx + 4]
mov r14d, dword [rdx + 8]
mov r12d, r14d
lea r15, [rdi + r12]
movsxd rdx, dword [rax + 0x3c]
mov ebx, dword [rax + rdx + 0x2c]
add rbx, rax
mov dword [rsp + 0x78], 0
mov r8d, dword [0x180146078]
lea r13, [rsp + 0x78]
mov r9, r13
mov rdx, r12
mov rcx, rbx
call rsi
mov r8d, r14d
mov rdx, rdi
mov rcx, rbx
call fcn.180008a24
mov r9, r13
mov r8d, dword [rsp + 0x78]
mov rdx, r12
mov rcx, rbx
call rsi
mov ebp, ebp
add rbx, rbp
mov rax, qword [0x180146088]
cmp byte [rax], 0
je 0x1800093cc
mov eax, 0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [0x180146088]
movsx dx, byte [rdx + rax]
mov word [rcx + rax*2], dx
mov rdx, qword [0x180146088]
add rax, 1
cmp byte [rdx + rax], 0
jne 0x180009361
mov rsi, qword [rsp + 0x40]
mov word [rsi + rax*2], 0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], r15
mov byte [rsp + 0x70], 1
lea rcx, [rsp + 0x60]
call rbx
nop
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 0
jmp 0x1800092c2
mov esi, 0
jmp 0x1800092c2
mov eax, 0
jmp 0x180009382