Function at 0x41b2f8
Capabilities:
Check os version

Disassembly:
mov eax, 0x4331a6
call fcn.00425dc8
sub esp, 0xe78
push ebx
push esi
push edi
mov esi, ecx
call fcn.0041addd
test eax, eax
je 0x41b6b8
xor ebx, ebx
cmp dword [0x44312c], ebx
jne 0x41b3f9
cmp dword [0x443128], ebx
jne 0x41b3f9
cmp byte [esi + 0x401f], bl
jne 0x41b3f9
cmp dword [esi + 0x14b4], ebx
jne 0x41b3f9
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.0041c0c7
test eax, eax
jne 0x41b3d5
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
push ebx
call fcn.0041c0c7
test eax, eax
jne 0x41b3d5
mov ecx, esi
call fcn.0041b861
test eax, eax
je 0x41b3ae
push 1
push ebx
push ebx
push ebx
push dword [0x434764]
mov ecx, esi
call fcn.0041bbb4
jmp 0x41b3d1
push dword [0x434764]
lea eax, [ebp - 0x47c]
push 0x442924
push eax
call fcn.0041f68d
lea eax, [ebp - 0x47c]
push eax
call fcn.0041f832
test eax, eax
je 0x41b3f9
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.00401072
cmp eax, ebx
jne 0x41b3f9
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0041c1dc
mov dword [ebp - 0x10], eax
jmp 0x41b3fc
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [0x44246c]
call fcn.0041fe08
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x41b44f
lea eax, [ebp - 0x580]
push eax
push dword [0x44246c]
call fcn.00420074
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x443124], eax
lea ecx, [ebp - 0x580]
push ecx
push eax
call fcn.0041eea9
pop ecx
pop ecx
jmp 0x41b6b8
mov ebx, 0x400
lea edi, [esi + 0xcac]
push ebx
push 0
push edi
call fcn.00426630
add esp, 0xc
cmp dword [esi + 0x10ac], 1
jbe 0x41b56a
cmp dword [esi + 0x14bc], 5
je 0x41b56a
push ebx
lea eax, [ebp - 0x47c]
push 0
push eax
call fcn.00426630
lea eax, [ebp - 0x47c]
push 0xa
push eax
push dword [esi + 0x14b8]
call fcn.00427e5c
push dword [0x43c5b8]
lea eax, [ebp - 0x47c]
push eax
call fcn.00425910
add esp, 0x20
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
call fcn.0041b87e
test eax, eax
je 0x41b506
lea eax, [ebp - 0x47c]
push eax
push 0x442d24
push edi
call fcn.0041f68d
mov ecx, esi
call fcn.0041bb42
test eax, eax
je 0x41b6b8
push 1
push edi
push str._LangTransform
mov ecx, esi
call fcn.0041be27
mov dword [esi + 0xa0], 1
jmp 0x41b56a
cmp byte [esi + 0x4040], 0
je 0x41b534
lea eax, [ebp - 0x47c]
push eax
lea eax, [esi + 0x2f19]
push eax
push edi
call fcn.0041f68d
push 1
push edi
push str._LangTransform
mov ecx, esi
call fcn.0041be27
jmp 0x41b56a
mov ecx, esi
call fcn.0041b7f0
test al, al
je 0x41b55b
mov ecx, esi
call fcn.0041b7b7
test al, al
je 0x41b55b
lea eax, [ebp - 0x47c]
push edi
push eax
mov ecx, esi
call fcn.0041b730
jmp 0x41b56a
lea eax, [ebp - 0x47c]
push eax
push edi
call fcn.00425900
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0
mov edi, 0x3e8
jne 0x41b5c7
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.00425de7
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x41b5bb
mov ecx, eax
call fcn.0040fa97
jmp 0x41b5bd
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.0041ef20
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0x980]
push eax
call ebx
test eax, eax
je 0x41b638
mov edi, 0x43b278
lea eax, [ebp - 0x980]
push edi
push eax
call fcn.004278d0
pop ecx
test eax, eax
pop ecx
je 0x41b638
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call ebx
test eax, eax
je 0x41b638
push edi
push dword [ebp - 0x10]
call fcn.004278d0
pop ecx
test eax, eax
pop ecx
jne 0x41b64d
mov eax, 0x486
push eax
mov dword [0x443124], eax
call fcn.0041eea9
jmp 0x41b449
lea eax, [ebp - 0x40]
push eax
push 1
pop ebx
push ebx
call fcn.00420106
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.0041b83e
mov ecx, dword [esi + 0x409c]
mov edi, 0x3e8
push edi
call fcn.0040fdc2
test eax, eax
jne 0x41b71f
push 0x44f
mov ecx, esi
call fcn.0041b819
mov ecx, esi
call fcn.0041bdeb
test eax, eax
jne 0x41b6bc
xor eax, eax
jmp 0x41b721
mov ecx, dword [esi + 0x409c]
push edi
call fcn.0040fdc2
test eax, eax
jne 0x41b71f
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 0x41b713
cmp dword [0x441a28], eax
jne 0x41b713
lea ecx, [ebp - 0x7c]
call fcn.00413899
test eax, eax
jne 0x41b705
xor ebx, ebx
jmp 0x41b713
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