Function at 0x420d63
Capabilities:
Check os version

Disassembly:
mov eax, 0x440ba2
call fcn.00432c38
sub esp, 0xe78
push ebx
push esi
push edi
mov esi, ecx
call fcn.00420848
test eax, eax
je 0x421120
xor ebx, ebx
cmp dword [0x453ed0], ebx
jne 0x420e64
cmp dword [0x453ecc], ebx
jne 0x420e64
cmp byte [esi + 0x402f], bl
jne 0x420e64
cmp dword [esi + 0x14c4], ebx
jne 0x420e64
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 [0x453204]
call fcn.00422108
test eax, eax
jne 0x420e40
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
push ebx
call fcn.00422108
test eax, eax
jne 0x420e40
mov ecx, esi
call fcn.0042187b
test eax, eax
je 0x420e19
push 1
push ebx
push ebx
push ebx
push dword [0x4426e8]
mov ecx, esi
call fcn.00421be4
jmp 0x420e3c
push dword [0x4426e8]
lea eax, [ebp - 0x47c]
push 0x4536c4
push eax
call fcn.0042b708
lea eax, [ebp - 0x47c]
push eax
call fcn.0042b8ad
test eax, eax
je 0x420e64
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x47c]
push eax
call fcn.00401072
cmp eax, ebx
jne 0x420e64
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.0042221d
mov dword [ebp - 0x10], eax
jmp 0x420e67
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [0x453204]
call fcn.0042be82
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x420eba
lea eax, [ebp - 0x580]
push eax
push dword [0x453204]
call fcn.0042c101
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x453ec8], eax
lea ecx, [ebp - 0x580]
push ecx
push eax
call fcn.0042af21
pop ecx
pop ecx
jmp 0x421120
mov ebx, 0x400
lea edi, [esi + 0xcbc]
push ebx
push 0
push edi
call fcn.004334a0
add esp, 0xc
cmp dword [esi + 0x10bc], 1
jbe 0x420fd5
cmp dword [esi + 0x14cc], 5
je 0x420fd5
push ebx
lea eax, [ebp - 0x47c]
push 0
push eax
call fcn.004334a0
lea eax, [ebp - 0x47c]
push 0xa
push eax
push dword [esi + 0x14c8]
call fcn.00434fd4
push dword [0x44c8c0]
lea eax, [ebp - 0x47c]
push eax
call fcn.00432780
add esp, 0x20
lea eax, [ebp - 0x47c]
mov ecx, esi
push eax
call fcn.00421898
test eax, eax
je 0x420f71
lea eax, [ebp - 0x47c]
push eax
push 0x453ac8
push edi
call fcn.0042b708
mov ecx, esi
call fcn.00421b72
test eax, eax
je 0x421120
push 1
push edi
push 0x44ca44
mov ecx, esi
call fcn.00421e68
mov dword [esi + 0xb0], 1
jmp 0x420fd5
cmp byte [esi + 0x4050], 0
je 0x420f9f
lea eax, [ebp - 0x47c]
push eax
lea eax, [esi + 0x2f29]
push eax
push edi
call fcn.0042b708
push 1
push edi
push 0x44ca44
mov ecx, esi
call fcn.00421e68
jmp 0x420fd5
mov ecx, esi
call fcn.00421230
test al, al
je 0x420fc6
mov ecx, esi
call fcn.004211f7
test al, al
je 0x420fc6
lea eax, [ebp - 0x47c]
push edi
push eax
mov ecx, esi
call fcn.00421170
jmp 0x420fd5
lea eax, [ebp - 0x47c]
push eax
push edi
call fcn.00432770
pop ecx
pop ecx
push 1
push 1
mov ecx, esi
call fcn.00421242
test eax, eax
jne 0x421120
cmp dword [ebp - 0x10], eax
mov edi, 0x3e8
jne 0x421044
lea eax, [ebp - 0xa84]
push 0x104
push eax
push 0x3e9
push dword [0x4426f0]
lea ecx, [esi + 0x4030]
push dword [0x4426e4]
call fcn.004075db
push 4
mov edi, eax
call fcn.00432c57
pop ecx
mov dword [ebp - 0x18], eax
and dword [ebp - 4], 0
test eax, eax
je 0x421038
mov ecx, eax
call fcn.00413088
jmp 0x42103a
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.004130b4
lea eax, [ebp - 0x980]
push ebx
push eax
push 0x44e
call fcn.0042af98
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0x980]
push eax
call ebx
test eax, eax
je 0x4210b5
mov edi, 0x44b290
lea eax, [ebp - 0x980]
push edi
push eax
call fcn.00434560
pop ecx
test eax, eax
pop ecx
je 0x4210b5
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call ebx
test eax, eax
je 0x4210b5
push edi
push dword [ebp - 0x10]
call fcn.00434560
pop ecx
test eax, eax
pop ecx
jne 0x4210ca
mov eax, 0x486
push eax
mov dword [0x453ec8], eax
call fcn.0042af21
jmp 0x420eb4
lea eax, [ebp - 0x40]
push eax
push 1
pop edi
push edi
call fcn.0042c193
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.00421858
push 0x44f
mov ecx, esi
call fcn.00421833
mov ecx, esi
call fcn.00421e2c
test eax, eax
jne 0x421124
xor eax, eax
jmp 0x421161
push esi
push 0x451
lea ecx, [ebp - 0x7c]
call fcn.00415bc0
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], edi
call fcn.00417425
test eax, eax
jne 0x421145
xor edi, edi
jmp 0x421153
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x44f0], eax
call fcn.0041312e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.00415c15
mov eax, edi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret