Function at 0x402ff0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
mov eax, dword [0x458ad0]
xor eax, esp
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x2c
mov dword [esp + 0x14], eax
call fcn.0041e1c4
xor ebx, ebx
add esp, 4
mov edi, 0xf
cmp eax, ebx
je 0x403037
mov dword [eax + 0x24], edi
mov dword [eax + 0x20], ebx
mov byte [eax + 0x10], bl
mov dword [eax + 8], ebx
mov dword [eax + 4], ebx
mov byte [eax + 0x28], bl
jmp 0x403039
xor eax, eax
push 0x104
mov dword [0x45cfb0], eax
call fcn.0041e1f3
add esp, 4
mov esi, eax
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov eax, esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x403070
sub eax, ecx
push eax
push esi
lea ecx, [esp + 0x38]
call fcn.004051d0
push esi
call fcn.0041e1fe
mov ecx, dword [0x45cfb0]
add esp, 4
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x38]
add ecx, 0xc
push edx
call fcn.00403f10
mov eax, dword [0x45cfb0]
push 0x16
add eax, 0xc
push 0x44e2c8
call fcn.004050c0
mov eax, dword [0x45cfb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
push 0xffffffffffffffff
add eax, 0xc
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
call fcn.004078f0
add esp, 0x1c
cmp eax, ebx
je 0x403111
mov eax, dword [0x45cfb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
push 0xffffffffffffffff
add eax, 0xc
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
call fcn.00407950
add esp, 0x1c
push 0x44e22c
push str.CPackageWnd
call dword [sym.imp.USER32.dll_FindWindowA]
push eax
call fcn.00421563
mov esi, eax
cmp esi, ebx
je 0x403175
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetLastActivePopup]
push eax
call fcn.00421563
mov ecx, dword [esi + 0x20]
push ebx
push ebx
push 0x12
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [esp + 0x48], 0x10
jb 0x40315f
mov edx, dword [esp + 0x34]
push edx
call fcn.0041e1fe
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.00428e93
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x10]
push 0x66
push esi
call dword [sym.imp.USER32.dll_LoadIconA]
push esi
call fcn.00402ab0
mov eax, dword [0x45cfb0]
push ebx
push esi
push ebx
push ebx
push ebx
push closesocket
push ebx
push closesocket
push 0xcf0000
push 0x44e22c
push str.CPackageWnd
push ebx
mov dword [esp + 0x40], eax
mov dword [eax + 8], esi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], eax
cmp eax, ebx
je 0x40314b
cmp dword [esp + 0xc], ebx
je 0x40314b
call fcn.00402870
push 0x1b8
call fcn.0041e1c4
add esp, 4
cmp eax, ebx
je 0x4031e9
push eax
call fcn.00409710
jmp 0x4031eb
xor eax, eax
mov ecx, eax
mov dword [0x45cfb4], eax
mov dword [0x45cfbc], 0x402dc0
mov dword [0x45cfb8], 0x402fd0
call sym..exe_public:_void___thiscall_SnakeLib::SubscribeToNotifications_void_
push 0x38
call fcn.0041e1c4
add esp, 4
cmp eax, ebx
je 0x40322f
mov dword [eax + 0x18], edi
mov dword [eax + 0x14], ebx
mov byte [eax + 4], bl
mov dword [eax + 0x34], edi
mov dword [eax + 0x30], ebx
mov byte [eax + 0x20], bl
mov esi, eax
jmp 0x403231
xor esi, esi
push 5
push str.50001
mov ecx, esi
call fcn.004051d0
mov ecx, dword [0x45cfb0]
push 1
push esi
call fcn.00402570
push 0x38
call fcn.0041e1c4
add esp, 4
cmp eax, ebx
je 0x403271
mov dword [eax + 0x18], edi
mov dword [eax + 0x14], ebx
mov byte [eax + 4], bl
mov dword [eax + 0x34], edi
mov dword [eax + 0x30], ebx
mov byte [eax + 0x20], bl
mov esi, eax
jmp 0x403273
xor esi, esi
push 5
push str.50002
mov ecx, esi
call fcn.004051d0
mov ecx, dword [0x45cfb0]
push 1
push esi
call fcn.00402570
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
push 3
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push 0x44e2e8
mov byte [ecx + 4], bl
call fcn.004051d0
mov eax, dword [0x45cfb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 0xffffffffffffffff
add eax, 0xc
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
call fcn.00401360
cmp eax, ebx
je 0x403333
mov eax, dword [0x45cfb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
push 0xffffffffffffffff
add eax, 0xc
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
mov ecx, dword [0x45cfb0]
inc ecx
call sym..exe_public:_void___thiscall_ProcessHelper::OpenExe_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___
mov eax, dword [0x45cfb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x28], esp
push 0xffffffffffffffff
add eax, 0xc
push ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
call fcn.00407950
add esp, 0x1c
mov eax, dword [0x45cfb0]
mov ecx, dword [0x45cfb4]
mov byte [eax + 0x28], 1
cmp dword [ecx + 0x1ac], 1
je 0x403387
mov eax, dword [eax + 4]
push ebx
push ebx
push 0x12
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esp + 0x48], 0x10
jb 0x40315f
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0041e1fe
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.00428e93
mov esp, ebp
pop ebp
ret 0x10
call sym..exe_public:_void___thiscall_SnakeLib::ResetPhone_void_
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push ebx
push ebx
push ebx
lea edx, [esp + 0x20]
push edx
call esi
test eax, eax
je 0x4033c6
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x14]
push eax
call edi
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
lea edx, [esp + 0x20]
push edx
call esi
test eax, eax
jne 0x4033a6
cmp dword [esp + 0x48], 0x10
mov esi, dword [esp + 0x1c]
jb 0x4033de
mov eax, dword [esp + 0x34]
push eax
call fcn.0041e1fe
add esp, 4
mov ecx, dword [esp + 0x4c]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.00428e93
mov esp, ebp
pop ebp
ret 0x10