Function at 0x42c05d
Capabilities:
Check os version

Disassembly:
mov eax, 0x470f67
call fcn.00453e8c
sub esp, 0x940
push ebx
push esi
push edi
mov esi, ecx
call fcn.0042ae8d
test eax, eax
je 0x42c5ad
mov ecx, esi
call fcn.0042bc8d
and dword [ebp - 0x20], 0
mov dword [esi + 0xb04], eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [esi + 0x268]
movzx eax, word [eax + 0x48]
push eax
call fcn.00435b48
pop ecx
lea eax, [ebp - 0xd]
pop ecx
push 1
lea ecx, [ebp - 0x70]
pop ebx
push ebx
push eax
push 0x48ccf8
call fcn.00401889
mov eax, dword [eax + 8]
and dword [ebp - 4], 0
test eax, eax
mov edi, 0x4755fc
jne 0x42c0cd
mov eax, edi
push dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x268]
mov dword [ebp - 0x14], 0x2df
movzx eax, word [eax + 0x48]
push eax
lea eax, [ebp - 0x18]
push 0x48d1b4
push eax
call fcn.0040a587
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00401093
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x42c156
mov ecx, dword [esi + 0x268]
mov ax, word [ecx + 0x48]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00417eeb
mov ecx, dword [ebp - 0x68]
mov eax, 0x4b8
test ecx, ecx
mov dword [ebp - 4], ebx
mov dword [0x497200], eax
jne 0x42c13c
mov ecx, 0x475650
push ecx
push eax
call fcn.00434a24
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x70]
call fcn.00402424
jmp 0x42c5ad
mov eax, dword [esi + 0x268]
cmp dword [eax + 0x5c], ebx
jbe 0x42c58b
mov eax, dword [esi + 0x14]
cmp eax, 5
je 0x42c58b
mov ebx, 0x400
lea eax, [ebp - 0x94c]
push ebx
push 0
push eax
call fcn.00454540
lea eax, [ebp - 0x94c]
push 0xa
push eax
mov eax, dword [esi + 0x268]
movzx eax, word [eax + 0x48]
push eax
call fcn.004558c4
mov eax, dword [0x495908]
add esp, 0x18
test eax, eax
jne 0x42c1ac
mov eax, edi
push eax
lea eax, [ebp - 0x94c]
push eax
call fcn.004545ff
lea eax, [ebp - 0x94c]
pop ecx
mov edi, 0x4755e0
pop ecx
test eax, eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x28], 0x4755d8
lea eax, [ebp - 0x94c]
jne 0x42c1df
mov eax, 0x493568
lea ecx, [ebp - 0xd]
push 0
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.004011a9
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 2
call fcn.00401a19
push eax
mov ecx, esi
call fcn.0042c7dc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x14], eax
call fcn.00401093
cmp dword [ebp - 0x14], 0
je 0x42c340
cmp byte [0x493148], 0
jne 0x42c230
cmp byte [0x497938], 0
je 0x42c2a1
lea eax, [ebp - 0xd]
push 1
push eax
push 0x48ccf8
lea ecx, [ebp - 0x70]
call fcn.00401889
mov eax, 0x48d178
mov dword [ebp - 4], 3
mov ecx, eax
mov dword [ebp - 0x48], edi
test ecx, ecx
mov dword [ebp - 0x28], 0x4755d8
jne 0x42c264
mov eax, 0x493568
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.004011a9
lea eax, [ebp - 0x70]
push 0x2f3
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 4
call fcn.00464d80
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.00401093
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00401093
push 6
lea eax, [ebp - 0x7c]
pop edi
lea ecx, [esi + 4]
push ebx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], edi
push eax
call fcn.0040aeaf
mov ecx, eax
call fcn.00402dad
mov ecx, dword [eax]
mov dword [ebp - 4], 5
mov byte [eax + 4], 1
call fcn.00403dc2
mov eax, dword [eax]
lea ecx, [ebp - 0x94c]
push ecx
push 0x496a00
push eax
call fcn.00435235
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.00402ebf
mov ecx, esi
call fcn.0042cca8
test eax, eax
je 0x42c5ad
lea eax, [ebp - 0x70]
push edi
push eax
mov ecx, esi
call fcn.0040a47b
mov eax, dword [eax + 8]
mov dword [ebp - 4], edi
test eax, eax
jne 0x42c31b
mov eax, 0x475650
push 1
mov ecx, esi
pop edi
push edi
push eax
push 0x48d158
call fcn.0042d267
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402424
mov dword [esi + 0x3c], edi
jmp 0x42c58b
cmp byte [esi + 0x264], 0
je 0x42c424
lea eax, [ebp - 0x94c]
mov edi, 0x475628
mov ebx, 0x475620
mov dword [ebp - 0xa4], edi
test eax, eax
mov dword [ebp - 0x84], ebx
lea eax, [ebp - 0x94c]
jne 0x42c378
mov eax, 0x493568
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00403cfd
lea eax, [esi + 0x56]
mov dword [ebp - 4], 7
test eax, eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x28], ebx
jne 0x42c3a3
mov eax, 0x493568
lea ecx, [ebp - 0xd]
push 0
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.00403cfd
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x48]
push eax
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 8
call fcn.0040fa71
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.00402424
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xa
call fcn.00402424
lea eax, [ebp - 0x70]
push 0
push eax
push 6
mov ecx, esi
call fcn.0040a3fe
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x42c3ff
mov eax, 0x475650
push 1
push eax
push 0x48d158
mov ecx, esi
call fcn.0042d267
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00402424
mov edi, 0x4755e0
jmp 0x42c4ec
mov ecx, esi
call fcn.0042c73c
test al, al
je 0x42c489
mov ecx, esi
call fcn.0042c6ce
test al, al
je 0x42c489
lea eax, [ebp - 0x7c]
push ebx
push eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [esi + 4]
mov dword [ebp - 0x14], 6
call fcn.0040aeaf
mov ecx, eax
call fcn.00402dad
mov ecx, dword [eax]
mov dword [ebp - 4], 0xc
mov byte [eax + 4], 1
call fcn.00403dc2
push dword [eax]
lea eax, [ebp - 0x94c]
mov ecx, esi
push eax
call fcn.0042c610
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.00402ebf
jmp 0x42c4ec
lea eax, [ebp - 0x94c]
mov dword [ebp - 0xa4], 0x475628
test eax, eax
mov dword [ebp - 0x84], 0x475620
lea eax, [ebp - 0x94c]
jne 0x42c4b2
mov eax, 0x493568
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00403cfd
lea eax, [ebp - 0xa4]
push 0
push eax
push 6
mov ecx, esi
mov dword [ebp - 4], 0xd
call fcn.0040a3fe
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.00402424
cmp byte [0x493148], 0
jne 0x42c502
cmp byte [0x497938], 0
je 0x42c58b
lea eax, [ebp - 0x1a]
push 1
push eax
push 0x48ccf8
lea ecx, [ebp - 0xf4]
call fcn.00401889
mov eax, 0x48d0f4
mov dword [ebp - 4], 0xe
mov ecx, eax
mov dword [ebp - 0xcc], edi
test ecx, ecx
mov dword [ebp - 0xac], 0x4755d8
jne 0x42c53f
mov eax, 0x493568
lea ecx, [ebp - 0x19]
push 0
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.004011a9
lea eax, [ebp - 0xf4]
push 0x31a
push eax
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 4], 0xf
call fcn.00464d80
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xe
call fcn.00401093
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.00401093
mov ecx, esi
call fcn.0042be16
test eax, eax
je 0x42c5ad
push 0x44f
mov ecx, esi
call fcn.0042c765
mov ecx, esi
call fcn.0042d139
test eax, eax
jne 0x42c5b1
xor eax, eax
jmp 0x42c601
push esi
push 0x451
lea ecx, [ebp - 0x14c]
call fcn.004182be
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], 0x10
call fcn.0041b929
test eax, eax
jne 0x42c5dc
xor esi, esi
jmp 0x42c5f0
mov eax, dword [ebp - 0x140]
mov dword [esi + 0xb0c], eax
call fcn.0041733c
push 1
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.00418313
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret