Function at 0x140179420
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
movaps xmmword [rsp + 0x210], xmm6
mov rax, qword [0x14055f260]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov r12, r8
mov rsi, rdx
mov r13, rcx
mov qword [rsp + 0x40], rcx
xor eax, eax
mov r14d, eax
mov dword [rsp + 0x30], eax
test rdx, rdx
je 0x140179c2a
cmp qword [rcx], rax
je 0x140179c0c
call fcn.140178390
test rax, rax
js 0x140179bee
mov rcx, r13
call fcn.140178390
mov rdi, rax
mov rcx, r13
call fcn.140178390
cmp rdi, rax
jne 0x140179bcc
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_clearerr]
call fcn.14010aa30
mov qword [rsp + 0x38], rax
lea rcx, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
je 0x1401794f9
mov byte [rax + rdi], 0
mov ecx, Ordinal_27
call fcn.14036c0f8
mov qword [rsp + 0x38], rax
mov qword [rax], r15
mov qword [rax + 8], rdi
mov edx, 1
mov word [rax + 0x10], dx
mov byte [rax + 0x12], dl
jmp 0x140179503
call fcn.14010aa30
mov edx, 1
mov qword [rsp + 0x38], rax
mov rbx, rax
mov r9, qword [r13]
mov r8, rdi
mov rcx, qword [rax]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rax
mov rcx, r13
call fcn.140177950
mov r15d, 0xffff
test al, al
je 0x1401799a4
xor al, al
lea r12, str.C:ProjectwxWidgets_3.2.2.1_srccommon_ffile.cpp
lea r13, str.wxFFile::ReadAll
xor r15d, r15d
lea rcx, [0x1403c8f48]
test al, al
jne 0x1401795a7
mov rdx, rcx
lea rcx, [rbp + 0xa0]
call fcn.14010a1d0
mov rdi, rax
or r14d, 1
mov dword [rsp + 0x30], r14d
cmp dword [0x140575068], 0
je 0x14017958a
call sub.KERNEL32.dll_GetCurrentThreadId
cmp eax, dword [0x140575068]
je 0x14017958a
call fcn.140136fe0
jmp 0x140179591
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1401795a7
mov rcx, rdi
call fcn.140136b60
cmp eax, 1
jb 0x1401795a7
mov dil, 1
jmp 0x1401795aa
xor dil, dil
test r14b, 1
je 0x1401795cd
and r14d, 0xfffffffe
mov rcx, qword [rbp + 0xc0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rbp + 0xa0]
call fcn.14000e160
test dil, dil
je 0x140179996
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
lea rdx, str.Read_error_on_file__s
lea rcx, [rbp + 0xd0]
call fcn.1400104b0
nop
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r15w
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
mov qword [rbp], r15
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r15w
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
call fcn.140149fa0
test rax, rax
je 0x140179656
lea r9, [rbp - 0x40]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.14014a3e0
mov rdi, rax
test rax, rax
jne 0x140179665
lea rcx, [rbp + 0xd0]
call fcn.14014b190
mov rdi, rax
call fcn.14010aa30
mov qword [rsp + 0x68], rax
call fcn.14010aa30
mov qword [rsp + 0x70], rax
call fcn.14010aa30
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], r15
lea rdx, str.wx.sys_error
lea rcx, [rbp + 0xa0]
call fcn.1400104b0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 8
lea rcx, [rbp - 0x70]
call fcn.140010410
mov rsi, rax
mov qword [rsp + 0x48], rax
mov edi, 1
mov dword [rbp + 0x20], edi
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x38], r13
mov dword [rbp + 0x30], WSASetLastError
lea rax, [0x1403c8f48]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [rbp + 0x58], eax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r15w
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x90], r15
call sub.KERNEL32.dll_GetLastError
mov r8d, eax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x20]
call fcn.1401216e0
mov r15, rax
mov qword [rsp + 0x30], rsi
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1401448b0
mov ecx, eax
and ecx, 6
cmp ecx, eax
je 0x140179790
cmp qword [0x14055a4b8], 0
je 0x140179790
lea rax, str.format_specifier_doesnt_match_argument_type
mov qword [rsp + 0x20], rax
lea r9, str._argtype___wxFormatString::Arg_String____argtype
lea r8, str.wxArgNormalizerWchar_class_wxString_const__::wxArgNormalizerWchar
mov edx, 0x230
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewx_strvararg.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x140179790
mov byte [0x1405750a8], 0
int3
lea rcx, [rsp + 0x68]
call fcn.140143f20
mov rdi, rax
lea rcx, [rsp + 0x30]
call fcn.140145820
mov r8, rax
mov rdx, rdi
mov rcx, r15
call fcn.140011670
nop
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rsi
call fcn.14000e160
nop
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x140179819
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140179814
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140179981
call fcn.14036c454
xor r15d, r15d
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r15w
mov rdi, qword [rbp + 0x60]
test rdi, rdi
je 0x14017988a
lea r8, [0x1400110e0]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
call fcn.14011b9f0
mov qword [rdi + 0x30], r15
mov rcx, qword [rdi + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea r8, [0x140011220]
mov rdx, qword [rdi]
mov rcx, qword [rdi + 8]
call fcn.14011b9f0
mov qword [rdi + 0x10], r15
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea edx, [r15 + 0x40]
mov rcx, rdi
call fcn.14036c454
nop
mov rcx, qword [rbp + 0xc0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rbp + 0xa0]
call fcn.14000e160
nop
lea rcx, [rsp + 0x68]
call fcn.140010cb0
nop
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x1401798f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401798f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140179988
call fcn.14036c454
mov qword [rbp], r15
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r15w
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140179950
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017994b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017998f
call fcn.14036c454
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r15w
mov rcx, qword [rbp + 0xf0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rbp + 0xd0]
call fcn.14000e160
mov al, 1
jmp 0x140179547
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor dil, dil
mov r15d, 0xffff
jmp 0x140179b90
cmp byte [rbx + 0x12], 0
jne 0x1401799f0
cmp qword [0x14055a4b8], 0
je 0x1401799f0
lea rax, str.cannot_shrink_non_owned_buffer
mov qword [rsp + 0x20], rax
lea r9, str.this__m_data__m_owned
lea r8, str.wxCharTypeBuffer_char_::shrink
mov edx, 0x15b
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewx_buffer.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x1401799f0
mov byte [0x1405750a8], 0
int3
cmp word [rbx + 0x10], 1
je 0x140179a3d
cmp qword [0x14055a4b8], 0
je 0x140179a3d
lea rax, str.cant_shrink_shared_buffer
mov qword [rsp + 0x20], rax
lea r9, str.this__m_data__m_ref__1
lea r8, str.wxCharTypeBuffer_char_::shrink
mov edx, 0x15c
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewx_buffer.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x140179a3d
mov byte [0x1405750a8], 0
int3
cmp rdi, qword [rbx + 8]
jbe 0x140179a86
cmp qword [0x14055a4b8], 0
je 0x140179a86
mov qword [rsp + 0x20], 0
lea r9, str.len___this__length__
lea r8, str.wxCharTypeBuffer_char_::shrink
mov edx, 0x15e
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewx_buffer.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x140179a86
mov byte [0x1405750a8], 0
int3
mov qword [rbx + 8], rdi
mov rax, qword [rbx]
mov byte [rdi + rax], 0
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], ax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov r9, r12
mov r8, qword [rbx + 8]
mov rdx, qword [rbx]
lea rcx, [rsp + 0x48]
call fcn.140109720
nop
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x40]
call fcn.14001d300
nop
call fcn.14010aa30
mov rcx, qword [rsp + 0x48]
cmp rcx, rax
je 0x140179b1d
add word [rcx + 0x10], r15w
jne 0x140179b17
mov rdi, qword [rsp + 0x48]
test rdi, rdi
je 0x140179b17
cmp byte [rdi + 0x12], 0
je 0x140179b0a
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rdi
call fcn.14036c454
call fcn.14010aa30
nop
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x48], xmm0
movups xmm6, xmmword [rsi + 0x10]
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rsi + 0x10], xmm1
mov dil, 1
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
psrldq xmm6, 8
movq rdx, xmm6
cmp rdx, 8
jb 0x140179b90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140179b8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140179b8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14036c454
nop
call fcn.14010aa30
cmp rbx, rax
je 0x140179bc3
add word [rbx + 0x10], r15w
jne 0x140179bbd
cmp byte [rbx + 0x12], 0
je 0x140179bb0
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
nop
movzx eax, dil
jmp 0x140179c71
cmp qword [0x14055a4b8], r14
je 0x140179c6f
lea rax, str.huge_file_not_supported
lea r9, str.__wxFileOffset_length__Length___
mov edx, 0x5e
jmp 0x140179c46
cmp qword [0x14055a4b8], r14
je 0x140179c6f
lea rax, [0x1403daeb8]
lea r9, str._Length_____0_
mov edx, 0x5c
jmp 0x140179c46
cmp qword [0x14055a4b8], rax
je 0x140179c6f
lea rax, str.cant_read_from_closed_file
lea r9, str._IsOpened___
mov edx, 0x5b
jmp 0x140179c46
cmp qword [0x14055a4b8], rax
je 0x140179c6f
lea rax, str.invalid_parameter
lea r9, str._str_
mov edx, 0x5a
mov qword [rsp + 0x20], rax
lea r8, str.wxFFile::ReadAll
lea rcx, str.C:ProjectwxWidgets_3.2.2.1_srccommon_ffile.cpp
call fcn.1401190f0
cmp byte [0x1405750a8], r14b
je 0x140179c6f
mov byte [0x1405750a8], r14b
int3
xor al, al
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14036c0d0
mov rbx, qword [rsp + 0x278]
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret