Function at 0x438e80
Capabilities:
Contain obfuscated stackstrings
Terminate thread

Disassembly:
push 0xffffffffffffffff
push 0x56c0cd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0xc], edi
mov dword [edi], vtable.CCannotPlayUpload.0
mov eax, dword [edi + 0x37c]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x20], 0xb
je 0x438ed0
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_TerminateThread]
mov eax, dword [edi + 0x37c]
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [edi + 0x380]
cmp eax, ebx
je 0x438ee0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea esi, [edi + 0x374]
push ebp
mov dword [esp + 0x14], esi
mov dword [esi], vtable.CGdiObject.0
mov ecx, esi
mov byte [esp + 0x24], 0xc
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esi], vtable.CObject.0
lea esi, [edi + 0x360]
mov dword [esp + 0x14], esi
lea ecx, [esi + 0x10]
mov byte [esp + 0x24], 0x10
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 0xc]
mov byte [esp + 0x24], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 8]
mov byte [esp + 0x24], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esi + 4]
mov byte [esp + 0x24], 0xd
call sub.MFC42.DLL_CString::CString
mov ecx, esi
mov byte [esp + 0x24], 9
call sub.MFC42.DLL_CString::CString
lea esi, [edi + 0x26c]
mov dword [esp + 0x14], esi
lea ebp, [esi + 0xe0]
mov dword [esp + 0x18], ebp
mov dword [ebp], vtable.CGdiObject.0
mov ecx, ebp
mov byte [esp + 0x24], 0x14
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esi + 0xa0]
mov dword [ebp], vtable.CObject.0
mov byte [esp + 0x24], 0x12
call sub.MFC42.DLL_CAnimateCtrl::CAnimateCtrl
lea ecx, [esi + 0x60]
mov byte [esp + 0x24], 0x11
call sub.MFC42.DLL_CStatic::CStatic
mov ecx, esi
mov byte [esp + 0x24], 8
call sub.MFC42.DLL_CDialog::CDialog
lea esi, [edi + 0x14c]
mov dword [esp + 0x18], esi
push 1
lea ecx, [esi + 0x110]
mov byte [esp + 0x28], 0x25
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x100]
mov byte [esp + 0x28], 0x24
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov byte [esp + 0x24], 0x23
push 1
lea ecx, [esi + 0xf0]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0xe0]
mov byte [esp + 0x28], 0x22
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0xd0]
mov byte [esp + 0x28], 0x21
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0xc0]
mov byte [esp + 0x28], 0x20
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0xb0]
mov byte [esp + 0x28], 0x1f
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0xa0]
mov byte [esp + 0x28], 0x1e
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x90]
mov byte [esp + 0x28], 0x1d
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x80]
mov byte [esp + 0x28], 0x1c
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x70]
mov byte [esp + 0x28], 0x1b
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x60]
mov byte [esp + 0x28], 0x1a
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x50]
mov byte [esp + 0x28], 0x19
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x40]
mov byte [esp + 0x28], 0x18
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x30]
mov byte [esp + 0x28], 0x17
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x20]
mov byte [esp + 0x28], 0x16
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esi + 0x10]
mov byte [esp + 0x28], 0x15
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov eax, dword [esi + 4]
pop ebp
cmp eax, ebx
je 0x439101
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4390f8
cmp al, 0xff
je 0x4390f8
dec al
mov byte [ecx], al
jmp 0x439101
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [edi + 0x148]
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov byte [esp + 0x20], 6
call sub.MFC42.DLL_CString::CString
lea ecx, [edi + 0x144]
mov byte [esp + 0x20], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [edi + 0x140]
mov byte [esp + 0x20], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [edi + 0x13c]
mov byte [esp + 0x20], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [edi + 0xfc]
mov byte [esp + 0x20], 2
call sub.MFC42.DLL_CEdit::CEdit
lea ecx, [edi + 0xbc]
mov byte [esp + 0x20], 1
call sub.MFC42.DLL_CStatic::CStatic
lea ecx, [edi + 0x68]
mov byte [esp + 0x20], bl
call fcn.00559fb0
mov ecx, edi
mov dword [esp + 0x20], 0xffffffff
call sub.MFC42.DLL_CDialog::CDialog
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret