Function at 0x4484e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48cb25
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x4c2010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4c], ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov edx, dword [0x4c6fcc]
cmp edx, dword [ecx + 4]
jle 0x44856d
push 0x4c6fcc
call fcn.004594c0
add esp, 4
cmp dword [0x4c6fcc], 0xffffffff
jne 0x44856d
mov dword [ebp - 4], 0
mov ecx, 0x4c6fd0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_void_]
push 0x48f220
call fcn.00459337
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x4c6fcc
call fcn.00459481
add esp, 4
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040b4c0
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jg 0x448597
jmp 0x448cac
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040b4a0
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x4485bd
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x70]
jl 0x4485c2
jmp 0x448cac
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040ae60
cmp eax, 0x19
jne 0x448610
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + eax + 0x1ac], 0
je 0x4485fd
mov ecx, dword [ebp - 0x4c]
call fcn.004479c0
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.00449180
jmp 0x448cac
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x1c4], 0
je 0x44865c
mov ecx, dword [ebp - 0x4c]
call fcn.00449930
cmp dword [ebp - 0x4c], 0
je 0x448638
mov ecx, dword [ebp - 0x4c]
add ecx, 0x184
mov dword [ebp - 0x74], ecx
jmp 0x44863f
mov dword [ebp - 0x74], 0
mov ecx, dword [ebp - 0x4c]
call dword [sym.imp.soui.dll_public:_struct_SOUI::ISwndContainer____thiscall_SOUI::SWindow::GetContainer_void_]
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x78]
mov eax, dword [edx + 0x68]
call eax
push 8
lea ecx, [ebp - 0x1c]
call fcn.00401320
lea ecx, [ebp - 0x1c]
call fcn.0040c4b0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.00414d30
push 0
lea eax, [ebp - 0x1c]
push eax
call fcn.0040dff0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4486bb
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.0040c400
jmp 0x448cac
mov dword [ebp - 0x54], 0
lea ecx, [ebp - 0x1c]
call fcn.00401910
push eax
call dword [sym.imp.FreeImage.dll__FreeImage_GetThumbnail_4]
mov dword [ebp - 0x54], eax
push 8
lea ecx, [ebp - 0x28]
call fcn.00401320
lea ecx, [ebp - 0x28]
call fcn.0040c4b0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.00414df0
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 2
jne 0x448722
mov dword [ebp - 0x58], 1
lea ecx, [ebp - 0x28]
call fcn.00401910
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x190
call fcn.00437080
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa0], xmm0
mov ecx, dword [ebp - 0x4c]
add ecx, 0x190
call fcn.00437060
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa8], xmm0
mov ecx, dword [ebp - 0x54]
push ecx
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
mov dword [ebp - 0x7c], eax
cvtsi2sd xmm0, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4ae170]
movsd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x54]
push eax
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
mov dword [ebp - 0x80], eax
cvtsi2sd xmm0, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x80]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4ae170]
movsd qword [ebp - 0x48], xmm0
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x4c]
call fcn.00449140
movsd xmm0, qword [ebp - 0xa0]
comisd xmm0, xmmword [ebp - 0x40]
ja 0x4487d0
movsd xmm0, qword [ebp - 0xa8]
comisd xmm0, xmmword [ebp - 0x48]
jbe 0x448823
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.00414f00
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 2
jne 0x44880a
mov dword [ebp - 0x58], 2
lea ecx, [ebp - 0x28]
call fcn.00401910
mov dword [ebp - 0x54], eax
jmp 0x448823
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.00414cf0
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040aea0
push eax
lea ecx, [ebp - 0x20]
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
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + eax + 0x1ac], 0
je 0x448896
lea ecx, [ebp - 0x20]
call dword [sym.imp.utilities.dll_public:_wchar_t_const____thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::operator_wchar_t_const__void_const]
push eax
mov ecx, 0x4c6fd0
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 0x448883
mov edx, dword [0x4c6fa0]
cmp edx, dword [ebp - 0x58]
je 0x448896
push 0x4a3740
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x4c]
call fcn.004479c0
cmp dword [ebp - 0x54], 0
je 0x448c84
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x4c]
cmp dword [edx + ecx + 0x1ac], 0
jne 0x4489c1
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040ae60
cmp eax, 1
jne 0x44890f
mov byte [ebp - 0x14], 0xff
mov byte [ebp - 0x13], 0xff
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], 0xff
push 0
lea ecx, [ebp - 0x14]
push ecx
push 1
mov edx, dword [ebp - 0x54]
push edx
call fcn.00414ff0
add esp, 0x10
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + edx + 0x1ac], eax
jmp 0x448985
mov edx, dword [ebp - 0x50]
push edx
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040ae60
test eax, eax
je 0x448970
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x4c]
add ecx, 0x188
call fcn.00401910
mov ecx, eax
call fcn.0040ae60
cmp eax, 0x25
je 0x448970
push 0
push 0
push 0
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.00414ff0
add esp, 0x10
mov edx, 4
imul ecx, edx, 0
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx + 0x1ac], eax
jmp 0x448985
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov dword [edx + ecx + 0x1ac], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx + 0x1ac]
cmp ecx, dword [ebp - 0x54]
je 0x4489a8
mov dword [ebp - 0x84], 1
jmp 0x4489b2
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x84]
mov dword [edx + 0x1bc], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx + 0x1ac]
push ecx
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
mov dword [ebp - 0x60], eax
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + eax + 0x1ac]
push edx
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00445d10
cmp dword [ebp - 0x58], 0
jne 0x448ae2
lea ecx, [ebp - 0x1c]
call fcn.00401910
push eax
call dword [sym.imp.FreeImage.dll__FreeImage_GetWidth_4]
mov dword [ebp - 0x90], eax
lea ecx, [ebp - 0x1c]
call fcn.00401910
push eax
call dword [sym.imp.FreeImage.dll__FreeImage_GetHeight_4]
mov dword [ebp - 0x94], eax
cvtsi2ss xmm0, dword [ebp - 0x90]
cvtsi2ss xmm1, dword [ebp - 0x94]
divss xmm0, xmm1
movss dword [ebp - 0x68], xmm0
cvtsi2ss xmm0, dword [ebp - 0x60]
cvtsi2ss xmm1, dword [ebp - 0x5c]
divss xmm0, xmm1
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 0x68]
comiss xmm0, dword [ebp - 0x98]
jbe 0x448ab1
cvtsi2ss xmm0, dword [ebp - 0x60]
divss xmm0, dword [ebp - 0x68]
cvttss2si edx, xmm0
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x88]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x88]
mov dword [ebp - 0x2c], eax
jmp 0x448ae2
cvtsi2ss xmm0, dword [ebp - 0x5c]
mulss xmm0, dword [ebp - 0x68]
cvttss2si ecx, xmm0
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x8c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x1a8], 1
je 0x448afa
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + 0x1a8], 3
jne 0x448b1a
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x38]
push eax
call fcn.0040e1b0
add esp, 8
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x30]
push edx
call fcn.0040e1b0
add esp, 8
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x1a8]
mov dword [ebp - 0x6c], ecx
cmp dword [ebp - 0x6c], 1
je 0x448b41
cmp dword [ebp - 0x6c], 2
je 0x448b9c
cmp dword [ebp - 0x6c], 3
je 0x448bf2
jmp 0x448c48
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x4c]
cmp dword [eax + edx + 0x1ac], 0
jne 0x448b97
mov ecx, dword [ebp - 0x4c]
imul edx, dword [ecx + 0x1a8], 0x5a
cvtsi2sd xmm0, edx
sub esp, 8
movsd qword [esp], xmm0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + ecx + 0x1ac]
push eax
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx + 0x1ac], eax
jmp 0x448c48
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + eax + 0x1ac], 0
jne 0x448bf0
mov edx, dword [ebp - 0x4c]
imul eax, dword [edx + 0x1a8], 0x5a
cvtsi2sd xmm0, eax
sub esp, 8
movsd qword [esp], xmm0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx + 0x1ac]
push ecx
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov edx, 4
shl edx, 1
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + edx + 0x1ac], eax
jmp 0x448c48
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx + eax + 0x1ac], 0
jne 0x448c48
mov edx, dword [ebp - 0x4c]
imul eax, dword [edx + 0x1a8], 0x5a
cvtsi2sd xmm0, eax
sub esp, 8
movsd qword [esp], xmm0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx + 0x1ac]
push ecx
call dword [sym.imp.FreeImage.dll__FreeImage_RotateClassic_12]
mov edx, 4
imul ecx, edx, 3
mov edx, dword [ebp - 0x4c]
mov dword [edx + ecx + 0x1ac], eax
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + 0x1a8]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + edx*4 + 0x1ac]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4c]
call fcn.00449a60
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x4c6fd0
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 ecx, dword [ebp - 0x58]
mov dword [0x4c6fa0], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040c400
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.0040c400
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00458fdd
mov esp, ebp
pop ebp
ret 4