Function at 0x405b2c
Capabilities:
Check for time delay via gettickcount
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x484
mov eax, dword [0x429050]
xor eax, esp
mov dword [esp + 0x480], eax
push ebx
push esi
push edi
xor esi, esi
push 8
pop ecx
xor eax, eax
lea edi, [esp + 0x48]
push esi
mov dword [esp + 0x14], esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x42b138], eax
mov dword [esp + 0x24], 0x403470
mov dword [esp + 0x28], 0x403488
mov dword [esp + 0x2c], 0x4034a0
mov dword [esp + 0x30], 0x4034bc
mov dword [esp + 0x34], 0x4034d4
mov dword [esp + 0x38], 0x4034ec
mov dword [esp + 0x3c], 0x403504
mov dword [esp + 0x40], 0x40351c
mov dword [esp + 0x44], 0x403534
mov dword [esp + 0x14], esi
xor edi, edi
push dword [esp + edi*4 + 0x24]
lea ebx, [esp + 0x18]
call fcn.0040965c
cmp eax, esi
jl 0x405bd9
inc edi
cmp edi, 9
jb 0x405bc0
jmp 0x405beb
push dword [esp + edi*4 + 0x24]
push 0x403698
push eax
call fcn.00408ad3
add esp, 0xc
push 0x42af40
call fcn.00406e8d
mov edi, eax
cmp edi, esi
jge 0x405c05
push 0x40354c
jmp 0x405dbd
cmp dword [0x42af44], esi
jne 0x405cd4
push 0x5c
push dword [0x42af40]
call fcn.00418f00
lea ebx, [eax + 2]
xor eax, eax
mov edi, 0x208
push edi
mov word [esp + 0x74], ax
lea eax, [esp + 0x76]
push esi
push eax
call fcn.0041d8a0
add esp, 0x14
push ebx
mov ebx, 0x104
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.00418f2e
add esp, 0xc
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
xor eax, eax
push edi
mov word [esp + 0x27c], ax
lea eax, [esp + 0x27e]
push esi
push eax
call fcn.0041d8a0
add esp, 0xc
push ebx
lea eax, [esp + 0x27c]
push eax
push 0x40356c
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [esp + 0x68]
push ecx
sub ebx, eax
push 0x403578
lea eax, [esp + eax*2 + 0x280]
push ebx
push eax
call fcn.00418f91
add esp, 0x10
lea eax, [esp + 0x278]
push eax
xor eax, eax
mov ecx, 0x42af44
call fcn.00408def
mov edi, eax
cmp edi, esi
jge 0x405ccc
push 0x4035b4
jmp 0x405dbd
cmp dword [0x42af44], esi
je 0x405cdf
push dword [0x42af44]
call fcn.004089b5
push dword [0x42af40]
lea eax, [esp + 0x10]
lea ebx, [esp + 0x4c]
call fcn.0040633b
mov edi, eax
cmp edi, esi
jge 0x405d02
push 0x4035cc
jmp 0x405dbd
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x14]
call fcn.004063a8
mov edi, eax
cmp edi, esi
jge 0x405d25
push 0x4035e4
jmp 0x405dbd
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x405d32
cmp word [eax], si
jne 0x405d3c
mov dword [0x42af54], 1
push dword [esp + 0x1c]
mov ecx, 0x42af40
push dword [esp + 0x1c]
call fcn.0040726c
mov edi, eax
cmp edi, esi
jge 0x405d5b
push 0x40360c
jmp 0x405dbd
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x10]
push 0x42af40
call fcn.0040649d
mov edi, eax
cmp edi, esi
jge 0x405d8d
push 0x40364c
jmp 0x405dbd
call ebx
sub eax, dword [esp + 0x14]
call fcn.00405ad0
cmp dword [0x42af54], esi
jne 0x405dc5
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x68]
push dword [esp + 0x68]
call fcn.00405ffd
mov edi, eax
cmp edi, esi
jge 0x405dc5
push 0x403660
push edi
call fcn.00408ad3
pop ecx
pop ecx
call fcn.00406b54
mov ebx, dword [esp + 0xc]
cmp ebx, esi
je 0x405dd7
call fcn.0040a8f3
cmp dword [esp + 0x10], 0xcabf00d1
jne 0x405de7
mov dword [esp + 0x10], esi
jmp 0x405df1
mov ebx, 0x42af40
call fcn.004066dd
cmp edi, esi
jge 0x405e06
cmp edi, 0x80070642
je 0x405e06
mov esi, edi
call fcn.00405ed3
xor esi, esi
push edi
push 0x403678
push 1
call fcn.00408a57
mov dword [esp + 0x18], esi
add esp, 0xc
lea esi, [esp + 0xc]
call fcn.004093bc
test eax, eax
js 0x405e3a
push dword [esp + 0xc]
push 0x404f1c
push 1
call fcn.00408a57
add esp, 0xc
xor esi, esi
cmp dword [esp + 0xc], esi
je 0x405e4b
push dword [esp + 0xc]
call fcn.00409396
mov eax, dword [0x42a150]
mov dword [0x42b174], esi
cmp eax, 0xffffffff
je 0x405e69
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [0x42a150], 0xffffffff
mov eax, dword [0x42b178]
cmp eax, esi
je 0x405e7e
push eax
call fcn.00409396
mov dword [0x42b178], esi
mov eax, dword [0x42af48]
cmp eax, esi
je 0x405e8d
push eax
call fcn.00409396
mov eax, dword [0x42af40]
cmp eax, esi
je 0x405e9c
push eax
call fcn.00409396
mov eax, dword [0x42af44]
cmp eax, esi
je 0x405eab
push eax
call fcn.00409396
cmp edi, esi
jl 0x405eb5
mov eax, dword [esp + 0x10]
jmp 0x405ebc
mov eax, edi
and eax, 0xffff
mov ecx, dword [esp + 0x48c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00418ef1
mov esp, ebp
pop ebp
ret 0x10