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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov r13, rdx
mov rdi, rcx
mov dword [rsp + 0x38], 1
xor esi, esi
mov qword [rdx + 8], rsi
lea rax, vtable.wxImage.0
mov qword [rdx], rax
mov dword [rsp + 0x38], 1
mov rax, qword [rcx + 8]
test rax, rax
je 0x14017aa85
cmp byte [rax + 0x38], sil
je 0x14017aa85
cmp dword [rax + 0x10], esi
je 0x14017aa85
cmp dword [rax + 0x14], esi
je 0x14017aa85
mov ecx, dword [r8]
test ecx, ecx
js 0x14017aa61
cmp dword [r8 + 4], esi
jl 0x14017aa61
mov ebx, dword [r8 + 8]
dec ecx
add ebx, ecx
mov rcx, rdi
call fcn.14017ab40
cmp ebx, eax
jg 0x14017aa61
mov ecx, dword [r14 + 0xc]
mov ebx, dword [r14 + 4]
dec ecx
add ebx, ecx
mov rcx, rdi
call fcn.140179f30
cmp ebx, eax
jg 0x14017aa61
mov eax, dword [r14 + 8]
mov dword [rsp + 0x34], eax
mov ecx, dword [r14 + 0xc]
mov dword [rsp + 0x3c], ecx
xor r9d, r9d
mov r8d, ecx
mov edx, eax
mov rcx, r13
call fcn.1401792b0
mov rcx, rdi
call fcn.140179e00
mov r15, rax
mov rcx, qword [rdi + 8]
mov r12, qword [rcx + 0x30]
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x14017a9ef
cmp byte [rdi + 0x38], sil
je 0x14017a9ef
cmp dword [rdi + 0x10], esi
je 0x14017a9ef
cmp dword [rdi + 0x14], esi
je 0x14017a9ef
mov rdi, qword [rdi + 0x20]
test rdi, rdi
je 0x14017aa39
lea rbx, str.invalid_image
test r12, r12
je 0x14017a807
mov rax, qword [r13 + 8]
test rax, rax
je 0x14017a790
cmp byte [rax + 0x38], sil
je 0x14017a790
cmp dword [rax + 0x10], esi
je 0x14017a790
cmp dword [rax + 0x14], esi
je 0x14017a790
mov rcx, r13
call fcn.14004c650
mov rax, qword [r13 + 8]
mov ecx, dword [rax + 0x14]
imul ecx, dword [rax + 0x10]
movsxd rcx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
mov rcx, qword [r13 + 8]
cmp byte [rcx + 0x3a], 0
jne 0x14017a77e
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r13 + 8]
mov qword [rcx + 0x30], rsi
mov rax, qword [r13 + 8]
mov byte [rax + 0x3a], 0
jmp 0x14017a7cf
cmp qword [0x1404b3060], 0
je 0x14017a7cf
mov qword [rsp + 0x20], rbx
lea r9, str._IsOk___
lea r8, str.wxImage::SetAlpha
mov edx, 0x88f
lea rcx, str.C:LibrarieswxWidgets3.2.4_srccommonimage.cpp
call fcn.140042050
cmp byte [0x1404c47a8], 0
je 0x14017a7cf
mov byte [0x1404c47a8], 0
int3
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x14017a89d
cmp byte [rsi + 0x38], 0
je 0x14017a89d
cmp dword [rsi + 0x10], 0
je 0x14017a89d
cmp dword [rsi + 0x14], 0
je 0x14017a89d
mov rsi, qword [rsi + 0x30]
test rsi, rsi
je 0x14017a8e0
mov rbp, rdi
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 8]
cmp byte [rax + 0x28], 0
je 0x14017a94d
movzx edi, byte [rax + 0x2b]
movzx ecx, byte [rax + 0x2a]
mov byte [rsp + 0x30], cl
movzx eax, byte [rax + 0x29]
mov byte [rsp + 0x98], al
mov rax, qword [r13 + 8]
test rax, rax
je 0x14017a90b
cmp byte [rax + 0x38], 0
je 0x14017a90b
cmp dword [rax + 0x10], 0
je 0x14017a90b
cmp dword [rax + 0x14], 0
je 0x14017a90b
mov rcx, r13
call fcn.14004c650
mov rax, qword [r13 + 8]
movzx ecx, byte [rsp + 0x98]
mov byte [rax + 0x29], cl
mov rax, qword [r13 + 8]
movzx ecx, byte [rsp + 0x30]
mov byte [rax + 0x2a], cl
mov rax, qword [r13 + 8]
mov byte [rax + 0x2b], dil
mov rax, qword [r13 + 8]
mov byte [rax + 0x28], 1
mov rdi, rbp
jmp 0x14017a94d
cmp qword [0x1404b3060], 0
je 0x14017aacb
mov qword [rsp + 0x20], rbx
lea r9, str._IsOk___
lea r8, str.wxImage::GetAlpha
mov edx, 0x8a1
lea rcx, str.C:LibrarieswxWidgets3.2.4_srccommonimage.cpp
call fcn.140042050
cmp byte [0x1404c47a8], 0
je 0x14017a8e0
mov byte [0x1404c47a8], 0
int3
cmp qword [0x1404b3060], 0
je 0x14017aacb
lea rax, str.unable_to_create_alpha_channel
mov qword [rsp + 0x20], rax
lea r9, str._subalpha_
mov edx, 0x613
jmp 0x14017aaa7
mov rdi, rbp
cmp qword [0x1404b3060], 0
je 0x14017a94d
mov qword [rsp + 0x20], rbx
lea r9, str._IsOk___
lea r8, str.wxImage::SetMaskColour
mov edx, 0x8dd
lea rcx, str.C:LibrarieswxWidgets3.2.4_srccommonimage.cpp
call fcn.140042050
cmp byte [0x1404c47a8], 0
je 0x14017a94d
mov byte [0x1404c47a8], 0
int3
mov rcx, qword [rsp + 0x80]
call fcn.14017ab40
movsxd r9, eax
mov r8d, eax
imul r8d, dword [r14 + 4]
add r8d, dword [r14]
lea ecx, [r8 + r8*2]
movsxd rdx, ecx
add r15, rdx
movsxd rcx, r8d
add r12, rcx
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
jle 0x14017aacb
mov eax, dword [rsp + 0x34]
lea eax, [rax + rax*2]
movsxd r14, eax
lea eax, [r9 + r9*2]
movsxd rbx, eax
mov qword [rsp + 0x98], rbx
mov ebp, ecx
mov r13, r9
mov r8, r14
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r14
add r15, rbx
test rsi, rsi
je 0x14017a9dc
movsxd rbx, dword [rsp + 0x34]
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rbx
add r12, r13
mov rbx, qword [rsp + 0x98]
sub rbp, 1
jne 0x14017a9a2
mov r13, qword [rsp + 0x88]
jmp 0x14017aacb
cmp qword [0x1404b3060], 0
je 0x14017aacb
lea rbx, str.invalid_image
mov qword [rsp + 0x20], rbx
lea r9, str._IsOk___
lea r8, str.wxImage::GetData
mov edx, 0x823
lea rcx, str.C:LibrarieswxWidgets3.2.4_srccommonimage.cpp
call fcn.140042050
cmp byte [0x1404c47a8], 0
je 0x14017aa39
mov byte [0x1404c47a8], 0
int3
cmp qword [0x1404b3060], 0
je 0x14017aacb
lea rax, str.unable_to_create_image
mov qword [rsp + 0x20], rax
lea r9, str._subdata_
mov edx, 0x60e
jmp 0x14017aaa7
cmp qword [0x1404b3060], 0
je 0x14017aacb
lea rax, str.invalid_subimage_size
mov qword [rsp + 0x20], rax
lea r9, str.__rect.GetLeft___0____rect.GetTop___0____rect.GetRight___GetWidth______rect.GetBottom___GetHeight____
mov edx, 0x602
jmp 0x14017aaa7
cmp qword [0x1404b3060], 0
je 0x14017aacb
lea rbx, str.invalid_image
mov qword [rsp + 0x20], rbx
lea r9, str._IsOk___
mov edx, 0x5fe
lea r8, str.wxImage::GetSubImage
lea rcx, str.C:LibrarieswxWidgets3.2.4_srccommonimage.cpp
call fcn.140042050
cmp byte [0x1404c47a8], 0
je 0x14017aacb
mov byte [0x1404c47a8], 0
int3
mov rax, r13
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret