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

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14028e6b0]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov rdi, rcx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
cmp qword [rcx + 0x70], r13
je 0x140059b85
mov r8, qword [rcx + 0x78]
mov r9, qword [rcx + 0x40]
mov rcx, qword [rcx + 0x48]
sub rcx, r9
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r8
ja 0x14005956e
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
lea rax, [r8 + r8*2]
lea rsi, [r9 + rax*8]
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
sar rax, 3
inc rax
movsxd r10, dword [rdi + 0x80]
cmp r10, rax
jb 0x14005961e
mov rcx, qword [rdi + 0x48]
sub rcx, r9
mov rax, rbx
imul rcx
mov r9, rdx
sar r9, 2
mov rcx, r9
shr rcx, 0x3f
add r9, rcx
mov r8, r13
je 0x14005961e
mov r11, qword [rdi + 0x40]
mov rcx, qword [rdi + 0x48]
sub rcx, r11
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rcx, r13
nop dword [rax]
cmp rdx, r8
jbe 0x140059611
mov rax, qword [r11 + rcx + 8]
sub rax, qword [r11 + rcx]
sar rax, 3
inc rax
cmp r10, rax
jb 0x140059608
inc r8
add rcx, 0x18
cmp r8, r9
jb 0x1400595e0
jmp 0x14005961e
movsxd rax, r8d
mov qword [rdi + 0x78], rax
jmp 0x14005961e
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
lea rax, [0x1401d1a88]
mov qword [rsp + 0x30], rax
lea rax, [0x1401d1a90]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x38], rax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp - 0x38], rax
mov dword [rsp + 0x20], 1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x2c], edx
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rbx, [rsp + 0x30]
add rbx, rcx
mov rcx, rbx
call fcn.1400058b0
lea rax, [rsp + 0x48]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], r13
lea rdx, [rbp + 0x38]
mov rcx, rbx
call fcn.140008c10
nop
mov rcx, rax
call fcn.140002190
mov r14, rax
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x1400596e8
mov r8, qword [rcx]
call qword [r8 + InitCommonControls]
test rax, rax
je 0x1400596e8
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rax, qword [r14]
mov dl, 0x20
mov rcx, r14
call qword [rax + 0x60]
mov word [rbx + 0x58], ax
cmp qword [rbx + 0x48], 0
jne 0x140059710
mov edx, dword [rbx + 0x10]
or edx, 4
xor r8d, r8d
mov rcx, rbx
call fcn.1400074f0
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x3c], edx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x2c], edx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x2c], edx
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x48]
call fcn.140002690
nop
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x50], r13
mov dword [rbp - 0x48], r13d
mov r14, qword [rdi + 0x70]
cmp r14, 1
jbe 0x140059809
mov rbx, qword [rdi + 0x78]
lea rdx, [0x1401e6278]
lea rcx, [rsp + 0x40]
call fcn.140057590
mov rcx, rax
lea rdx, [rbx + 1]
call fcn.1400276b0
mov rcx, rax
lea rdx, str._of
call fcn.140057590
mov rcx, rax
mov rdx, r14
call fcn.1400276b0
mov rcx, rax
lea rdx, [0x1401e6274]
call fcn.140057590
mov rdx, qword [rdi + 0x78]
mov rcx, qword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
sub rax, rcx
sar rax, 3
cmp rax, rdx
ja 0x14005982e
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
mov ebx, 0x20
mov rdx, qword [rcx + rdx*8]
lea rcx, [rsp + 0x40]
call fcn.140057590
mov rcx, rax
movzx edx, bx
call fcn.140057810
mov rcx, rax
mov rdx, qword [rdi + 0x20]
call fcn.140057590
mov rcx, rax
movzx edx, bx
call fcn.140057810
mov rcx, rax
movzx edx, word [rdi + 0x84]
call fcn.140057810
mov r12d, r13d
mov r14d, r13d
mov r15, qword [rsi + 8]
sub r15, qword [rsi]
sar r15, 3
mov rbx, r13
test r15, r15
je 0x1400599d6
nop
cmp ebx, dword [rdi + 0x80]
jne 0x140059949
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.140009be0
nop
mov r12, qword [rax + 0x10]
mov rax, qword [rbp + 0x60]
cmp rax, 8
jb 0x140059913
inc rax
mov rcx, qword [rbp + 0x48]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400599b6
add rax, rax
cmp rax, 0x1000
jb 0x14005990e
test cl, 0x1f
jne 0x1400599b0
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400599aa
sub rcx, rax
cmp rcx, 8
jb 0x1400599a4
cmp rcx, 0x27
ja 0x14005999e
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0x60], 7
mov qword [rbp + 0x58], r13
mov word [rbp + 0x48], r13w
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
sub rax, rcx
sar rax, 3
cmp rax, rbx
jbe 0x1400599bc
mov rcx, qword [rcx + rbx*8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r14d, [r12 + rax]
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, rdx
sar rcx, 3
cmp rcx, rbx
jbe 0x1400599c9
mov rdx, qword [rdx + rbx*8]
lea rcx, [rsp + 0x40]
call fcn.140057590
lea rax, [r15 - 1]
cmp rbx, rax
jae 0x140059991
movzx edx, word [rdi + 0x88]
lea rcx, [rsp + 0x40]
call fcn.140057810
mov rcx, rax
mov edx, 0x20
call fcn.140057810
inc rbx
cmp rbx, r15
jae 0x1400599d6
jmp 0x140059890
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
movzx edx, word [rdi + 0x86]
lea rcx, [rsp + 0x40]
call fcn.140057810
mov rbx, qword [rdi + 0x78]
mov rcx, qword [rdi + 0x58]
mov rax, qword [rdi + 0x60]
sub rax, rcx
sar rax, 3
cmp rax, rbx
ja 0x140059a0c
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
mov rax, qword [rcx + rbx*8]
cmp word [rax], 0
je 0x140059a53
mov rsi, rcx
mov rax, qword [rdi + 0x60]
sub rax, rcx
sar rax, 3
cmp rax, rbx
ja 0x140059a36
lea rcx, str.invalid_vector_T__subscript
call fcn.14014587c
int3
lea rdx, [0x1401d1ab8]
lea rcx, [rsp + 0x40]
call fcn.140057590
mov rcx, rax
mov rdx, qword [rsi + rbx*8]
call fcn.140057590
mov rcx, qword [rdi]
test rcx, rcx
je 0x140059a86
xor r9d, r9d
xor r8d, r8d
mov edx, 0x89a
call fcn.14000f5d0
cmp rax, 1
jne 0x140059a86
xor r9d, r9d
xor r8d, r8d
mov edx, 0x899
mov rcx, qword [rdi]
call fcn.14000f5d0
jmp 0x140059a8c
mov eax, dword [rdi + 0x10]
mov dword [rdi + 0x14], eax
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.140009be0
nop
cmp qword [rax + 0x18], 8
jb 0x140059aa5
mov rax, qword [rax]
mov r8, rax
mov edx, dword [rdi + 0x14]
mov rcx, qword [rdi]
call fcn.1401039b0
nop
mov rax, qword [rbp + 0x60]
cmp rax, 8
jb 0x140059b23
inc rax
mov rcx, qword [rbp + 0x48]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
jbe 0x140059ada
call fcn.14018acfc
int3
add rax, rax
cmp rax, 0x1000
jb 0x140059b1e
test byte [rbp + 0x48], 0x1f
je 0x140059af1
call fcn.14018acfc
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140059b00
call fcn.14018acfc
int3
sub rcx, rax
cmp rcx, 8
jae 0x140059b0f
call fcn.14018acfc
int3
cmp rcx, 0x27
jbe 0x140059b1b
call fcn.14018acfc
int3
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0x60], 7
mov qword [rbp + 0x58], r13
mov word [rbp + 0x48], r13w
mov byte [rdi + 0xb1], 1
cmp r12d, r14d
je 0x140059b54
movsxd r9, r14d
movsxd r8, r12d
mov edx, 0x89c
mov rcx, qword [rdi]
call fcn.14000f5d0
nop
lea rcx, [rbp - 0x38]
call fcn.1400038c0
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp - 0x38], rax
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x38]
call fcn.1401465a4
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.140168660
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret