Function at 0x426780
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50b4cd
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x55746c]
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 ebx, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x238], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x230]
mov dword [ebp - 0x230], 8
push eax
mov dword [ebp - 0x22c], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call fcn.004363f0
push 0x51b930
push 0
call fcn.004c2d06
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x51b934
call fcn.0042add0
add esp, 8
mov ecx, 0x55e6e0
push 0
push dword [0x55e6c4]
push 0
call fcn.00425fe0
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x234], 0
call fcn.00406930
mov dword [ebp - 4], 0
call fcn.00425f00
mov ecx, eax
call fcn.00463530
mov eax, dword [0x55e764]
test al, 1
jne 0x426882
or eax, 1
mov dword [0x55e764], eax
mov ecx, 0x55e760
mov byte [ebp - 4], 1
call fcn.00432250
push 0x515cc0
call fcn.004689a4
add esp, 4
mov byte [ebp - 4], 0
mov ecx, 0x55e760
call fcn.004322a0
push ebx
call fcn.00425e70
mov ecx, eax
call fcn.0041b5b0
push ebx
push str.lpstrCmdLine_s
call fcn.0042add0
add esp, 8
call fcn.004363f0
mov edi, eax
push edi
mov eax, dword [edi]
call dword [eax]
test eax, eax
jne 0x42692c
mov eax, dword [edi]
lea ecx, [ebp - 0x218]
push ecx
push str.DLL_NETUL
push 0xcc
push dword [0x55e6c4]
push edi
call dword [eax + 8]
test eax, eax
jne 0x4268e7
push str.InitCloudConfig_failed.
call fcn.0042add0
add esp, 4
jmp 0x42692c
push str.InitCloudConfig_success.
call fcn.0042add0
lea eax, [ebp - 0x218]
mov dword [ebp - 0x224], esp
mov ecx, esp
push eax
call fcn.00403e60
mov byte [ebp - 4], 2
call fcn.00425e70
mov ecx, eax
mov byte [ebp - 4], 0
call fcn.0041b4d0
mov esi, dword [edi]
call fcn.00425e70
mov ecx, eax
call fcn.0041cf00
push eax
push edi
call dword [esi + 0x50]
call fcn.00425e70
mov ecx, eax
call fcn.0041cf00
push eax
call fcn.00431c40
call fcn.00414be0
test eax, eax
je 0x426b1e
push str.xp_sp2
call fcn.0042add0
add esp, 4
push 0
push 0x51b98c
push 0
call fcn.00431c50
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x55e764]
test al, 1
jne 0x4269a2
or eax, 1
mov dword [0x55e764], eax
mov ecx, 0x55e760
mov byte [ebp - 4], 0x20
call fcn.00432250
push 0x515cc0
call fcn.004689a4
add esp, 4
mov byte [ebp - 4], 0
mov ecx, 0x55e760
call fcn.00432680
call fcn.00425f00
mov ecx, eax
call fcn.004636a0
call fcn.00436d10
push 0x5dc
call edi
mov ecx, 0x55e71c
call fcn.00407680
mov edi, dword [0x55e6d4]
add edi, 0x10
push edi
call ebx
mov esi, dword [0x55e718]
test esi, esi
je 0x426a2c
cmp dword [esi + 4], 0
jle 0x4269fa
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x55e718]
test esi, esi
je 0x426a2c
mov eax, dword [esi]
test eax, eax
je 0x426a13
push eax
call fcn.004b1c63
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.004685a9
add esp, 8
push edi
mov dword [0x55e718], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x55e714]
test esi, esi
je 0x426a85
mov eax, dword [esi]
test eax, eax
je 0x426a5c
push eax
call fcn.004b1c63
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x426a73
push eax
call fcn.004b1c63
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.004685a9
add esp, 8
mov esi, dword [0x55e70c]
test esi, esi
je 0x426ab7
cmp dword [esi], 0
je 0x426ab7
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x426aa1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x426a94
mov esi, dword [0x5560c8]
mov ecx, dword [0x5560cc]
cmp esi, ecx
jae 0x426ae1
mov eax, dword [esi]
test eax, eax
je 0x426ada
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x5560cc]
add esi, 4
cmp esi, ecx
jb 0x426ac7
mov ecx, 0x55e6e0
call fcn.00428f10
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x23c]
call fcn.00406970
mov eax, dword [ebp - 0x234]
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.00468598
mov esp, ebp
pop ebp
ret
cmp dword [0x555d44], 0
je 0x426bcb
push str.ntdll.dll
mov dword [ebp - 0x21c], 0
xor edi, edi
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x426bc1
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x426b95
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x21c]
push ecx
call eax
movzx eax, word [ebp - 0x220]
mov edi, 1
mov dword [ebp - 0x220], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x426bc1
cmp dword [ebp - 0x21c], 5
jne 0x426bc1
mov eax, dword [0x55bd1c]
mov ecx, 1
cmp dword [ebp - 0x224], ecx
cmove eax, ecx
mov dword [0x55bd1c], eax
mov dword [0x555d44], 0
cmp dword [0x55bd1c], 0
je 0x426bed
push str.system_is_xp_return
call fcn.0042add0
add esp, 4
push 0
push str.S_MR
jmp 0x42695f
mov ecx, 0x55e71c
call fcn.00407060
test eax, eax
jne 0x426c14
push str.CheckSingleInstance_failed__exit
call fcn.0042add0
add esp, 4
push 0
push 0x51ba44
jmp 0x42695f
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x42757b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 3
push eax
call fcn.004255b0
mov edi, eax
add esp, 4
test edi, edi
jg 0x426d71
jns 0x426c5e
push 0
push 0x51ba60
push 0
call fcn.00431c50
call fcn.00425e70
mov ecx, eax
call fcn.0041cd00
mov esi, eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00425e70
mov ecx, eax
call fcn.0041b220
mov byte [ebp - 4], 4
test esi, esi
jne 0x426d25
call fcn.004363f0
lea ecx, [ebp - 0x228]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x54]
call fcn.004363f0
push ecx
mov esi, eax
lea ecx, [ebp - 0x228]
mov eax, esp
push 0x51ba7c
push ecx
push eax
call fcn.00424b80
mov eax, dword [esi]
add esp, 0xc
mov ecx, esi
call dword [eax + 0x58]
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 4], 1
jle 0x426ce4
push dword [eax - 0xc]
lea ecx, [ebp - 0x21c]
call fcn.00404d10
mov eax, dword [ebp - 0x21c]
push eax
push str.RunApp_cmdLine:__s
call fcn.0042add0
add esp, 8
call fcn.004363f0
mov esi, eax
mov eax, dword [ebp - 0x21c]
cmp dword [eax - 4], 1
jle 0x426d19
push dword [eax - 0xc]
lea ecx, [ebp - 0x21c]
call fcn.00404d10
mov eax, dword [ebp - 0x21c]
mov ecx, dword [esi]
push eax
push 0x51bad4
push esi
call dword [ecx + 0x3c]
mov edx, dword [ebp - 0x21c]
or esi, 0xffffffff
mov byte [ebp - 4], 3
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x426d49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x228]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x426966
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x426966
call fcn.00425e70
mov ecx, eax
call fcn.0041b200
push eax
call fcn.004111f0
mov ecx, eax
call fcn.0040df10
push str.installpkg
call fcn.004111f0
mov ecx, eax
call fcn.0040df80
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00495040
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push dword [0x55e6c4]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call fcn.004111f0
mov ecx, eax
call fcn.0040de80
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x224], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x55bce4]
mov byte [ebp - 4], 5
test ecx, ecx
jne 0x426e56
push 0x555d2c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x55bce4], 0
jne 0x426e45
push 0x20
call fcn.00432be0
add esp, 4
mov dword [ebp - 0x220], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x426e33
mov ecx, eax
call fcn.0040ccf0
mov ecx, eax
jmp 0x426e35
xor ecx, ecx
mov byte [ebp - 4], 5
xchg dword [ebp - 0x224], eax
mov dword [0x55bce4], ecx
push 0x555d2c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x55bce4]
push 0
push 0
push 0x51baf0
mov byte [ebp - 4], 3
call fcn.0040db70
or esi, 0xffffffff
cmp edi, 2
jne 0x42748e
push 0x55e768
call fcn.0041a5d0
push ecx
mov ebx, esp
mov dword [ebp - 0x224], esp
mov edi, eax
mov dword [ebp - 0x220], ebx
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x427585
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
push edi
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.00404190
test al, al
jne 0x426edd
test edi, edi
jne 0x426ec0
xor ecx, ecx
jmp 0x426ed4
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426ec5
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, ebx
call fcn.00405580
mov byte [ebp - 4], 8
call fcn.0041a5d0
push ecx
mov ebx, esp
mov edi, eax
mov dword [ebp - 0x220], ebx
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x42758f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
push edi
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.00404190
test al, al
jne 0x426f3f
test edi, edi
jne 0x426f22
xor ecx, ecx
jmp 0x426f36
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426f27
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, ebx
call fcn.00405580
mov byte [ebp - 4], 8
mov byte [ebp - 4], 3
call fcn.00433040
add esp, 0xc
cmp dword [0x55e768], 0
je 0x4270d3
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x427599
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
push str.inst_limit_bird
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0xa
call fcn.00404190
test al, al
jne 0x426fa3
push 0xf
push str.inst_limit_bird
lea ecx, [ebp - 0x220]
call fcn.00405580
mov byte [ebp - 4], 0xb
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x4275a3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x21c], eax
push str.loader_dll2
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0xc
call fcn.00404190
test al, al
jne 0x426fee
push 0xb
push str.loader_dll2
lea ecx, [ebp - 0x21c]
call fcn.00405580
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x224], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x55bce4]
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0xe
test ecx, ecx
jne 0x42706e
push 0x555d2c
call ebx
cmp dword [0x55bce4], 0
jne 0x427059
push 0x20
call fcn.00432be0
add esp, 4
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x427047
mov ecx, eax
call fcn.0040ccf0
mov ecx, eax
jmp 0x427049
xor ecx, ecx
mov byte [ebp - 4], 0xe
xchg dword [ebp - 0x224], eax
mov dword [0x55bce4], ecx
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x555d2c
call edi
mov ecx, dword [0x55bce4]
jmp 0x427074
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.0040dc40
mov edx, dword [ebp - 0x21c]
mov eax, esi
mov byte [ebp - 4], 0xb
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4270b0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x220]
mov eax, esi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4270df
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4270df
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x55e770], 0
je 0x42724d
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x4275ad
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x21c], eax
push str.inst_limit_lu
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x10
call fcn.00404190
test al, al
jne 0x427133
push 0xd
push str.inst_limit_lu
lea ecx, [ebp - 0x21c]
call fcn.00405580
mov byte [ebp - 4], 0x11
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x4275b7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
push str.loader_dll2
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x12
call fcn.00404190
test al, al
jne 0x42717e
push 0xb
push str.loader_dll2
lea ecx, [ebp - 0x220]
call fcn.00405580
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x22c], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x55bce4]
mov byte [ebp - 4], 0x14
test ecx, ecx
jne 0x4271f0
push 0x555d2c
call ebx
cmp dword [0x55bce4], 0
jne 0x4271e3
push 0x20
call fcn.00432be0
add esp, 4
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4271d1
mov ecx, eax
call fcn.0040ccf0
mov ecx, eax
jmp 0x4271d3
xor ecx, ecx
mov byte [ebp - 4], 0x14
xchg dword [ebp - 0x224], eax
mov dword [0x55bce4], ecx
push 0x555d2c
call edi
mov ecx, dword [0x55bce4]
push 0
push 0
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.0040dc40
mov edx, dword [ebp - 0x220]
mov eax, esi
mov byte [ebp - 4], 0x11
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42722c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x21c]
mov eax, esi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42724d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x55e76c], 0
je 0x4273bb
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x4275c1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x21c], eax
push str.inst_limit_mgame
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x16
call fcn.00404190
test al, al
jne 0x4272a1
push 0x10
push str.inst_limit_mgame
lea ecx, [ebp - 0x21c]
call fcn.00405580
mov byte [ebp - 4], 0x17
call fcn.00404dc0
mov ecx, eax
test ecx, ecx
je 0x4275cb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x220], eax
push str.loader_dll2
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x18
call fcn.00404190
test al, al
jne 0x4272ec
push 0xb
push str.loader_dll2
lea ecx, [ebp - 0x220]
call fcn.00405580
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x22c], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x55bce4]
mov byte [ebp - 4], 0x1a
test ecx, ecx
jne 0x42735e
push 0x555d2c
call ebx
cmp dword [0x55bce4], 0
jne 0x427351
push 0x20
call fcn.00432be0
add esp, 4
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x42733f
mov ecx, eax
call fcn.0040ccf0
mov ecx, eax
jmp 0x427341
xor ecx, ecx
mov byte [ebp - 4], 0x1a
xchg dword [ebp - 0x224], eax
mov dword [0x55bce4], ecx
push 0x555d2c
call edi
mov ecx, dword [0x55bce4]
push 0
push 0
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.0040dc40
mov edx, dword [ebp - 0x220]
mov eax, esi
mov byte [ebp - 4], 0x17
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42739a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x21c]
mov eax, esi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4273bb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [0x55e774], 0
je 0x427494
push str.inst_limit_halo
lea ecx, [ebp - 0x220]
call fcn.00403e60
push str.loader_dll2
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x1c
call fcn.00403e60
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x22c], esp
mov dword [eax + 0x24], 0
push 1
push 0
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.004111f0
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.0040dc40
mov edx, dword [ebp - 0x224]
mov eax, esi
mov byte [ebp - 4], 0x1c
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x427445
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x220]
mov eax, esi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x427466
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x228]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42696c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42696c
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.004261e0
test eax, eax
jne 0x4274dc
mov ecx, 0x55e71c
call fcn.00407680
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xbb8
call edi
mov edx, dword [ebp - 0x228]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x426972
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x426972
call fcn.004264a0
test eax, eax
jne 0x42753c
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x22c], esp
mov dword [eax + 0x24], 0
push 0
push 0
push str.install_file_fail
mov byte [ebp - 4], 0x1f
call fcn.004111f0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0040db70
mov edx, dword [ebp - 0x228]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42696c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42696c
push dword [ebp + 0x14]
push dword [ebp - 0x238]
call fcn.004289f0
mov edx, dword [ebp - 0x228]
add esp, 8
mov dword [ebp - 0x234], eax
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x42696c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x42696c
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
push 0x80004005
call fcn.00404170
int3