Function at 0x411620
Capabilities:
Check mutex on windows
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0x48de14]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x474754
push 0x11
push str.WinMain
call fcn.00412380
add esp, 0xc
call fcn.004115c0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5c8], esp
push 0x474768
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5cc], esp
push 0x474770
call fcn.00401440
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5d0], esp
push eax
call fcn.00411fb0
add esp, 4
lea ecx, [ebp - 0x44]
push ecx
call fcn.00412100
add esp, 0x58
lea ecx, [ebp - 0x44]
call fcn.004115a0
movzx edx, al
test edx, edx
je 0x411771
mov byte [ebp - 0x570], 0
push 0x103
push 0
lea eax, [ebp - 0x56f]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0
push 0x10
lea ecx, [ebp - 0x570]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edx, [ebp - 0x570]
push edx
lea ecx, [ebp - 0x44]
call fcn.004015b0
push 0
lea ecx, [ebp - 0x44]
call fcn.004016d0
push eax
call dword [sym.imp.MSVCR100.dll__access]
add esp, 8
test eax, eax
je 0x411712
lea ecx, [ebp - 0x44]
call fcn.004016d0
push eax
call dword [sym.imp.MSVCR100.dll__mkdir]
add esp, 4
lea ecx, [ebp - 0x44]
call fcn.004016d0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d4], esp
push eax
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d8], esp
push 0x47477c
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5dc], esp
push 0x474784
call fcn.00401440
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5e0], esp
push eax
call fcn.00411fb0
add esp, 4
call fcn.004121f0
add esp, 0x70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5e4], esp
push 0x474790
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5e8], esp
push 0x474798
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5ec], esp
push ecx
call fcn.00411e10
add esp, 4
lea edx, [ebp - 0x464]
push edx
call fcn.00412100
add esp, 0x58
lea ecx, [ebp - 0x464]
call fcn.004115a0
movzx eax, al
test eax, eax
jne 0x41182d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5f0], esp
lea edx, [ebp - 0x464]
push edx
call fcn.00401340
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5f4], esp
push str.state
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5f8], esp
push 0x4747a8
call fcn.00401440
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5fc], esp
push eax
call fcn.00411fb0
add esp, 4
call fcn.004121f0
add esp, 0x70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x600], esp
push 0x4747b0
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x604], esp
push 0x4747bc
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x608], esp
push ecx
call fcn.00411e10
add esp, 4
lea edx, [ebp - 0x60]
push edx
call fcn.00412100
add esp, 0x58
lea ecx, [ebp - 0x60]
call fcn.004115a0
movzx eax, al
test eax, eax
jne 0x4118e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x60c], esp
lea edx, [ebp - 0x60]
push edx
call fcn.00401340
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x610], esp
push 0x4747c4
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x614], esp
push 0x4747d0
call fcn.00401440
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x618], esp
push eax
call fcn.00411fb0
add esp, 4
call fcn.004121f0
add esp, 0x70
mov dword [0x48e0b8], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0043b984
add esp, 4
lea edx, [ebp - 0x448]
push edx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
call fcn.0043b96c
push eax
mov ecx, 0x48e0c0
call fcn.00439704
push str._EncryptShield_Client_Mutex_
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x411b39
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x24], 0
push 0x10
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x588], eax
push 0x11
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x58c], eax
push 0
push str.EncyptShieldLoginWnd
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x584], eax
cmp dword [ebp - 0x584], 0
je 0x411a3d
mov ecx, dword [ebp - 0x584]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x411a3d
mov edx, dword [ebp - 0x584]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4119c1
push 9
mov eax, dword [ebp - 0x584]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x580]
push ecx
mov edx, dword [ebp - 0x584]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x578]
sub eax, dword [ebp - 0x580]
mov ecx, dword [ebp - 0x588]
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x574]
sub edx, dword [ebp - 0x57c]
mov eax, dword [ebp - 0x58c]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x590], eax
push 1
push 0
push 0
mov eax, dword [ebp - 0x590]
push eax
mov ecx, dword [ebp - 0x594]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x584]
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x411b09
push 0
push 0x474810
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x584], eax
cmp dword [ebp - 0x584], 0
je 0x411b09
mov eax, dword [ebp - 0x584]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x411a83
mov ecx, dword [ebp - 0x584]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x411a92
push 9
mov edx, dword [ebp - 0x584]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [ebp - 0x580]
push eax
mov ecx, dword [ebp - 0x584]
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x578]
sub edx, dword [ebp - 0x580]
mov eax, dword [ebp - 0x588]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x574]
sub eax, dword [ebp - 0x57c]
mov ecx, dword [ebp - 0x58c]
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x598], eax
push 1
push 0
push 0
mov edx, dword [ebp - 0x598]
push edx
mov eax, dword [ebp - 0x59c]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x584]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebp - 0x61c], 1
lea ecx, [ebp - 0x60]
call fcn.00401550
lea ecx, [ebp - 0x464]
call fcn.00401550
lea ecx, [ebp - 0x44]
call fcn.00401550
mov eax, dword [ebp - 0x61c]
jmp 0x411df2
mov dword [ebp - 0x5bc], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x620], esp
push 0x474824
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x624], esp
push 0x474830
call fcn.00401440
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x628], esp
push edx
call fcn.00411fb0
add esp, 4
lea eax, [ebp - 0x5b8]
push eax
call fcn.00412100
add esp, 0x58
lea ecx, [ebp - 0x5b8]
call fcn.004115a0
movzx ecx, al
test ecx, ecx
jne 0x411bbd
lea ecx, [ebp - 0x5b8]
call fcn.004016d0
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
jle 0x411cf2
cmp dword [ebp - 0x5bc], 0
jle 0x411c97
cmp dword [ebp - 0x5bc], 0xc8
jle 0x411bf0
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x411bfd
mov edx, dword [ebp - 0x5bc]
push edx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x5bc]
sub eax, 0xc8
mov dword [ebp - 0x5bc], eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x62c], esp
push 0x474838
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x630], esp
push 0x474844
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x634], esp
push ecx
call fcn.00411fb0
add esp, 4
lea edx, [ebp - 0x20]
push edx
call fcn.00412100
add esp, 0x58
push eax
lea ecx, [ebp - 0x5b8]
call fcn.004047f0
lea ecx, [ebp - 0x20]
call fcn.00401550
lea ecx, [ebp - 0x5b8]
call fcn.004016d0
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
add esp, 4
mov dword [ebp - 0x5c0], eax
cmp dword [ebp - 0x5c0], 0
jg 0x411c92
jmp 0x411c97
jmp 0x411bca
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x638], esp
push 0x47484c
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x63c], esp
push str.millisecond
call fcn.00401440
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x640], esp
push str.sleep
call fcn.00401440
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x644], esp
push eax
call fcn.00411fb0
add esp, 4
call fcn.004121f0
add esp, 0x70
lea ecx, [ebp - 0x5b8]
call fcn.00401550
push 0x498
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0
je 0x411d2c
mov ecx, dword [ebp - 0x64c]
call fcn.0040f580
mov dword [ebp - 0x654], eax
jmp 0x411d36
mov dword [ebp - 0x654], 0
mov ecx, dword [ebp - 0x654]
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x28], edx
push 0
push 0x1cc
push 0x258
push 0
push 0
push 0x40000
push 0x96ce0000
push 0x474864
push 0
mov ecx, dword [ebp - 0x28]
call fcn.0043ab1b
push 0x66
mov ecx, dword [ebp - 0x28]
call fcn.0043a24e
mov ecx, dword [ebp - 0x28]
call fcn.0043a816
push 0
push str.StartingMainWnd
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x5c4], eax
cmp dword [ebp - 0x5c4], 0
je 0x411dbf
push 0
push 0xf060
push 0x112
mov eax, dword [ebp - 0x5c4]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 0x28]
call fcn.0043a6e2
mov dword [ebp - 0x650], 0
lea ecx, [ebp - 0x60]
call fcn.00401550
lea ecx, [ebp - 0x464]
call fcn.00401550
lea ecx, [ebp - 0x44]
call fcn.00401550
mov eax, dword [ebp - 0x650]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046bbe4
mov esp, ebp
pop ebp
ret 0x10