Function at 0x41b2eb
Capabilities:
Check os version

Disassembly:
mov eax, 0x433196
call fcn.00425db8
sub esp, 0xe78
push ebx
push esi
push edi
mov esi, ecx
call fcn.0041add0
test eax, eax
je 0x41b6ab
xor ebx, ebx
cmp dword [0x44312c], ebx
jne 0x41b3ec
cmp dword [0x443128], ebx
jne 0x41b3ec
cmp byte [esi + 0x401f], bl
jne 0x41b3ec
cmp dword [esi + 0x14b4], ebx
jne 0x41b3ec
and byte [ebp - 0x47c], bl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x47b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
push dword [0x44246c]
call fcn.0041c0ba
test eax, eax
jne 0x41b3c8
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
push ebx
call fcn.0041c0ba
test eax, eax
jne 0x41b3c8
mov ecx, esi
call fcn.0041b854
test eax, eax
je 0x41b3a1
push 1
push ebx
push ebx
push ebx
push dword [0x434764]
mov ecx, esi
call fcn.0041bba7
jmp 0x41b3c4
push dword [0x434764]
lea eax, [ebp - 0x47c]
push 0x442924
push eax
call fcn.0041f680
lea eax, [ebp - 0x47c]
push eax
call fcn.0041f825
test eax, eax
je 0x41b3ec
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.00401072
cmp eax, ebx
jne 0x41b3ec
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0041c1cf
mov dword [ebp - 0x10], eax
jmp 0x41b3ef
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [0x44246c]
call fcn.0041fdfb
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x41b442
lea eax, [ebp - 0x580]
push eax
push dword [0x44246c]
call fcn.00420067
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x443124], eax
lea ecx, [ebp - 0x580]
push ecx
push eax
call fcn.0041ee9c
pop ecx
pop ecx
jmp 0x41b6ab
mov ebx, 0x400
lea edi, [esi + 0xcac]
push ebx
push 0
push edi
call fcn.00426620
add esp, 0xc
cmp dword [esi + 0x10ac], 1
jbe 0x41b55d
cmp dword [esi + 0x14bc], 5
je 0x41b55d
push ebx
lea eax, [ebp - 0x47c]
push 0
push eax
call fcn.00426620
lea eax, [ebp - 0x47c]
push 0xa
push eax
push dword [esi + 0x14b8]
call fcn.00427e4c
push dword [0x43c5b8]
lea eax, [ebp - 0x47c]
push eax
call fcn.00425900
add esp, 0x20
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
call fcn.0041b871
test eax, eax
je 0x41b4f9
lea eax, [ebp - 0x47c]
push eax
push 0x442d24
push edi
call fcn.0041f680
mov ecx, esi
call fcn.0041bb35
test eax, eax
je 0x41b6ab
push 1
push edi
push 0x43c724
mov ecx, esi
call fcn.0041be1a
mov dword [esi + 0xa0], 1
jmp 0x41b55d
cmp byte [esi + 0x4040], 0
je 0x41b527
lea eax, [ebp - 0x47c]
push eax
lea eax, [esi + 0x2f19]
push eax
push edi
call fcn.0041f680
push 1
push edi
push 0x43c724
mov ecx, esi
call fcn.0041be1a
jmp 0x41b55d
mov ecx, esi
call fcn.0041b7e3
test al, al
je 0x41b54e
mov ecx, esi
call fcn.0041b7aa
test al, al
je 0x41b54e
lea eax, [ebp - 0x47c]
push edi
push eax
mov ecx, esi
call fcn.0041b723
jmp 0x41b55d
lea eax, [ebp - 0x47c]
push eax
push edi
call fcn.004258f0
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0
mov edi, 0x3e8
jne 0x41b5ba
lea eax, [ebp - 0xa84]
push 0x104
push eax
push 0x3e9
push dword [0x43476c]
lea ecx, [esi + 0x4020]
push dword [0x434760]
call fcn.00407406
push 4
mov edi, eax
call fcn.00425dd7
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x41b5ae
mov ecx, eax
call fcn.0040fa97
jmp 0x41b5b0
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0x409c], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x409c]
push edi
push esi
push dword [esi + 0x44d4]
call fcn.0040fac3
lea eax, [ebp - 0x980]
push ebx
push eax
push 0x44e
call fcn.0041ef13
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0x980]
push eax
call ebx
test eax, eax
je 0x41b62b
mov edi, 0x43b278
lea eax, [ebp - 0x980]
push edi
push eax
call fcn.004278c0
pop ecx
test eax, eax
pop ecx
je 0x41b62b
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call ebx
test eax, eax
je 0x41b62b
push edi
push dword [ebp - 0x10]
call fcn.004278c0
pop ecx
test eax, eax
pop ecx
jne 0x41b640
mov eax, 0x486
push eax
mov dword [0x443124], eax
call fcn.0041ee9c
jmp 0x41b43c
lea eax, [ebp - 0x40]
push eax
push 1
pop ebx
push ebx
call fcn.004200f9
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push eax
lea eax, [esi + 0x4ac]
push eax
lea eax, [ebp - 0x980]
push eax
lea eax, [ebp - 0xe84]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0xe84]
mov ecx, esi
push eax
call fcn.0041b831
mov ecx, dword [esi + 0x409c]
mov edi, 0x3e8
push edi
call fcn.0040fdc2
test eax, eax
jne 0x41b712
push 0x44f
mov ecx, esi
call fcn.0041b80c
mov ecx, esi
call fcn.0041bdde
test eax, eax
jne 0x41b6af
xor eax, eax
jmp 0x41b714
mov ecx, dword [esi + 0x409c]
push edi
call fcn.0040fdc2
test eax, eax
jne 0x41b712
push esi
push 0x451
lea ecx, [ebp - 0x7c]
call fcn.004121e9
mov ecx, dword [esi + 0x409c]
push edi
mov dword [ebp - 4], ebx
call fcn.0040fdc2
test eax, eax
jne 0x41b706
cmp dword [0x441a28], eax
jne 0x41b706
lea ecx, [ebp - 0x7c]
call fcn.00413890
test eax, eax
jne 0x41b6f8
xor ebx, ebx
jmp 0x41b706
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x44e0], eax
call fcn.0040fb32
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.0041223e
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret