Function at 0x45a370
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x59e643
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x691844]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x691844]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov esi, dword [esp + 0xa8]
lea ecx, [esp + 0x34]
call fcn.00429880
xor ebx, ebx
push ebx
lea eax, [esp + 0x38]
push eax
push 0x3f
mov ecx, 0x69d200
mov dword [esp + 0xac], ebx
call fcn.0042f6b0
mov ebp, dword [esi + 0x31c]
push 0x1e1e1e
lea ecx, [esp + 0x38]
push ecx
push 0xffffffffffffffff
lea edx, [ebp + 2]
push edx
mov ecx, esi
call fcn.0043c130
lea ecx, [esp + 0x14]
call fcn.00429880
push ebx
lea eax, [esp + 0x18]
push eax
push 0xdd
mov ecx, 0x69d200
mov byte [esp + 0xac], 1
call fcn.0042f6b0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esi + 0x178], edx
mov edx, dword [esp + 0x28]
mov dword [esi + 0x17c], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x174], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x180], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x188], eax
lea eax, [esi + 0x218]
mov dword [esi + 0x184], edx
mov dword [esi + 0x18c], ecx
mov dword [esi + 0x16c], 1
cmp eax, ebx
je 0x45a47b
push eax
mov ecx, esi
call fcn.0043c0a0
movzx eax, word [ebp + 0x2a]
push 0xe6e826
mov ecx, 0x6a0f60
cmp ax, 1
jne 0x45a4a3
cmp byte [ebp + 0x16], 3
je 0x45a49c
push 0x23b
jmp 0x45a4a8
push 0x263
jmp 0x45a4a8
push 0x23c
call fcn.004d6bc0
push eax
mov ecx, esi
call fcn.0043c080
movzx edx, word [ebp + 0xb4]
push edx
mov ecx, 0x69fe70
call fcn.004aeab0
mov edi, eax
cmp edi, ebx
je 0x45a4f6
push 0xf0f0f0
push 0x5af25f
mov ecx, esi
call fcn.0043c080
mov edi, edi
mov eax, dword [edi]
push 0xc8d7aa
push eax
mov ecx, esi
call fcn.0043c080
mov edi, dword [edi + 4]
cmp edi, ebx
jne 0x45a4e0
movzx eax, word [ebp]
mov ecx, dword [0x69e254]
push eax
add ecx, 0x9dc
call fcn.005512b0
cmp eax, ebx
je 0x45a51e
mov ecx, eax
call fcn.00550c70
movzx cx, al
movzx ebx, cx
push 0xf0f0f0
push 0x5af25f
mov ecx, esi
call fcn.0043c080
movzx eax, bx
inc eax
cmp eax, 0x1e
jg 0x45a569
mov eax, dword [ebp + eax*4 + 0x38]
cmp eax, 0xffffffff
je 0x45a569
push eax
push 0x23d
mov ecx, 0x6a0f60
call fcn.004d6bc0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea edx, [esp + 0x5c]
push str._s:__d
push edx
call edi
add esp, 0x10
jmp 0x45a58e
push 0x1e0
mov ecx, 0x6a0f60
call fcn.004d6bc0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [esp + 0x58]
push 0x5acee4
push eax
call edi
add esp, 0xc
push 0xa4d52d
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.0043c080
cmp word [ebp + 0x1a], 3
jne 0x45a5eb
mov edx, dword [0x69e254]
movzx ecx, word [edx + 0x44c]
movzx eax, word [ebp + 0x1c]
cmp cx, ax
jae 0x45a5eb
movzx eax, ax
push eax
push 0x24c
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0x5c]
push ecx
call edi
add esp, 0xc
push 0xe61414
lea edx, [esp + 0x58]
push edx
mov ecx, esi
call fcn.0043c080
cmp word [ebp + 0x1a], 4
jne 0x45a6b0
movzx eax, word [ebp]
movzx ecx, ax
mov edx, 0x75
cmp dx, cx
ja 0x45a656
movzx ecx, ax
mov edx, 0x7a
cmp dx, cx
jb 0x45a656
mov eax, dword [0x69e254]
cmp byte [eax + 0x44b], 0x41
je 0x45a6b0
cmp bx, 0xa
jb 0x45a6b0
push 0x380
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea ecx, [esp + 0x58]
push ecx
call edi
add esp, 8
push 0xe61414
lea edx, [esp + 0x58]
push edx
jmp 0x45a6a9
movzx ecx, ax
mov edx, 0x7b
cmp dx, cx
ja 0x45a6b0
movzx eax, ax
mov ecx, 0x80
cmp cx, ax
jb 0x45a6b0
mov edx, dword [0x69e254]
cmp byte [edx + 0x44b], 0x81
je 0x45a6b0
cmp bx, 0xa
jb 0x45a6b0
push 0x383
mov ecx, 0x6a0f60
call fcn.004d6bc0
push eax
lea eax, [esp + 0x58]
push eax
call edi
add esp, 8
push 0xe61414
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.0043c080
lea ecx, [esp + 0x14]
mov byte [esp + 0xa0], 0
call fcn.00429890
lea ecx, [esp + 0x34]
mov dword [esp + 0xa0], 0xffffffff
call fcn.00429890
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.005997a8
add esp, 0x90
ret 4