Function at 0x4088d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44dcc1
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x46800c]
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.00404d80
mov dword [esi], vtable.CNsWin.0
call fcn.0040a320
mov ecx, eax
test ecx, ecx
je 0x408ba7
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x408bb1
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi + 0x58], eax
mov dword [esi + 0x54], 0
mov byte [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov word [esi + 0x64], 0
mov dword [ebp - 4], 0
lea ecx, [esi + 0x6c]
mov dword [esi], vtable.CNsDlg.0
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::constructor_void_
lea ecx, [esi + 0x94]
mov byte [ebp - 4], 1
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::constructor_void_
mov dword [esi + 0xd0], 0
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0xe8], 3
mov dword [esi + 0xe4], 0x1e
mov dword [esi + 0xdc], 0xea93
mov word [esi + 0xc4], 0x100
mov dword [esi + 0xc0], 0x1e
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc7], 0
mov dword [esi + 0x68], 2
mov byte [esi + 0xc6], 1
mov dword [esi + 0xe0], 0
mov dword [esi + 0xec], 0xffffff
mov dword [esi + 4], esi
mov dword [esi + 0xcc], 0xffffffff
mov word [esi + 0xf8], 0
mov dword [esi + 0xf0], 0x32
mov dword [esi + 0xf4], 0x32
mov dword [ebp - 4], 2
lea ecx, [esi + 0x104]
mov dword [esi], vtable.CMainDlg.0
call sym.nsUninstall.exe_public:_void___thiscall_CNsUninstaller::constructor_void_
mov byte [ebp - 4], 3
call fcn.0040a320
mov ecx, eax
test ecx, ecx
je 0x408bb8
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x408bc2
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [esi + 0xe0c], eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x308]
push 0x2f8
push 0
push eax
mov dword [esi + 0xdf8], 0
mov dword [esi + 0xe00], 0
mov dword [esi + 0xdfc], 0
mov dword [esi + 0xe04], 0
mov word [esi + 0xe08], 0
call fcn.004187d0
add esp, 0xc
call sym.nsUninstall.exe_public:_static_class_CNsApp____cdecl_CNsApp::Instance_void_
add eax, 8
lea ecx, [ebp - 0x30c]
push eax
call fcn.004093b0
push 0xf
push 0x45ab24
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 5
call fcn.004098f0
push 0x45ab44
push dword [ebp - 0x30c]
call fcn.0041bf37
mov edi, eax
add esp, 8
test edi, edi
je 0x408b52
push edi
push 1
lea eax, [ebp - 0x308]
push 0x2f8
push eax
call fcn.0041c131
push edi
call fcn.0041c2d8
lea edx, [ebp - 0x240]
add esp, 0x14
lea edi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x408b30
sub edx, edi
lea eax, [ebp - 0x240]
sar edx, 1
lea ecx, [esi + 0xe0c]
push edx
push eax
call fcn.00409660
mov byte [ebp - 4], 4
or eax, 0xffffffff
mov ecx, dword [ebp - 0x30c]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x408b89
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x408bc9
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.00416d81
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040a420
call edx
jmp 0x40893d
push 0x80004005
call fcn.0040a420
call edx
jmp 0x408a70
mov ecx, edx
call edi
jmp 0x408b89