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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14031d040]
xor rax, rsp
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x40]
mov byte [rax + 7], 8
lea rcx, str.MaxWidth
lea rdx, [rsp + 0x30]
cmp rdx, rcx
seta dl
cmp rax, rcx
setbe al
or al, dl
je 0x14012140a
mov ebx, r9d
mov r14, r8
movups xmm0, xmmword [str.MaxWidth]
lea r12, [rsp + 0x30]
movaps xmmword [r12], xmm0
mov word [r12 + 0x10], 0
xorps xmm0, xmm0
movups xmmword [r12 + 0x18], xmm0
lea r15, [rsp + 0x60]
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.14011f6b0
cmp byte [r15 + 0x17], 0
jns 0x140120e0d
mov r15, qword [rsp + 0x60]
mov rcx, r15
call fcn.140218b7c
mov r15d, eax
mov rcx, qword [rsp + 0x78]
call fcn.140071eb0
cmp byte [rsp + 0x77], 0
jns 0x140120e33
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
mov rcx, qword [rsp + 0x48]
call fcn.140071eb0
cmp byte [rsp + 0x47], 0
jns 0x140120e4e
mov rcx, qword [rsp + 0x30]
call fcn.1401ef41c
lea rax, [rsp + 0x42]
mov byte [rax + 5], 9
lea rcx, str.MaxHeight
cmp r12, rcx
seta dl
cmp rax, rcx
setbe al
or al, dl
je 0x14012140a
movups xmm0, xmmword [str.MaxHeight]
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
mov dword [r8 + 0x10], 0x74
xorps xmm0, xmm0
movups xmmword [r8 + 0x18], xmm0
lea r12, [rsp + 0x60]
mov rcx, rsi
mov rdx, r12
call fcn.14011f6b0
cmp byte [r12 + 0x17], 0
jns 0x140120eaf
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.140218b7c
mov r12d, eax
mov rcx, qword [rsp + 0x78]
call fcn.140071eb0
cmp byte [rsp + 0x77], 0
jns 0x140120ed5
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
mov rcx, qword [rsp + 0x48]
call fcn.140071eb0
cmp byte [rsp + 0x47], 0
jns 0x140120ef0
mov rcx, qword [rsp + 0x30]
call fcn.1401ef41c
mov rax, qword [r14]
mov rax, qword [rax + 0x38]
mov rcx, r14
call qword [0x14030c820]
mov r13, 0xffffffffffffffff
test al, al
je 0x140120f21
mov rax, qword [r14]
mov rax, qword [rax + 0x80]
mov rcx, r14
call qword [0x14030c820]
mov r13, rax
mov rax, qword [rsi + 8]
mov r9b, byte [rax + 0x3c]
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov dword [rsp + 0x20], ebx
and r9b, 1
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call qword [0x14030c820]
mov ebx, eax
test al, al
jne 0x140120f72
cmp r13, 0xffffffffffffffff
je 0x1401210bb
mov rax, qword [r14]
mov rax, qword [rax + 0x78]
mov rcx, r14
mov rdx, r13
xor r8d, r8d
call qword [0x14030c820]
jmp 0x1401210bb
mov eax, r12d
or eax, r15d
je 0x1401210ae
mov rax, qword [rsi + 8]
test rax, rax
je 0x140120f9c
cmp byte [rax + 0x38], 1
jne 0x140120f9c
mov r14d, dword [rax + 0x10]
test r14d, r14d
je 0x140120f9c
cmp dword [rax + 0x14], 0
jne 0x140120fe5
xor r14d, r14d
cmp qword [0x14031f9c0], 0
je 0x140120fe5
lea rax, [0x1402f1770]
mov qword [rsp + 0x20], rax
lea rcx, [0x1402f69a8]
lea r8, str.wxImage::GetWidth
lea r9, str._IsOk___
mov edx, 0x79c
call fcn.1400d8690
cmp byte [0x140331ad8], 1
jne 0x140120fe5
mov byte [0x140331ad8], 0
int3
mov rax, qword [rsi + 8]
test rax, rax
je 0x140121003
cmp byte [rax + 0x38], 1
jne 0x140121003
cmp dword [rax + 0x10], 0
je 0x140121003
mov r9d, dword [rax + 0x14]
test r9d, r9d
jne 0x14012104f
xor r9d, r9d
cmp qword [0x14031f9c0], 0
je 0x14012104f
lea rax, [0x1402f1770]
mov qword [rsp + 0x20], rax
lea rcx, [0x1402f69a8]
lea r8, str.wxImage::GetHeight
lea r9, str._IsOk___
mov edx, 0x7a3
call fcn.1400d8690
cmp byte [0x140331ad8], 1
jne 0x14012104c
mov byte [0x140331ad8], 0
int3
xor r9d, r9d
test r12d, r12d
setne al
test r15d, r15d
setne dl
cmp r14d, r15d
seta r8b
cmp r9d, r12d
seta cl
test dl, r8b
jne 0x140121077
mov ebp, r14d
mov r13d, r9d
and al, cl
je 0x1401210a4
mov r13d, r9d
mov ebp, r14d
test r12d, r12d
setne al
test r15d, r15d
setne dl
shr ebp, 1
shr r13d, 1
cmp ebp, r15d
seta r8b
cmp r13d, r12d
seta cl
test dl, r8b
jne 0x14012107d
and al, cl
jne 0x14012107d
cmp ebp, r14d
jne 0x140121103
cmp r13d, r9d
jne 0x140121103
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rsi + 8]
mov dword [rcx + 0x18], eax
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1401f08b0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x2c], r9d
movabs r12, 0x8000000000000010
mov ecx, 0x20
call fcn.1401ef3e0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], SafeArrayGetDim
lea rcx, [rax + 0x1a]
lea r8, str.OriginalWidth
cmp rax, r8
seta dl
cmp rcx, r8
setbe cl
or cl, dl
je 0x14012140a
movups xmm6, xmmword [0x1402f6f56]
movups xmmword [rax + 0xa], xmm6
movups xmm7, xmmword [str.OriginalWidth]
movups xmmword [rax], xmm7
mov word [rax + 0x1a], 0
xorps xmm0, xmm0
lea r8, [rsp + 0x30]
movups xmmword [r8 + 0x18], xmm0
lea r15, [rsp + 0x60]
mov rcx, rsi
mov rdx, r15
call fcn.14011f6b0
cmp byte [r15 + 0x17], 0
jns 0x140121192
mov r15, qword [rsp + 0x60]
mov rcx, r15
call fcn.140218b7c
mov r15d, eax
mov rcx, qword [rsp + 0x78]
call fcn.140071eb0
cmp byte [rsp + 0x77], 0
jns 0x1401211b8
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
mov rcx, qword [rsp + 0x48]
call fcn.140071eb0
cmp byte [rsp + 0x47], 0
jns 0x1401211d3
mov rcx, qword [rsp + 0x30]
call fcn.1401ef41c
mov ecx, 0x20
call fcn.1401ef3e0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], SafeArrayGetDim
lea rcx, [rax + 0x1c]
lea r8, str.OriginalHeight
cmp rax, r8
seta dl
cmp rcx, r8
setbe cl
or cl, dl
je 0x14012140a
movups xmm8, xmmword [0x1402f6f74]
movups xmmword [rax + 0xc], xmm8
movups xmm9, xmmword [str.OriginalHeight]
movups xmmword [rax], xmm9
mov word [rax + 0x1c], 0
xorps xmm0, xmm0
lea r8, [rsp + 0x30]
movups xmmword [r8 + 0x18], xmm0
lea r12, [rsp + 0x60]
mov rcx, rsi
mov rdx, r12
call fcn.14011f6b0
cmp byte [r12 + 0x17], 0
jns 0x140121258
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.140218b7c
mov dword [rsp + 0x28], eax
mov rcx, qword [rsp + 0x78]
call fcn.140071eb0
cmp byte [rsp + 0x77], 0
jns 0x14012127f
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
mov r12d, r15d
mov rcx, qword [rsp + 0x48]
call fcn.140071eb0
cmp byte [rsp + 0x47], 0
jns 0x14012129d
mov rcx, qword [rsp + 0x30]
call fcn.1401ef41c
mov dword [rsp + 0x20], 4
lea r15, [rsp + 0x60]
mov rcx, rsi
mov rdx, r15
mov r8d, ebp
mov r9d, r13d
call fcn.14011b3e0
cmp r15, rsi
je 0x1401212cd
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1400b9ba0
lea rax, [0x140285cb0]
lea r15, [rsp + 0x60]
mov qword [r15], rax
mov rcx, r15
call fcn.1400b9c50
mov ecx, 0x20
call fcn.1401ef3e0
mov qword [r15], rax
movabs rcx, 0x8000000000000010
mov qword [r15 + 0x10], rcx
mov qword [r15 + 8], SafeArrayGetDim
lea rcx, [rax + 0x1a]
lea r8, str.OriginalWidth
cmp rax, r8
seta dl
cmp rcx, r8
setbe cl
or cl, dl
je 0x14012140a
test r12d, r12d
cmovne r14d, r12d
movups xmmword [rax + 0xa], xmm6
movups xmmword [rax], xmm7
mov word [rax + 0x1a], 0
xorps xmm0, xmm0
lea r15, [rsp + 0x60]
movups xmmword [r15 + 0x18], xmm0
mov rcx, rsi
mov rdx, r15
mov r8d, r14d
call fcn.14011b150
mov rcx, qword [r15 + 0x18]
call fcn.140071eb0
cmp byte [r15 + 0x17], 0
jns 0x14012136f
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
mov ecx, 0x20
call fcn.1401ef3e0
mov qword [rsp + 0x60], rax
movabs rcx, 0x8000000000000010
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], SafeArrayGetDim
lea rcx, [rax + 0x1c]
lea r8, str.OriginalHeight
cmp rax, r8
seta dl
cmp rcx, r8
setbe cl
or cl, dl
je 0x14012140a
mov ecx, dword [rsp + 0x28]
test ecx, ecx
mov r8d, dword [rsp + 0x2c]
cmovne r8d, ecx
movups xmmword [rax + 0xc], xmm8
movups xmmword [rax], xmm9
mov word [rax + 0x1c], 0
xorps xmm0, xmm0
lea r14, [rsp + 0x60]
movups xmmword [r14 + 0x18], xmm0
mov rcx, rsi
mov rdx, r14
call fcn.14011b150
mov rcx, qword [r14 + 0x18]
call fcn.140071eb0
cmp byte [r14 + 0x17], 0
jns 0x1401210ae
mov rcx, qword [rsp + 0x60]
call fcn.1401ef41c
jmp 0x1401210ae
ud2
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov esi, r9d
mov ebp, r8d
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x14031d040]
xor rax, rsp
mov qword [rsp + 0xe0], rax
call fcn.1400b9ce0
mov rax, qword [rbx + 8]
mov r12d, dword [rax + 0x3c]
cmp ebp, 0x32
jne 0x14012147f
mov rax, qword [rdi]
mov rax, qword [rax + 0x38]
mov rcx, rdi
call qword [0x14030c820]
test al, al
je 0x1401214a9
mov dword [rsp + 0x2c], r12d
mov r13, qword [0x14033cfa8]
lea r12, [0x14033cfa0]
jmp 0x140121708
mov rax, qword [0x14033cfa8]
lea rcx, [0x14033cfa0]
cmp rax, rcx
je 0x1401214f1
mov r14, qword [rax + 0x10]
cmp dword [r14 + 0xa0], ebp
je 0x140121792
mov rax, qword [rax + 8]
jmp 0x14012148d
test r12b, 1
je 0x140121694
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rdx, str.Cant_automatically_determine_the_image_format_for_non_seekable_input.
jmp 0x140121537
test r12b, 1
je 0x140121694
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rdx, str.No_image_handler_for_type__d_defined.
lea rcx, [rsp + 0x58]
call fcn.1400343a0
call fcn.140113640
test rax, rax
je 0x14012156d
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x80]
lea r9, [rsp + 0xb0]
mov rcx, rax
call fcn.1401137c0
test rax, rax
jne 0x140121577
lea rcx, [rsp + 0x58]
call fcn.140113740
call fcn.1400ab720
mov rsi, rax
call fcn.1400ab720
mov rdi, rax
call fcn.1400ab720
mov rbx, rax
call fcn.1400ab720
cmp rbx, rax
je 0x1401215c5
dec word [rbx + 0x10]
setne al
test rbx, rbx
sete cl
or cl, al
jne 0x1401215c0
cmp byte [rbx + 0x12], 1
jne 0x1401215b8
mov rcx, qword [rbx]
call fcn.140071eb0
mov rcx, rbx
call fcn.1401ef41c
call fcn.1400ab720
call fcn.1400ab720
cmp rdi, rax
je 0x1401215fb
dec word [rdi + 0x10]
setne al
test rdi, rdi
sete cl
or cl, al
jne 0x1401215f6
cmp byte [rdi + 0x12], 1
jne 0x1401215ee
mov rcx, qword [rdi]
call fcn.140071eb0
mov rcx, rdi
call fcn.1401ef41c
call fcn.1400ab720
call fcn.1400ab720
cmp rsi, rax
je 0x140121631
dec word [rsi + 0x10]
setne al
test rsi, rsi
sete cl
or cl, al
jne 0x14012162c
cmp byte [rsi + 0x12], 1
jne 0x140121624
mov rcx, qword [rsi]
call fcn.140071eb0
mov rcx, rsi
call fcn.1401ef41c
call fcn.1400ab720
mov rcx, qword [rsp + 0x70]
call fcn.140071eb0
cmp byte [rsp + 0x6f], 0
jns 0x14012164c
mov rcx, qword [rsp + 0x58]
call fcn.1401ef41c
mov rcx, qword [rsp + 0x98]
call fcn.140071eb0
cmp byte [rsp + 0x97], 0
jns 0x140121670
mov rcx, qword [rsp + 0x80]
call fcn.1401ef41c
mov rcx, qword [rsp + 0xc8]
call fcn.140071eb0
cmp byte [rsp + 0xc7], 0
jns 0x140121694
mov rcx, qword [rsp + 0xb0]
call fcn.1401ef41c
xor esi, esi
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1401f08b0
mov eax, esi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test byte [rsp + 0x2c], 1
je 0x140121694
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
xor eax, eax
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rdx, str.Unknown_image_data_format.
jmp 0x140121537
mov r13, qword [r13 + 8]
cmp r13, r12
je 0x1401216bc
mov r14, qword [r13 + 0x10]
mov rax, qword [rdi]
mov rax, qword [rax + 0x38]
mov rcx, rdi
call qword [0x14030c820]
test al, al
je 0x140121704
mov rax, qword [rdi]
mov rax, qword [rax + 0x80]
mov rcx, rdi
call qword [0x14030c820]
mov r15, rax
mov rax, qword [r14]
mov rax, qword [rax + 0x38]
mov rcx, r14
mov rdx, rdi
call qword [0x14030c820]
mov ebp, eax
mov rax, qword [rdi]
mov rax, qword [rax + 0x78]
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
call qword [0x14030c820]
test bpl, bpl
je 0x140121704
cmp rax, 0xffffffffffffffff
je 0x140121704
mov rcx, rbx
mov rdx, r14
mov r8, rdi
mov r9d, esi
call 0x140120d50
test al, al
je 0x140121704
mov sil, 1
jmp 0x140121696
test r14, r14
je 0x1401214f1
mov rax, qword [rdi]
mov rax, qword [rax + 0x38]
mov rcx, rdi
call qword [0x14030c820]
test al, al
je 0x140121813
mov rax, qword [rdi]
mov rax, qword [rax + 0x38]
mov rcx, rdi
call qword [0x14030c820]
test al, al
je 0x14012185b
mov rax, qword [rdi]
mov rax, qword [rax + 0x80]
mov rcx, rdi
call qword [0x14030c820]
mov r15, rax
mov rax, qword [r14]
mov rax, qword [rax + 0x38]
mov rcx, r14
mov rdx, rdi
call qword [0x14030c820]
mov ebp, eax
mov rax, qword [rdi]
mov rax, qword [rax + 0x78]
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
call qword [0x14030c820]
test bpl, bpl
je 0x14012185b
cmp rax, 0xffffffffffffffff
je 0x14012185b
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1401f08b0
mov rcx, rbx
mov rdx, r14
mov r8, rdi
mov r9d, esi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140120d50
mov rdx, qword [r14 + 0x10]
mov r8, qword [r14 + 0x18]
lea rcx, [rsp + 0x30]
call fcn.1401ad2f0
jmp 0x140121882
test r12b, 1
je 0x140121694
cmp byte [r14 + 0x27], 0
js 0x140121847
add r14, 0x10
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rdx, str.This_is_not_a__s.
lea rcx, [rsp + 0x58]
call fcn.1400343a0
call fcn.140113640
test rax, rax
je 0x1401218f9
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x80]
lea r9, [rsp + 0xb0]
mov rcx, rax
call fcn.1401137c0
test rax, rax
jne 0x140121903
lea rcx, [rsp + 0x58]
call fcn.140113740
call fcn.1400ab720
mov rsi, rax
call fcn.1400ab720
mov rdi, rax
call fcn.1400ab720
mov rbx, rax
mov rcx, qword [rsp + 0x48]
call fcn.140071eb0
cmp byte [rsp + 0x47], 0
jns 0x14012158f
mov rcx, qword [rsp + 0x30]
call fcn.1401ef41c
jmp 0x14012158f