Function at 0x408860
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x416094
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a4
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x24]
xor edi, edi
call fcn.00401070
lea ecx, [esp + 0x18]
mov dword [esp + 0x1b4], edi
call fcn.00401070
lea ecx, [esp + 0xc]
mov byte [esp + 0x1b4], 1
call fcn.00401070
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1b4], 2
call fcn.00401070
lea ecx, [esp + 0x30]
mov byte [esp + 0x1b4], 3
call fcn.00401070
lea eax, [esp + 0x24]
push edi
push eax
push 0x28
push str.StringId
mov ecx, esi
mov byte [esp + 0x1c4], 4
call fcn.00406b60
test eax, eax
jne 0x4088fb
lea ecx, [esp + 0x24]
push ecx
push 0x28
mov ecx, esi
call fcn.00406ad0
lea edx, [esp + 0x18]
push edi
push edx
push 0x29
push str.StringId
mov ecx, esi
call fcn.00406b60
test eax, eax
jne 0x408921
lea eax, [esp + 0x18]
mov ecx, esi
push eax
push 0x29
call fcn.00406ad0
lea ecx, [esp + 0xc]
push edi
push ecx
push 0x2a
push str.StringId
mov ecx, esi
call fcn.00406b60
test eax, eax
jne 0x408947
lea edx, [esp + 0xc]
mov ecx, esi
push edx
push 0x2a
call fcn.00406ad0
lea eax, [esp + 0x3c]
push edi
push eax
push 0xb
push str.StringId
mov ecx, esi
call fcn.00406b60
test eax, eax
jne 0x40896d
lea ecx, [esp + 0x3c]
push ecx
push 0xb
mov ecx, esi
call fcn.00406ad0
lea edx, [esp + 0x30]
push edi
push edx
push 0x15
push str.StringId
mov ecx, esi
call fcn.00406b60
test eax, eax
jne 0x408993
lea eax, [esp + 0x30]
mov ecx, esi
push eax
push 0x15
call fcn.00406ad0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, dword [esi + 0x318]
push edx
call fcn.0040f920
push eax
lea ecx, [esp + 0x60]
call fcn.0040c570
lea ecx, [esp + 0x48]
mov byte [esp + 0x1b4], 5
call fcn.0040bd30
cmp eax, 1
mov dword [esp + 8], eax
jne 0x408aeb
lea eax, [esp + 8]
lea ecx, [esp + 0xa8]
push eax
push ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 0x104
call fcn.0040c670
test eax, eax
jne 0x408aeb
mov ecx, dword [esi + 0x318]
xor edi, edi
cmp ecx, edi
je 0x408a26
call fcn.0040f920
test eax, eax
je 0x408a26
mov ecx, dword [esi + 0x318]
push edi
call fcn.0040f970
test byte [esi + 0x30c], 8
jne 0x408aca
push 1
call fcn.00404890
mov ecx, eax
call fcn.0040f300
test dword [esi + 0x30c], 0x104
jne 0x408a6e
cmp dword [esi + 0x24], 2
jne 0x408a6e
cmp dword [esi + 0x18], 5
jb 0x408a6e
lea edx, [esp + 0xa8]
mov ecx, esi
push edx
call fcn.004051c0
test eax, eax
je 0x408a8e
jmp 0x408a88
mov eax, dword [esi + 0xd8]
lea ecx, [esp + 0xa8]
push ecx
push eax
mov ecx, esi
call fcn.004060c0
test eax, eax
je 0x408a8e
mov dword [esi + 0x310], edi
mov eax, dword [esi + 0x300]
cmp eax, edi
jne 0x408aaf
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
push 0xffffffffffffffff
call fcn.00404890
mov ecx, eax
call fcn.0040f300
jmp 0x408ae6
push edi
push eax
push 0x65
mov ecx, esi
call fcn.0040fb10
push 0xffffffffffffffff
call fcn.00404890
mov ecx, eax
call fcn.0040f300
jmp 0x408ae6
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
mov dword [esi + 0x310], edi
call fcn.00406380
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov edi, 1
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b4], 0xb
call fcn.00401100
lea ecx, [esp + 0x8c]
mov byte [esp + 0x1b4], 0xa
call fcn.00401100
lea ecx, [esp + 0x80]
mov byte [esp + 0x1b4], 9
call fcn.00401100
lea ecx, [esp + 0x74]
mov byte [esp + 0x1b4], 8
call fcn.00401100
lea ecx, [esp + 0x68]
mov byte [esp + 0x1b4], 7
call fcn.00401100
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 6
call fcn.00401100
lea ecx, [esp + 0x48]
mov byte [esp + 0x1b4], 4
call fcn.0040eda0
lea ecx, [esp + 0x30]
mov byte [esp + 0x1b4], 3
call fcn.00401100
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1b4], 2
call fcn.00401100
lea ecx, [esp + 0xc]
mov byte [esp + 0x1b4], 1
call fcn.00401100
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b4], 0
call fcn.00401100
lea ecx, [esp + 0x24]
mov dword [esp + 0x1b4], 0xffffffff
call fcn.00401100
mov ecx, dword [esp + 0x1ac]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x1b0
ret