Function at 0x4303f0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473a85
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x4a5010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword fs:[0x2c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], esi
mov ecx, dword [eax]
mov eax, dword [0x4a9fd8]
cmp eax, dword [ecx + 4]
jle 0x430481
push 0x4a9fd8
call fcn.0043fa21
add esp, 4
cmp dword [0x4a9fd8], 0xffffffff
jne 0x430481
mov ecx, 0x4a9fdc
mov dword [ebp - 4], 0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_void_]
push 0x476220
call fcn.0043f898
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4a9fd8
call fcn.0043f9e2
add esp, 4
mov ecx, dword [ebx + 0x188]
mov dword [ebp - 0x30], 0
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 3
test eax, eax
jle 0x430903
mov edi, dword [ecx + 0x1cc]
mov dword [ebp - 0x34], edi
test edi, edi
js 0x430903
cmp edi, eax
jge 0x430903
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp edi, eax
jae 0x4304eb
mov eax, dword [edx + edi*8]
cmp dword [eax + 0x3c], 0x19
jne 0x4304eb
cmp dword [ebx + 0x1b0], 0
je 0x4304de
mov ecx, ebx
call fcn.0042fca0
push esi
mov ecx, ebx
call fcn.00430c90
jmp 0x430903
cmp dword [ebx + 0x1c8], 0
je 0x430519
mov ecx, ebx
call fcn.00431110
mov ecx, ebx
call dword [sym.imp.soui.dll_public:_struct_SOUI::ISwndContainer____thiscall_SOUI::SWindow::GetContainer_void_]
mov edx, ebx
lea ecx, [ebx + 0x184]
neg edx
mov esi, dword [eax]
sbb edx, edx
and edx, ecx
mov ecx, eax
push edx
call dword [esi + 0x68]
xorps xmm0, xmm0
movq qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 1
mov ecx, dword [ebx + 0x188]
push eax
push edi
call fcn.0040c120
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
sete al
test al, al
jne 0x4308fb
push ecx
call dword [sym.imp.FreeImage.dll__FreeImage_GetThumbnail_4]
xorps xmm0, xmm0
mov dword [ebp - 0x18], eax
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 2
mov ecx, dword [ebx + 0x188]
push eax
push edi
call fcn.0040c1d0
cmp eax, 2
jne 0x4305b0
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x18], esi
test esi, esi
je 0x4305b0
cmp dword [ebx + 0x190], 0
je 0x4305b0
mov ecx, ebx
call fcn.00431500
mov esi, dword [ebx + 0x19c]
mov edi, dword [ebx + 0x1a0]
push dword [ebp - 0x18]
sub esi, dword [ebx + 0x194]
sub edi, dword [ebx + 0x198]
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
push dword [ebp - 0x18]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4916d0]
movsd qword [ebp - 0x3c], xmm0
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
shr eax, 0x1f
addsd xmm2, qword [eax*8 + 0x4916d0]
mov eax, dword [ebx + 0x1ac]
cmp eax, 1
je 0x430617
cmp eax, 3
jne 0x430627
movsd xmm1, qword [ebp - 0x3c]
movaps xmm0, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm0
jmp 0x43062c
movsd xmm1, qword [ebp - 0x3c]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x430648
movd xmm0, edi
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
jbe 0x430676
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
mov ecx, dword [ebx + 0x188]
push eax
push esi
call fcn.0040c290
cmp eax, 2
jne 0x430668
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
jmp 0x43067c
mov ecx, dword [ebx + 0x188]
push esi
call fcn.0040c040
jmp 0x430679
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebx + 0x188]
push esi
call fcn.004064f0
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov byte [ebp - 4], 3
cmp dword [ebx + 0x1b0], 0
je 0x4306ce
push dword [ebp - 0x1c]
mov ecx, 0x4a9fdc
call dword [sym.imp.utilities.dll_public:_int___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::CompareNoCase_wchar_t_const__const]
test eax, eax
jne 0x4306bc
mov eax, dword [ebp - 0x30]
cmp dword [0x4a9fb0], eax
je 0x4306ce
push 0x48ca54
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, ebx
call fcn.0042fca0
test edi, edi
je 0x4308ea
cmp dword [ebx + 0x1b0], 0
jne 0x430752
mov ecx, dword [ebx + 0x188]
push esi
call fcn.004064c0
cmp eax, 1
jne 0x430703
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xffffffff
push eax
mov edx, 1
jmp 0x430729
mov ecx, dword [ebx + 0x188]
push esi
call fcn.004064c0
test eax, eax
je 0x43073b
mov ecx, dword [ebx + 0x188]
push esi
call fcn.004064c0
cmp eax, 0x25
je 0x43073b
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.0040c350
add esp, 8
mov dword [ebx + 0x1b0], eax
jmp 0x430741
mov dword [ebx + 0x1b0], edi
xor eax, eax
cmp dword [ebx + 0x1b0], edi
setne al
mov dword [ebx + 0x1c0], eax
push dword [ebx + 0x1b0]
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
push dword [ebx + 0x1b0]
mov esi, eax
mov dword [ebp - 0x34], esi
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
mov edi, eax
mov dword [ebp - 0x3c], esi
xor eax, eax
mov dword [ebp - 0x38], edi
xor edx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x30], eax
jne 0x430805
push dword [ebp - 0x2c]
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
push dword [ebp - 0x2c]
mov esi, eax
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
movd xmm1, esi
mov esi, dword [ebp - 0x34]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movd xmm2, esi
cvtdq2ps xmm2, xmm2
movd xmm3, edi
cvtdq2ps xmm3, xmm3
divss xmm1, xmm0
movaps xmm0, xmm2
divss xmm0, xmm3
comiss xmm1, xmm0
jbe 0x4307e7
divss xmm2, xmm1
cvttss2si ecx, xmm2
sub edi, ecx
mov eax, edi
cdq
sub eax, edx
sar eax, 1
xor edx, edx
mov dword [ebp - 0x40], eax
lea edi, [eax + ecx]
mov dword [ebp - 0x38], edi
jmp 0x430805
mulss xmm3, xmm1
cvttss2si ecx, xmm3
sub esi, ecx
mov eax, esi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
xor eax, eax
mov dword [ebp - 0x44], edx
lea esi, [edx + ecx]
mov dword [ebp - 0x3c], esi
mov ecx, dword [ebx + 0x1ac]
cmp ecx, 1
je 0x430815
cmp ecx, 3
jne 0x430821
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
sub ecx, 1
je 0x43088d
sub ecx, 1
je 0x430860
sub ecx, 1
jne 0x4308b8
cmp dword [ebx + 0x1bc], ecx
jne 0x4308b8
movsd xmm0, qword [0x491698]
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x1b0]
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov dword [ebx + 0x1bc], eax
jmp 0x4308b8
cmp dword [ebx + 0x1b8], 0
jne 0x4308b8
movsd xmm0, qword [0x491690]
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x1b0]
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov dword [ebx + 0x1b8], eax
jmp 0x4308b8
cmp dword [ebx + 0x1b4], 0
jne 0x4308b8
movsd xmm0, qword [0x491680]
sub esp, 8
movsd qword [esp], xmm0
push dword [ebx + 0x1b0]
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov dword [ebx + 0x1b4], eax
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
mov eax, dword [ebx + 0x1ac]
push dword [ebx + eax*4 + 0x1b0]
push dword [ebp - 0x48]
call fcn.004311b0
lea eax, [ebp - 0x1c]
mov ecx, 0x4a9fdc
push eax
call dword [sym.imp.utilities.dll_public:_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_____thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::operator_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits__const__]
mov eax, dword [ebp - 0x30]
mov dword [0x4a9fb0], eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [ebp - 0x24]
call fcn.004072a0
lea ecx, [ebp - 0x2c]
call fcn.004072a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043f53f
mov esp, ebp
pop ebp
ret 4