Function at 0x414ef0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get file size
Parse pe header
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4e52ab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5ec
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 0
mov dword [esp + 0x4c], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ebx, [ebp + 0x378]
lea ecx, [ebp + 0x274]
push ebx
call fcn.004e0496
lea eax, [ebp + 0x298]
lea ecx, [ebp + 0x294]
push eax
call fcn.004e0496
lea esi, [ebp + 0x37c]
lea ecx, [ebp + 0x288]
push esi
call fcn.004e0496
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x4f9]
mov byte [esp + 0x4f8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x2f1]
mov byte [esp + 0x2f0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x4f8]
push ecx
push 0x104
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [esp + 0x2f0]
lea eax, [esp + 0x4f8]
push edx
push 0
push 0x529f8c
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea ecx, [esp + 0x2e]
push ecx
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x5a]
lea ecx, [esp + 0x74]
push edx
mov dword [esp + 0x608], 0
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x84]
push eax
mov byte [esp + 0x608], 1
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x58]
mov byte [esp + 0x604], 2
push ecx
lea ecx, [esp + 0x98]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x2f]
lea ecx, [esp + 0xa4]
push edx
mov byte [esp + 0x608], 3
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x5b]
lea ecx, [esp + 0xb4]
push eax
mov byte [esp + 0x608], 4
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov byte [esp + 0x604], 5
lea ecx, [esp + 0x56]
push ecx
lea ecx, [esp + 0xc8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x50]
lea ecx, [esp + 0xd4]
push edx
mov byte [esp + 0x608], 6
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x37]
lea ecx, [esp + 0xe4]
push eax
mov byte [esp + 0x608], 7
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x51]
mov byte [esp + 0x604], 8
push ecx
lea ecx, [esp + 0xf8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x3f]
lea ecx, [esp + 0x104]
push edx
mov byte [esp + 0x608], 9
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x53]
lea ecx, [esp + 0x114]
push eax
mov byte [esp + 0x608], 0xa
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x47]
mov byte [esp + 0x604], 0xb
push ecx
lea ecx, [esp + 0x128]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x55]
lea ecx, [esp + 0x134]
push edx
mov byte [esp + 0x608], 0xc
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x4f]
lea ecx, [esp + 0x144]
push eax
mov byte [esp + 0x608], 0xd
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea ecx, [esp + 0x57]
mov byte [esp + 0x604], 0xe
push ecx
lea ecx, [esp + 0x158]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea edx, [esp + 0x59]
lea ecx, [esp + 0x164]
push edx
mov byte [esp + 0x608], 0xf
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
lea eax, [esp + 0x52]
lea ecx, [esp + 0x174]
push eax
mov byte [esp + 0x608], 0x10
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
mov edi, 0x5287c8
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x604], 0x11
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5287c8
lea ecx, [esp + 0x8c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edi, 0x5287c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5287c8
lea ecx, [esp + 0xfc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edi, 0x5287c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5287c8
lea ecx, [esp + 0xec]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, 9
xor eax, eax
lea edi, [esp + 0x185]
mov byte [esp + 0x184], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x184]
push 0x27
push ecx
lea ecx, [esp + 0x48]
stosb byte es:[edi], al
call fcn.0040b7f0
test eax, eax
je 0x41526e
lea edi, [esp + 0x184]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x184]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0xbc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea eax, [esp + 0x184]
lea ecx, [ebp + 0x284]
push eax
push 0x529f88
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp 0x4152a0
mov edi, 0x5287c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5287c8
lea ecx, [esp + 0xbc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push 0x5287c8
lea ecx, [ebp + 0x284]
call sub.MFC42.DLL_CString::operator_2
mov dl, byte [ebp + 0x29c]
lea ecx, [esp + 0x154]
mov byte [esp + 0x20], dl
mov eax, dword [esp + 0x20]
push eax
push 1
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_unsigned_int__char_]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x3f5]
mov byte [esp + 0x3f4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x60]
push ecx
stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll_time]
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.MSVCRT.dll_localtime]
push eax
push 0x529f70
lea eax, [esp + 0x404]
push 0x104
push eax
call dword [sym.imp.MSVCRT.dll_strftime]
lea edi, [esp + 0x40c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x3f8]
push ecx
lea ecx, [esp + 0x9c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edx, dword [esi]
mov eax, dword [edx - 8]
test eax, eax
je 0x41533f
mov eax, esi
jmp 0x41535d
push 0x537100
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
mov dword [esp + 0x48], 1
mov byte [esp + 0x604], 0x12
mov edx, dword [eax]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0xdc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov al, byte [esp + 0x48]
mov dword [esp + 0x604], 0x11
test al, 1
je 0x415396
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
xor edi, edi
mov dword [esp + 0x1c], edi
push 0x53d440
lea ecx, [esp + 0x24]
mov byte [esp + 0x608], 0x13
call fcn.00404b30
mov eax, dword [0x53716c]
mov byte [esp + 0x604], 0x14
cmp eax, edi
jne 0x415420
cmp dword [0x537168], edi
jne 0x415420
push 0x110
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x48], eax
cmp eax, edi
mov byte [esp + 0x604], 0x15
je 0x4153f2
push edi
mov ecx, eax
call fcn.00404a60
jmp 0x4153f4
xor eax, eax
mov dword [0x537168], eax
mov eax, dword [0x528b70]
push eax
push 0x404a30
mov ecx, 0x53bea0
mov byte [esp + 0x60c], 0x14
call fcn.00402190
mov dword [0x53716c], 1
mov ecx, dword [esp + 0x20]
mov esi, dword [0x537168]
mov byte [esp + 0x604], 0x13
mov edx, dword [ecx]
call dword [edx + 8]
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.0043f480
test eax, eax
jl 0x41554d
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x41554d
mov dword [esp + 0x14], edi
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x529f60
push eax
mov byte [esp + 0x610], 0x16
call dword [ecx + 0xc]
test eax, eax
mov eax, dword [esp + 0x14]
jl 0x41553b
cmp eax, edi
je 0x41553b
push 0x10000
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [esp + 0xdc]
add esp, 4
test ecx, ecx
mov esi, eax
jne 0x4154a8
mov ecx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov eax, dword [esp + 0x14]
push ecx
push 0x10000
push esi
mov edx, dword [eax]
push 0
push eax
call dword [edx + 0x24]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
lea ecx, [esp + 0xcc]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp + 0x26c]
lea ecx, [esp + 0x18]
push eax
push 0x5291e4
push ecx
mov byte [esp + 0x610], 0x17
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x24]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x7c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
push esi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
lea ecx, [esp + 0x18]
mov byte [esp + 0x604], 0x16
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x14]
test eax, eax
mov byte [esp + 0x604], 0x13
je 0x41554d
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov edx, dword [ebx]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0xac]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov dword [esp + 0x10], 0xffffffff
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1ed]
mov byte [esp + 0x1ec], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x2f0]
push 0x104
lea ecx, [esp + 0x1f0]
xor esi, esi
push eax
push ecx
mov byte [esp + 0x610], 0x18
mov dword [esp + 0x3c], esi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea edx, [esp + 0x1ec]
push str..temp
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebx]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x1ec]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.004184c0
test eax, eax
je 0x415945
mov eax, dword [esp + 0x30]
mov ebx, 1
cmp eax, ebx
jne 0x415624
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0x80
push 3
push 0
push ebx
lea eax, [esp + 0x200]
push SysReAllocString
push eax
mov esi, 0x84000
call edi
mov dword [esp + 0x10], eax
jmp 0x41596b
mov eax, dword [ebp + 0x38c]
lea esi, [ebp + 0x38c]
test eax, eax
jne 0x41564c
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x41565c
mov ecx, dword [eax]
push 0x5287c4
push str.DAILY.MEDIAFILEMOVFAILFRAG
push eax
call dword [ecx + 0x24]
mov edx, dword [esp + 0x30]
lea eax, [edx - 2]
cmp eax, 3
ja case.default.0x41566c
jmp dword [eax*4 + 0x4165a8]
mov eax, dword [esi]
test eax, eax
jne 0x415695
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415767
mov ecx, dword [eax]
push 0x5287c4
push str.DAILY.BKBNOPLAYPARSEFAIL
jmp 0x415763
mov eax, dword [esi]
test eax, eax
jne 0x4156c8
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415767
mov edx, dword [eax]
push 0x5287c4
push str.DAILY.BKBNOPLAYNOMOOV
push eax
call dword [edx + 0x24]
jmp 0x415767
mov eax, dword [esi]
test eax, eax
jne 0x4156fb
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415767
mov ecx, dword [eax]
push 0x5287c4
push str.DAILY.BKBNOPLAYNOMDAT
jmp 0x415763
mov eax, dword [esi]
test eax, eax
jne 0x415727
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415767
mov edx, dword [eax]
push 0x5287c4
push str.DAILY.BKBNOPLAYOVERMAXSIZE
push eax
call dword [edx + 0x24]
jmp 0x415767
mov eax, dword [esi]
test eax, eax
jne 0x415757
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415767
mov ecx, dword [eax]
push 0x5287c4
push str.DAILY.BKBNOPLAYCREATEFAIL
push eax
call dword [ecx + 0x24]
push 0
push 0x529eb0
push 0x529e8c
mov ecx, ebp
call sub.MFC42.DLL_CWnd::MessageBoxA
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x41578a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x4157a0
mov edx, dword [eax]
push eax
call dword [edx + 8]
push 1
lea ecx, [esp + 0x178]
mov dword [esp + 0x608], 0x29
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, [esp + 0x168]
mov byte [esp + 0x608], 0x28
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, [esp + 0x158]
mov byte [esp + 0x608], 0x27
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, [esp + 0x148]
mov byte [esp + 0x608], 0x26
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, [esp + 0x138]
mov byte [esp + 0x608], 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, [esp + 0x128]
mov byte [esp + 0x608], 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_]
push 1
lea ecx, [esp + 0x118]
mov byte [esp + 0x608], 0x23
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, [esp + 0x108]
mov byte [esp + 0x608], 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, [esp + 0xf8]
mov byte [esp + 0x608], 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, [esp + 0xe8]
mov byte [esp + 0x608], 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, [esp + 0xd8]
mov byte [esp + 0x608], 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, [esp + 0xc8]
mov byte [esp + 0x608], 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, [esp + 0xb8]
mov byte [esp + 0x608], 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, [esp + 0xa8]
mov byte [esp + 0x608], 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, [esp + 0x98]
mov byte [esp + 0x608], 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, [esp + 0x88]
mov byte [esp + 0x608], 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, [esp + 0x78]
mov byte [esp + 0x608], 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, [esp + 0x68]
mov dword [esp + 0x608], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
xor eax, eax
jmp 0x416475
mov ebx, dword [ebx]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push ebx
call edi
mov dword [esp + 0x10], eax
mov ebx, 1
cmp eax, 0xffffffff
jne 0x415b76
mov eax, dword [ebp + 0x29c]
mov esi, str.DAILY.BKBNOPLAYSOURCEFILEFAILE
cmp eax, ebx
je 0x415988
mov esi, str.DAILY.BKBBADPLAYSOURCEFILEFAILE
mov eax, dword [ebp + 0x38c]
add ebp, 0x38c
test eax, eax
jne 0x4159b1
push ebp
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [ebp]
test eax, eax
je 0x4159bd
mov ecx, dword [eax]
push 0x5287c4
push esi
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x4159cd
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x4159e3
mov edx, dword [eax]
push eax
call dword [edx + 8]
push ebx
lea ecx, [esp + 0x178]
mov dword [esp + 0x608], 0x3a
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 ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x608], 0x39
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 ebx
lea ecx, [esp + 0x158]
mov byte [esp + 0x608], 0x38
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 ebx
lea ecx, [esp + 0x148]
mov byte [esp + 0x608], 0x37
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 ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x608], 0x36
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 ebx
lea ecx, [esp + 0x128]
mov byte [esp + 0x608], 0x35
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 ebx
lea ecx, [esp + 0x118]
mov byte [esp + 0x608], 0x34
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 ebx
lea ecx, [esp + 0x108]
mov byte [esp + 0x608], 0x33
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 ebx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x608], 0x32
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 ebx
lea ecx, [esp + 0xe8]
mov byte [esp + 0x608], 0x31
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 ebx
lea ecx, [esp + 0xd8]
mov byte [esp + 0x608], 0x30
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 ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x608], 0x2f
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 ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x608], 0x2e
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 ebx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x608], 0x2d
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 ebx
lea ecx, [esp + 0x98]
mov byte [esp + 0x608], 0x2c
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 ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x608], 0x2b
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 + 0x604], 0x2a
push ebx
lea ecx, [esp + 0x78]
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 dword [esp + 0x604], 0xffffffff
push ebx
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
xor eax, eax
jmp 0x416475
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x415d92
cmp eax, 0x4000
ja 0x415d92
mov eax, dword [ebp + 0x29c]
mov edi, str.DAILY.BKBNOPLAYSOURCEFILE16K
cmp eax, ebx
je 0x415bb5
mov edi, str.DAILY.BKBBADPLAYSOURCEFILE16K
mov eax, dword [ebp + 0x38c]
lea esi, [ebp + 0x38c]
test eax, eax
jne 0x415bdd
push esi
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [esi]
test eax, eax
je 0x415be9
mov edx, dword [eax]
push 0x5287c4
push edi
push eax
call dword [edx + 0x24]
push 0
push 0x529eb0
push 0x529de0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::MessageBoxA
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x415c0c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x415c22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
lea ecx, [esp + 0x178]
mov dword [esp + 0x608], 0x4b
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 ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x608], 0x4a
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 ebx
lea ecx, [esp + 0x158]
mov byte [esp + 0x608], 0x49
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 ebx
lea ecx, [esp + 0x148]
mov byte [esp + 0x608], 0x48
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 ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x608], 0x47
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 ebx
lea ecx, [esp + 0x128]
mov byte [esp + 0x608], 0x46
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 ebx
lea ecx, [esp + 0x118]
mov byte [esp + 0x608], 0x45
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 ebx
lea ecx, [esp + 0x108]
mov byte [esp + 0x608], 0x44
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 ebx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x608], 0x43
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 ebx
lea ecx, [esp + 0xe8]
mov byte [esp + 0x608], 0x42
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 ebx
lea ecx, [esp + 0xd8]
mov byte [esp + 0x608], 0x41
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 ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x608], 0x40
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 ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x608], 0x3f
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 ebx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x608], 0x3e
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 ebx
lea ecx, [esp + 0x98]
mov byte [esp + 0x608], 0x3d
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 ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x608], 0x3c
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 + 0x604], 0x3b
jmp 0x415b4e
test esi, esi
jne 0x415d9b
mov esi, 0x40000
mov edx, dword [esp + 0x9c]
add edx, esi
push edx
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
setne cl
mov byte [esp + 0x24], cl
test eax, eax
mov byte [esp + 0x604], 0x4c
jne 0x415f6d
test cl, cl
je 0x415dd7
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x415de7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x415dfd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
lea ecx, [esp + 0x178]
mov dword [esp + 0x608], 0x5d
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 ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x608], 0x5c
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 ebx
lea ecx, [esp + 0x158]
mov byte [esp + 0x608], 0x5b
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 ebx
lea ecx, [esp + 0x148]
mov byte [esp + 0x608], 0x5a
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 ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x608], 0x59
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 ebx
lea ecx, [esp + 0x128]
mov byte [esp + 0x608], 0x58
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 ebx
lea ecx, [esp + 0x118]
mov byte [esp + 0x608], 0x57
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 ebx
lea ecx, [esp + 0x108]
mov byte [esp + 0x608], 0x56
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 ebx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x608], 0x55
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 ebx
lea ecx, [esp + 0xe8]
mov byte [esp + 0x608], 0x54
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 ebx
lea ecx, [esp + 0xd8]
mov byte [esp + 0x608], 0x53
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 ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x608], 0x52
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 ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x608], 0x51
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 ebx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x608], 0x50
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 ebx
lea ecx, [esp + 0x98]
mov byte [esp + 0x608], 0x4f
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 ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x608], 0x4e
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 + 0x604], 0x4d
jmp 0x415b4e
lea edx, [esp + 0x38]
push 0
push edx
push esi
push eax
mov eax, dword [esp + 0x20]
push eax
mov dword [esp + 0x4c], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41640f
mov eax, dword [esp + 0x38]
test eax, eax
je 0x41640f
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.0040b9c0
push 0
push 0x100
push 2
push 0
push ebx
lea edx, [esp + 0x304]
push 0x40000000
push edx
call edi
mov dword [esp + 0x14], eax
or edi, 0xffffffff
mov byte [esp + 0x604], 0x5e
cmp eax, edi
jne 0x4161f0
mov eax, dword [ebp + 0x29c]
mov esi, str.DAILY.BKBNOPLAYTMPFILEFAILE
cmp eax, ebx
je 0x415ff2
mov esi, str.DAILY.BKBBADPLAYTMPFILEFAILE
mov eax, dword [ebp + 0x38c]
add ebp, 0x38c
test eax, eax
jne 0x41601b
push ebp
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [ebp]
test eax, eax
je 0x416027
mov ecx, dword [eax]
push 0x5287c4
push esi
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
je 0x416038
push eax
call esi
mov al, byte [esp + 0x24]
test al, al
je 0x41604d
mov edx, dword [esp + 0x28]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x416058
push eax
call esi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x41606e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
lea ecx, [esp + 0x178]
mov dword [esp + 0x608], 0x6f
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 ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x608], 0x6e
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 ebx
lea ecx, [esp + 0x158]
mov byte [esp + 0x608], 0x6d
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 ebx
lea ecx, [esp + 0x148]
mov byte [esp + 0x608], 0x6c
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 ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x608], 0x6b
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 ebx
lea ecx, [esp + 0x128]
mov byte [esp + 0x608], 0x6a
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 ebx
lea ecx, [esp + 0x118]
mov byte [esp + 0x608], 0x69
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 ebx
lea ecx, [esp + 0x108]
mov byte [esp + 0x608], 0x68
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 ebx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x608], 0x67
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 ebx
lea ecx, [esp + 0xe8]
mov byte [esp + 0x608], 0x66
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 ebx
lea ecx, [esp + 0xd8]
mov byte [esp + 0x608], 0x65
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 ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x608], 0x64
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 ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x608], 0x63
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 ebx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x608], 0x62
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 ebx
lea ecx, [esp + 0x98]
mov byte [esp + 0x608], 0x61
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 ebx
lea ecx, [esp + 0x88]
mov byte [esp + 0x608], 0x60
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 ebx
lea ecx, [esp + 0x78]
mov byte [esp + 0x608], 0x5f
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 dword [esp + 0x604], edi
jmp 0x415b64
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x18]
push 0
push edx
mov edx, dword [esp + 0x30]
push ecx
push edx
push eax
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x416529
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x416529
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x1ad]
mov byte [esp + 0x1ac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [ebp + 0x29c], 2
jne 0x416292
mov esi, dword [esp + 0x98]
test esi, esi
jne 0x41625c
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
mov ebx, 1
lea edi, [eax + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x20]
lea eax, [esp + 0x1ac]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
mov dword [esp + 0x34], 0x40
call fcn.0040b890
test eax, eax
je 0x41648e
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41648e
lea edi, [esp + 0x1ac]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x1b0]
push ecx
lea ecx, [esp + 0x6c]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea edx, [esp + 0x64]
mov ecx, ebp
push edx
call fcn.004169e0
test eax, eax
jne 0x416365
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x416313
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [esp + 0x24]
test al, al
je 0x416328
mov eax, dword [esp + 0x28]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x604], 0x13
call fcn.004187e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x11
call fcn.00404bf0
lea ecx, [esp + 0x64]
mov dword [esp + 0x604], 0xffffffff
call fcn.0040f590
xor eax, eax
jmp 0x416475
lea ecx, [esp + 0x1ac]
lea edx, [ebp + 0x270]
push ecx
push 0x529f88
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0xd8]
inc eax
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov esi, dword [esp + 0xd8]
add esp, 0x10
test esi, esi
mov ebx, eax
jne 0x4163a3
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [esp + 0xcc]
mov edi, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0x40]
push eax
push ebx
call fcn.0040b9c0
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push 0
push ecx
push edx
push ebx
push eax
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 0x4c
call fcn.004187e0
mov ebx, 1
lea edx, [esp + 0x64]
lea ecx, [ebp + 0x64]
push edx
call fcn.004165c0
lea eax, [esp + 0x2f0]
lea ecx, [ebp + 0x60]
push eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x24]
mov byte [esp + 0x604], 0x18
call fcn.00439c60
lea ecx, [esp + 0x10]
mov byte [esp + 0x604], 0x13
call fcn.004187e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x11
call fcn.00404bf0
lea ecx, [esp + 0x64]
mov dword [esp + 0x604], 0xffffffff
call fcn.0040f590
mov eax, ebx
mov ecx, dword [esp + 0x5fc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5f8
ret
mov eax, dword [ebp + 0x29c]
mov esi, str.DAILY.BKBNOPLAYCOMMD5FAILE
cmp eax, ebx
je 0x4164a2
mov esi, str.DAILY.BKBBADPLAYCOMMD5FAILE
mov eax, dword [ebp + 0x38c]
add ebp, 0x38c
test eax, eax
jne 0x4164cb
push ebp
push 0x529420
call fcn.00418660
mov ecx, eax
call fcn.0043f780
mov eax, dword [ebp]
test eax, eax
je 0x4164d7
mov ecx, dword [eax]
push 0x5287c4
push esi
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x4164e9
push eax
call esi
mov al, byte [esp + 0x24]
test al, al
je 0x4164fe
mov edx, dword [esp + 0x28]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x41650a
push eax
call esi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x604], 0x11
test eax, eax
je 0x41634a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41634a
mov eax, dword [ebp + 0x29c]
cmp eax, ebx
mov eax, str.DAILY.BKBNOPLAYWRITEFILEFAILE
je 0x41653d
mov eax, str.DAILY.BKBBADPLAYWRITEFILEFAILE
push 0x5287c4
push eax
mov ecx, ebp
call fcn.00418620
lea ecx, [esp + 0x14]
mov byte [esp + 0x604], 0x4c
call fcn.004187e0
lea ecx, [esp + 0x24]
mov byte [esp + 0x604], 0x18
call fcn.00439c60
lea ecx, [esp + 0x10]
mov byte [esp + 0x604], 0x13
call fcn.004187e0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x604], 0x11
call fcn.00404bf0
lea ecx, [esp + 0x64]
mov dword [esp + 0x604], edi
call fcn.0040f590
xor eax, eax
jmp 0x416475