Function at 0x41f613
Capabilities:
Check os version

Disassembly:
mov eax, 0x43ecd6
call fcn.004311b8
sub esp, 0xe78
push ebx
push esi
push edi
mov esi, ecx
call fcn.0041f0f8
test eax, eax
je 0x41f9e5
xor ebx, ebx
cmp dword [0x450be8], ebx
jne 0x41f714
cmp dword [0x450be4], ebx
jne 0x41f714
cmp byte [esi + 0x402f], bl
jne 0x41f714
cmp dword [esi + 0x14c4], ebx
jne 0x41f714
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 [0x44ff1c]
call fcn.004209f5
test eax, eax
jne 0x41f6f0
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
push ebx
call fcn.004209f5
test eax, eax
jne 0x41f6f0
mov ecx, esi
call fcn.00420168
test eax, eax
je 0x41f6c9
push 1
push ebx
push ebx
push ebx
push dword [0x440794]
mov ecx, esi
call fcn.004204d1
jmp 0x41f6ec
push dword [0x440794]
lea eax, [ebp - 0x47c]
push 0x4503dc
push eax
call fcn.00429de4
lea eax, [ebp - 0x47c]
push eax
call fcn.00429f89
test eax, eax
je 0x41f714
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.00401072
cmp eax, ebx
jne 0x41f714
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00420b0a
mov dword [ebp - 0x10], eax
jmp 0x41f717
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [0x44ff1c]
call fcn.0042a55f
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x41f76a
lea eax, [ebp - 0x580]
push eax
push dword [0x44ff1c]
call fcn.0042a7cb
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x450be0], eax
lea ecx, [ebp - 0x580]
push ecx
push eax
call fcn.00429600
pop ecx
pop ecx
jmp 0x41f9e5
mov ebx, 0x400
lea edi, [esi + 0xcbc]
push ebx
push 0
push edi
call fcn.00431a20
add esp, 0xc
cmp dword [esi + 0x10bc], 1
jbe 0x41f885
cmp dword [esi + 0x14cc], 5
je 0x41f885
push ebx
lea eax, [ebp - 0x47c]
push 0
push eax
call fcn.00431a20
lea eax, [ebp - 0x47c]
push 0xa
push eax
push dword [esi + 0x14c8]
call fcn.004334dc
push dword [0x449808]
lea eax, [ebp - 0x47c]
push eax
call fcn.00430d00
add esp, 0x20
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
call fcn.00420185
test eax, eax
je 0x41f821
lea eax, [ebp - 0x47c]
push eax
push 0x4507e0
push edi
call fcn.00429de4
mov ecx, esi
call fcn.0042045f
test eax, eax
je 0x41f9e5
push 1
push edi
push str._LangTransform
mov ecx, esi
call fcn.00420755
mov dword [esi + 0xb0], 1
jmp 0x41f885
cmp byte [esi + 0x4050], 0
je 0x41f84f
lea eax, [ebp - 0x47c]
push eax
lea eax, [esi + 0x2f29]
push eax
push edi
call fcn.00429de4
push 1
push edi
push str._LangTransform
mov ecx, esi
call fcn.00420755
jmp 0x41f885
mov ecx, esi
call fcn.0041fb1d
test al, al
je 0x41f876
mov ecx, esi
call fcn.0041fae4
test al, al
je 0x41f876
lea eax, [ebp - 0x47c]
push edi
push eax
mov ecx, esi
call fcn.0041fa5d
jmp 0x41f885
lea eax, [ebp - 0x47c]
push eax
push edi
call fcn.00430cf0
pop ecx
pop ecx
push 1
push 1
mov ecx, esi
call fcn.0041fb2f
test eax, eax
jne 0x41f9e5
cmp dword [ebp - 0x10], eax
mov edi, 0x3e8
jne 0x41f8f4
lea eax, [ebp - 0xa84]
push 0x104
push eax
push 0x3e9
push dword [0x44079c]
lea ecx, [esi + 0x4030]
push dword [0x440790]
call fcn.004073eb
push 4
mov edi, eax
call fcn.004311d7
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x41f8e8
mov ecx, eax
call fcn.004131c4
jmp 0x41f8ea
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [esi + 0x40ac], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x40ac]
push edi
push esi
push dword [esi + 0x44e4]
call fcn.004131f0
lea eax, [ebp - 0x980]
push ebx
push eax
push 0x44e
call fcn.00429677
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0x980]
push eax
call ebx
test eax, eax
je 0x41f965
mov edi, 0x448288
lea eax, [ebp - 0x980]
push edi
push eax
call fcn.00432b00
pop ecx
test eax, eax
pop ecx
je 0x41f965
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call ebx
test eax, eax
je 0x41f965
push edi
push dword [ebp - 0x10]
call fcn.00432b00
pop ecx
test eax, eax
pop ecx
jne 0x41f97a
mov eax, 0x486
push eax
mov dword [0x450be0], eax
call fcn.00429600
jmp 0x41f764
lea eax, [ebp - 0x40]
push eax
push 1
pop ebx
push ebx
call fcn.0042a85d
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push eax
lea eax, [esi + 0x4bc]
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.00420145
mov ecx, dword [esi + 0x40ac]
mov edi, 0x3e8
push edi
call fcn.004134ef
test eax, eax
jne 0x41fa4c
push 0x44f
mov ecx, esi
call fcn.00420120
mov ecx, esi
call fcn.00420719
test eax, eax
jne 0x41f9e9
xor eax, eax
jmp 0x41fa4e
mov ecx, dword [esi + 0x40ac]
push edi
call fcn.004134ef
test eax, eax
jne 0x41fa4c
push esi
push 0x451
lea ecx, [ebp - 0x7c]
call fcn.00415916
mov ecx, dword [esi + 0x40ac]
push edi
mov dword [ebp - 4], ebx
call fcn.004134ef
test eax, eax
jne 0x41fa40
cmp dword [0x44f4d4], eax
jne 0x41fa40
lea ecx, [ebp - 0x7c]
call fcn.00417002
test eax, eax
jne 0x41fa32
xor ebx, ebx
jmp 0x41fa40
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x44f0], eax
call fcn.0041325f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.0041596b
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret