Function at 0x405e00
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45e639
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x48200c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x310], esi
call fcn.00403670
mov dword [ebp - 4], 0
lea ecx, [esi + 0x110]
mov dword [esi], vtable.CMainDlg.0
call sym.Uninstall_adv.exe_public:_void___thiscall_CNsUninstaller::constructor_void_
mov byte [ebp - 4], 1
call fcn.00407ef0
mov ecx, eax
test ecx, ecx
je 0x406081
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40608b
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi + 0xe18], eax
mov byte [ebp - 4], 2
call fcn.00407ef0
mov ecx, eax
test ecx, ecx
je 0x406092
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40609c
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi + 0xe24], eax
push 0
mov byte [ebp - 4], 3
push 0
push 1
push 0
mov dword [esi + 0xe04], 0
mov dword [esi + 0xe0c], 0
mov dword [esi + 0xe08], 0
mov dword [esi + 0xe10], 0
mov word [esi + 0xe14], 0
mov byte [esi + 0xe16], 0
call sym.Uninstall_adv.exe_public:_static_class_CNsFont____cdecl_CNsFont::Instance_void_
mov ecx, eax
call sym.Uninstall_adv.exe_public:_int___thiscall_CNsFont::GetDefaultSize_void_
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x476598]
cvttsd2si eax, xmm0
push eax
call sym.Uninstall_adv.exe_public:_static_class_CNsFont____cdecl_CNsFont::Instance_void_
mov ecx, eax
call sym.Uninstall_adv.exe_public:_struct_HFONT______thiscall_CNsFont::GetFont_int__wchar_t_const___int__int__int_
push 0
push 0
push 0
push 0
mov dword [esi + 0xe1c], eax
call sym.Uninstall_adv.exe_public:_static_class_CNsFont____cdecl_CNsFont::Instance_void_
mov ecx, eax
call sym.Uninstall_adv.exe_public:_int___thiscall_CNsFont::GetDefaultSize_void_
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4765a0]
cvttsd2si eax, xmm0
push eax
call sym.Uninstall_adv.exe_public:_static_class_CNsFont____cdecl_CNsFont::Instance_void_
mov ecx, eax
call sym.Uninstall_adv.exe_public:_struct_HFONT______thiscall_CNsFont::GetFont_int__wchar_t_const___int__int__int_
push 0x2f8
mov dword [esi + 0xe20], eax
lea eax, [ebp - 0x308]
push 0
push eax
call fcn.0041fb70
add esp, 0xc
call sym.Uninstall_adv.exe_public:_static_class_CNsApp____cdecl_CNsApp::Instance_void_
add eax, 8
lea ecx, [ebp - 0x30c]
push eax
call fcn.00406d40
push 0xf
push 0x470f98
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 4
call fcn.00407390
push 0x470fb8
push dword [ebp - 0x30c]
call fcn.00423327
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x406012
push ebx
push 1
lea eax, [ebp - 0x308]
push 0x2f8
push eax
call fcn.00423568
push ebx
call fcn.0042370f
lea ecx, [ebp - 0x240]
add esp, 0x14
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405ff0
sub ecx, edx
lea eax, [ebp - 0x240]
sar ecx, 1
push ecx
push eax
lea ecx, [esi + 0xe18]
call fcn.00407100
push dword [esi + 0xe18]
lea eax, [esi + 0xe24]
push 0x470fc0
push eax
call fcn.004075a0
mov byte [ebp - 4], 3
add esp, 0xc
mov ecx, dword [ebp - 0x30c]
or eax, 0xffffffff
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x406063
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4060a3
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e140
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00407fc0
call edx
jmp 0x405e83
push 0x80004005
call fcn.00407fc0
call edx
jmp 0x405eb6
mov ecx, edx
call edi
jmp 0x406063