Function at 0x525090
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56f827
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
push ebx
push esi
push edi
mov esi, ecx
call sub.MFC42.DLL_CDialog::OnInitDialog
mov eax, dword [0x5d2a60]
mov edi, 1
mov ecx, 0x5d2a60
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], 0x5d2a60
call dword [eax + 4]
mov eax, dword [0x5cb0cc]
mov dword [ebp - 4], 0
test eax, eax
jne 0x525132
mov eax, dword [0x5cb0c8]
test eax, eax
jne 0x525132
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x52510b
mov ecx, eax
call fcn.0045e9d0
jmp 0x52510d
xor eax, eax
mov ecx, dword [0x5b5c48]
mov byte [ebp - 4], 0
push ecx
push 0x41ebd0
mov ecx, 0x5d0190
mov dword [0x5cb0c8], eax
call fcn.00406500
mov dword [0x5cb0cc], edi
mov edx, dword [0x5d2a60]
mov edi, dword [0x5cb0c8]
mov ecx, 0x5d2a60
mov dword [ebp - 4], 0xffffffff
call dword [edx + 8]
mov eax, dword [edi]
lea ebx, [esi + 0x604]
push ebx
push edi
call dword [eax + 8]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x525163
mov dword [ebp - 0x30], ebx
mov eax, dword [esi + 0x608]
lea edi, [esi + 0x608]
test ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [edi], 0
je 0x52518a
mov ecx, dword [ebx]
push edi
push 0x5b7138
push ebx
call dword [ecx]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x525194
mov edx, dword [eax]
push eax
call dword [edx + 8]
cmp dword [edi], 0
jne 0x5251a0
mov dword [ebp - 0x30], 0
mov eax, dword [esi + 0x54]
test eax, eax
je 0x5251af
push eax
mov ecx, esi
call sub.MFC42.DLL_CWnd::CenterWindow
push 0
push 0
lea edi, [esi + 0x13c]
push 0x5c7810
push 0
push 1
mov ecx, edi
call sub.MFC42.DLL_CTabCtrl::InsertItem
lea ebx, [esi + 0x180]
test ebx, ebx
je 0x5251da
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x5251f3
push 0x4cf
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
push eax
push 0x432
mov ecx, ebx
call sub.MFC42.DLL_CDialog::Create
call fcn.00405c00
mov ecx, dword [esi + 0x610]
mov dword [esi + 0x620], eax
cmp ecx, 1
jne 0x525285
cmp eax, 1
jne 0x525285
push 5
push 0x4d6
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
push 0
push 0
push 0x5c7804
push 1
push 1
mov ecx, edi
call sub.MFC42.DLL_CTabCtrl::InsertItem
lea ebx, [esi + 0x2bc]
test ebx, ebx
je 0x525248
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x525261
push 0x4cf
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
push eax
push 0x433
mov ecx, ebx
call sub.MFC42.DLL_CDialog::Create
push 0x5c77f8
push 0x48c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov dword [esi + 0x624], 1
jmp 0x5252c3
xor edi, edi
push 0x5c77d8
push 0x4d6
mov ecx, esi
mov dword [esi + 0x624], edi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
push 0x5c77cc
push 0x48c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov dword [esi + 0x624], edi
mov cl, byte [0x5b6824]
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x98], al
mov byte [ebp - 0x97], al
mov byte [ebp - 0x96], al
mov byte [ebp - 0x92], al
mov byte [ebp - 0x91], al
mov eax, dword [0x5b6820]
mov byte [ebp - 0x8c], cl
mov dword [ebp - 0x90], eax
mov ecx, 6
xor eax, eax
lea edi, [ebp - 0x8b]
mov dword [ebp - 0xac], 9
mov dword [ebp - 0x9c], 0x190
mov byte [ebp - 0x95], 0x86
mov byte [ebp - 0x94], 2
mov byte [ebp - 0x93], 1
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x48
push 0x5a
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xac], eax
call sub.MFC42.DLL_CString::CString_3
lea eax, [esi + 0x60c]
lea ecx, [ebp - 0x20]
push eax
mov dword [ebp - 4], 2
call sub.MFC42.DLL_CString::operator_1
push str..JPG
lea ecx, [ebp - 0x20]
call fcn.0054f910
lea edx, [ebp - 0x20]
lea ecx, [esi + 0x12c]
push edx
call sub.MFC42.DLL_CString::operator_1
lea eax, [ebp - 0xac]
mov byte [ebp - 0x97], 1
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
lea ecx, [esi + 0x130]
call sub.MFC42.DLL_CGdiObject::Attach
push edi
mov dword [esi + 0x120], 0xff3c00
mov dword [esi + 0x124], 0xb71787
call ebx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [esi + 0x594]
call sub.MFC42.DLL_CString::operator_1
xor edi, edi
mov dword [ebp - 0x2c], edi
mov edx, dword [0x5d2ac0]
mov ecx, 0x5d2ac0
mov byte [ebp - 4], 3
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x14], 0x5d2ac0
call dword [edx + 4]
mov eax, dword [0x5cb048]
mov byte [ebp - 4], 4
cmp eax, edi
jne 0x525481
mov eax, dword [0x5cb044]
test eax, eax
jne 0x525481
push 0x380
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
mov byte [ebp - 4], 5
je 0x525457
push edi
mov ecx, eax
call fcn.00414150
jmp 0x525459
xor eax, eax
mov dword [0x5cb044], eax
mov eax, dword [0x5b4b90]
push eax
push 0x406940
mov ecx, 0x5d0190
mov byte [ebp - 4], 4
call fcn.00406500
mov dword [0x5cb048], 1
mov edx, dword [0x5d2ac0]
mov edi, dword [0x5cb044]
mov ecx, 0x5d2ac0
mov byte [ebp - 4], 3
call dword [edx + 8]
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00473870
test eax, eax
jl 0x525503
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x525503
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
mov ecx, dword [eax]
push edx
push 0x5be460
push eax
call dword [ecx]
mov eax, dword [ebp - 0x18]
push 0
push eax
mov byte [ebp - 4], 6
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [ebp - 0x18]
push 0
push eax
mov edx, dword [eax]
mov dword [ebp - 0x10], edi
call dword [edx + 0x1c]
mov dword [ebp - 0x60], eax
mov dword [esi + 0x5fc], eax
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x5f8], edi
test eax, eax
mov byte [ebp - 4], 3
je 0x525503
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [esi + 0x59c]
xor ebx, ebx
cmp eax, 2
mov byte [ebp - 4], 7
mov dword [ebp - 0x68], ebx
jne 0x525555
mov edx, dword [ebp - 0x20]
push ebx
push 0x80
push 3
push ebx
push 3
push SysReAllocStringLen
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x525594
lea ecx, [ebp - 0x68]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov dword [esi + 0x598], ebx
jmp 0x525597
cmp eax, 1
jne 0x525594
mov eax, dword [esi + 0x60c]
push ebx
push 0x80
push 3
push ebx
push 3
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x525594
lea edx, [ebp - 0x68]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov dword [esi + 0x598], ebx
jmp 0x525597
mov dword [ebp - 0x30], ebx
cmp dword [esi + 0x620], 1
jne 0x525668
push ebx
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
test edi, edi
setne al
mov dword [ebp - 0x50], edi
mov byte [ebp - 0x5c], al
mov dword [ebp - 0x58], edi
test edi, edi
mov byte [ebp - 4], 8
jne 0x525608
test al, al
je 0x5255d2
push edi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x5255e1
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
test eax, eax
je 0x5255f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x525dc6
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x1c]
push 0
push edx
push ebx
push edi
push eax
mov dword [ebp - 0x1c], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x525654
cmp dword [ebp - 0x1c], ebx
jne 0x525654
lea edx, [esi + 0x5b0]
mov ecx, 0x10
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0x40
push ecx
push edx
mov edx, dword [ebp - 0x50]
push ebx
push edx
call fcn.00405690
mov edi, dword [ebp - 0x50]
mov al, byte [ebp - 0x5c]
mov byte [ebp - 4], 7
test al, al
je 0x525668
push edi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp - 0x48]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x10]
push eax
push ecx
shr ebx, 0xa
push ebx
lea edx, [ebp - 0x48]
push 0x5c77ac
push edx
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::Format
mov eax, dword [ebp - 0x48]
add esp, 0x14
lea ecx, [esi + 0xa0]
push eax
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov edx, dword [esi + 0x15c]
lea ecx, [ebp - 0x44]
xor eax, eax
push ecx
push edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x44]
sub eax, 4
add edx, 0x16
sub ecx, 3
mov dword [ebp - 0x38], eax
add ebx, 3
mov dword [ebp - 0x3c], ecx
sub eax, edx
push 1
sub ecx, ebx
push eax
push ecx
lea edi, [esi + 0x180]
push edx
push ebx
mov ecx, edi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], ebx
call sub.MFC42.DLL_CWnd::MoveWindow
lea ebx, [esi + 0x2bc]
test ebx, ebx
je 0x525728
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x525728
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
sub ecx, eax
push 1
push ecx
mov ecx, dword [ebp - 0x44]
sub edx, ecx
push edx
push eax
push ecx
mov ecx, ebx
call sub.MFC42.DLL_CWnd::MoveWindow
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString_3
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [esi + 0x610]
mov byte [ebp - 4], 0xe
sub eax, ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x64], 0xffffffff
je 0x525cc2
dec eax
je 0x5257f9
test ebx, ebx
je 0x525789
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x525789
push ecx
mov ecx, ebx
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
mov ecx, edi
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
push 0x48c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
mov eax, dword [esi + 0x59c]
lea edx, [esi + 0x5a0]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push edx
call fcn.0054f83e
push ecx
lea eax, [esi + 0x5ac]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov byte [ebp - 4], 0x18
call fcn.0054f83e
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00513ad0
push 0
mov ecx, esi
call sub.MFC42.DLL_CWnd::UpdateData
mov dword [esi + 0x610], 0
jmp 0x525d37
mov eax, dword [esi + 0x620]
test eax, eax
jne 0x525809
push 5
mov ecx, edi
jmp 0x525826
cmp eax, 1
jne 0x52582b
push 0
mov ecx, edi
call sub.MFC42.DLL_CWnd::ShowWindow
test ebx, ebx
je 0x52582b
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x52582b
push 5
mov ecx, ebx
call sub.MFC42.DLL_CWnd::ShowWindow
mov edx, dword [0x5d2aa0]
mov ecx, 0x5d2aa0
mov dword [ebp - 0x14], 0x5d2aa0
call dword [edx + 4]
mov eax, dword [0x5cb0b4]
mov byte [ebp - 4], 0x10
test eax, eax
jne 0x5258b1
mov eax, dword [0x5cb0b0]
test eax, eax
jne 0x5258b1
push 0x448
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
mov byte [ebp - 4], 0x11
je 0x525886
mov ecx, edi
call fcn.00407150
mov dword [edi], vtable.CComObjectNoRef_class_CKMPP2PMngr_.1.0
mov dword [edi + 4], vtable.CComObjectNoRef_class_CKMPP2PMngr_.0
jmp 0x525888
xor edi, edi
mov eax, dword [0x5b4fac]
mov ecx, 0x5d0190
push eax
push 0x414170
mov byte [ebp - 4], 0x10
mov dword [0x5cb0b0], edi
call fcn.00406500
mov dword [0x5cb0b4], 1
mov edx, dword [0x5d2aa0]
mov edi, dword [0x5cb0b0]
mov ecx, 0x5d2aa0
mov byte [ebp - 4], 0xe
call dword [edx + 8]
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x54]
push eax
push ecx
mov ecx, edi
call fcn.0040cc50
mov eax, dword [ebp - 0x4c]
test eax, eax
mov dword [ebp - 0x14], eax
jne 0x5258e6
xor edi, edi
jmp 0x525918
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ebx, [eax + eax + 2]
mov eax, ebx
add eax, 3
and al, 0xfc
call fcn.00550140
mov edx, dword [ebp - 0x14]
mov edi, esp
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push edx
push 0
push 0
mov byte [edi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push edi
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [ebp - 0x54]
lea ecx, [esi + 0x5a4]
push eax
call sub.MFC42.DLL_CString::operator
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [esi + 0x5a0]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [0x5d2ac0]
mov ecx, 0x5d2ac0
mov dword [ebp - 0x14], ecx
call dword [edx + 4]
mov eax, dword [0x5cb048]
mov bl, 0x12
test eax, eax
mov byte [ebp - 4], bl
jne 0x525a3d
mov eax, dword [0x5cb044]
test eax, eax
jne 0x525a3d
push 0x380
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
mov byte [ebp - 4], 0x13
je 0x525998
mov ecx, edi
call fcn.00472270
mov dword [edi], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x52599a
xor edi, edi
mov ecx, dword [0x5d0198]
mov eax, dword [0x5b4b90]
mov dword [0x5cb044], edi
mov byte [ebp - 4], bl
lea edi, [ecx - 1]
xor ebx, ebx
test edi, edi
mov dword [ebp - 0x1c], eax
jl 0x5259dc
lea edx, [ebp - 0x5c]
push ebx
push edx
mov ecx, 0x5d0190
call fcn.00480bb0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x58]
cmp eax, ecx
jge 0x5259d8
inc ebx
cmp ebx, edi
jle 0x5259ba
test edi, edi
jge 0x5259f5
mov ecx, dword [ebp - 0x1c]
push 1
mov eax, 0x406940
push ecx
push eax
push ebx
mov ecx, 0x5d0190
call fcn.00417800
jmp 0x525a33
mov edx, dword [0x5d0198]
xor edi, edi
dec edx
test edx, edx
jle 0x525a33
mov eax, dword [0x5d0194]
cmp dword [eax + edi*8], 0x406940
je 0x525a33
mov ecx, dword [ebp - 0x1c]
push 1
mov eax, 0x406940
push ecx
push eax
push ebx
mov ecx, 0x5d0190
call fcn.00417800
mov edx, dword [0x5d0198]
inc edi
dec edx
cmp edi, edx
jl 0x525a02
mov dword [0x5cb048], 1
mov eax, dword [0x5d2ac0]
mov edi, dword [0x5cb044]
mov ecx, 0x5d2ac0
mov byte [ebp - 4], 0xe
call dword [eax + 8]
lea ecx, [ebp - 0x70]
push ecx
mov ecx, edi
call fcn.0047f970
mov edx, dword [0x5d2ac0]
mov ecx, 0x5d2ac0
mov dword [ebp - 0x14], 0x5d2ac0
call dword [edx + 4]
mov eax, dword [0x5cb048]
mov bl, 0x14
test eax, eax
mov byte [ebp - 4], bl
jne 0x525b61
mov eax, dword [0x5cb044]
test eax, eax
jne 0x525b61
push 0x380
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
mov byte [ebp - 4], 0x15
je 0x525abc
mov ecx, edi
call fcn.00472270
mov dword [edi], vtable.CComObjectNoRef_class_CKMPPlayer_.0
jmp 0x525abe
xor edi, edi
mov ecx, dword [0x5d0198]
mov eax, dword [0x5b4b90]
mov dword [0x5cb044], edi
mov byte [ebp - 4], bl
lea edi, [ecx - 1]
xor ebx, ebx
test edi, edi
mov dword [ebp - 0x1c], eax
jl 0x525b00
lea edx, [ebp - 0x5c]
push ebx
push edx
mov ecx, 0x5d0190
call fcn.00480bb0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x58]
cmp eax, ecx
jge 0x525afc
inc ebx
cmp ebx, edi
jle 0x525ade
test edi, edi
jge 0x525b19
mov ecx, dword [ebp - 0x1c]
push 1
mov eax, 0x406940
push ecx
push eax
push ebx
mov ecx, 0x5d0190
call fcn.00417800
jmp 0x525b57
mov edx, dword [0x5d0198]
xor edi, edi
dec edx
test edx, edx
jle 0x525b57
mov eax, dword [0x5d0194]
cmp dword [eax + edi*8], 0x406940
je 0x525b57
mov ecx, dword [ebp - 0x1c]
push 1
mov eax, 0x406940
push ecx
push eax
push ebx
mov ecx, 0x5d0190
call fcn.00417800
mov edx, dword [0x5d0198]
inc edi
dec edx
cmp edi, edx
jl 0x525b26
mov dword [0x5cb048], 1
mov eax, dword [0x5d2ac0]
mov edi, dword [0x5cb044]
mov ecx, 0x5d2ac0
mov byte [ebp - 4], 0xe
call dword [eax + 8]
mov ecx, dword [edi]
lea edx, [ebp - 0x64]
push edx
push edi
call dword [ecx + 0xc8]
mov eax, dword [ebp - 0x64]
cmp eax, 0xffffffff
je 0x525c05
cmp eax, 1
jne 0x525c05
fld qword [ebp - 0x70]
fmul qword [0x576c68]
call sub.MSVCRT.dll__ftol
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
mov edi, 0xe10
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebx, edx
cdq
idiv edi
mov eax, 0x88888889
mov edi, edx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
push edx
push edi
push ebx
lea edx, [ebp - 0x28]
push str._02d_02d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea eax, [ebp - 0x28]
lea ecx, [esi + 0x600]
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
push ecx
push edx
lea eax, [ebp - 0x34]
push str._s__s
push eax
call sub.MFC42.DLL_CString::Format
mov eax, dword [esi + 0x620]
add esp, 0x10
cmp eax, 1
jne 0x525c69
lea edi, [esi + 0x2bc]
test edi, edi
je 0x525c69
mov eax, dword [edi + 0x20]
test eax, eax
je 0x525c69
push ecx
lea edx, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x14], esp
push edx
call fcn.0054f83e
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov byte [ebp - 4], 0x16
call fcn.0054f83e
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00522fa0
jmp 0x525cb1
lea edi, [esi + 0x180]
test edi, edi
je 0x525cb1
mov eax, dword [edi + 0x20]
test eax, eax
je 0x525cb1
mov ecx, dword [esi + 0x59c]
lea edx, [ebp - 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push edx
call fcn.0054f83e
push ecx
lea eax, [esi + 0x5ac]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov byte [ebp - 4], 0x17
call fcn.0054f83e
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00513ad0
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [esi + 0x5a8]
call sub.MFC42.DLL_CString::operator_1
jmp 0x525d37
test ebx, ebx
je 0x525cd6
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x525cd6
push 0
mov ecx, ebx
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
mov ecx, edi
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
push 0x48c
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetDlgItem_1
mov ecx, eax
call sub.MFC42.DLL_CWnd::ShowWindow
mov edx, dword [esi + 0x59c]
lea eax, [esi + 0x5a0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.0054f83e
push ecx
lea edx, [esi + 0x5ac]
mov ecx, esp
mov dword [ebp - 0x10], esp
push edx
mov byte [ebp - 4], 0xf
call fcn.0054f83e
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.00513ad0
push 0
mov ecx, esi
call sub.MFC42.DLL_CWnd::UpdateData
mov eax, dword [esi + 0x610]
push 0
push eax
mov eax, dword [esi + 0x15c]
push 0x130c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ecx
call esi
mov edx, dword [ebp - 0x54]
push edx
call esi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x525da3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
test eax, eax
je 0x525db4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xb8]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret