Function at 0x4304c8
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff38
xor edx, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x430c3d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov edx, 0x430c4c
mov eax, 0x4d48e8
call fcn.0040ab94
lea eax, [ebp - 0xb0]
xor ecx, ecx
mov edx, 0x94
call fcn.004036c0
mov dword [ebp - 0xb0], 0x94
lea eax, [ebp - 0xb0]
push eax
call sub.kernel32.dll_GetVersionExA
cmp dword [ebp - 0xa0], 2
jne 0x4305bc
mov eax, dword [0x4d39a4]
mov edx, 0x430c58
call fcn.00405720
call fcn.00403410
mov eax, dword [ebp - 4]
call fcn.0042deb4
mov eax, dword [0x4d39a4]
mov edx, 0x430cac
call fcn.00405720
call fcn.00403410
mov eax, dword [ebp - 4]
call fcn.0042f994
mov eax, dword [0x4d39a4]
mov edx, 0x430cf0
call fcn.00405720
call fcn.00403410
mov eax, dword [ebp - 4]
call fcn.0042eab8
mov eax, dword [0x4d39a4]
mov edx, 0x430d40
call fcn.00405720
call fcn.00403410
mov eax, dword [ebp - 4]
call fcn.0042e3a0
jmp 0x4305e7
xor eax, eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x19], 0
jmp 0x4305d2
mov eax, dword [ebp - 4]
call fcn.0042f6f8
mov byte [ebp - 0x19], al
cmp dword [ebp - 0x14], 0xa
jge 0x4305e7
cmp byte [ebp - 0x19], 0
jne 0x4305e7
cmp byte [0x4d48e8], 0
je 0x4305c7
cmp byte [0x4d48e8], 0
jbe 0x430a84
xor eax, eax
mov dword [ebp - 0x18], eax
mov edx, 0x430d70
mov eax, 0x4d48e8
mov ecx, 4
call fcn.0040aca8
test eax, eax
jne 0x430a6b
add dword [ebp - 0x18], 5
jmp 0x430a6b
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4d48e8], 0x2d
jne 0x430632
inc dword [ebp - 0x18]
jmp 0x430a6b
push 0
push 0xa
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.0040600c
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 0x4d48e8]
add eax, 0xffffffd0
cmp eax, 0x4a
ja case.0x430663.48
mov al, byte [eax + 0x43066a]
jmp dword [eax*4 + 0x4306b5]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 1
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 2
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 3
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 4
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 5
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 6
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 7
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 8
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 9
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xa
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xb
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xc
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xd
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xe
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0xf
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x10
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x11
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x12
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x13
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x14
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x15
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x16
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x17
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x18
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x19
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1a
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1b
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1c
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1d
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1e
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1f
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x20
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x21
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x22
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp case.0x430663.48
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x23
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4d48e8], 0
je 0x430a84
cmp dword [ebp - 0x18], 0x400
jl 0x43061e
push 0
push 0x5f5e100
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.004060ac
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov edx, 0x430d78
mov eax, 0x4d4ce8
call fcn.0040ad34
test eax, eax
je 0x430ac5
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x11e1a300
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp 0x430b3e
mov edx, 0x430d80
mov eax, 0x4d4ce8
call fcn.0040ad34
test eax, eax
jne 0x430aeb
mov edx, 0x430d88
mov eax, 0x4d4ce8
call fcn.0040ad34
test eax, eax
je 0x430b01
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x17d78400
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp 0x430b3e
mov edx, 0x430d90
mov eax, 0x4d4ce8
call fcn.0040ad34
test eax, eax
je 0x430b2a
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x1dcd6500
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
jmp 0x430b3e
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, 0x23c34600
adc edx, 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xbc], 0x4d48e8
mov byte [ebp - 0xb8], 6
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x430da0
call fcn.0040b2a0
mov edx, dword [ebp - 0xb4]
mov eax, dword [0x4d39a4]
call fcn.00405720
call fcn.00403410
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 0xbc], 0x4d4ce8
mov byte [ebp - 0xb8], 6
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x430dd4
call fcn.0040b2a0
mov edx, dword [ebp - 0xc0]
mov eax, dword [0x4d39a4]
call fcn.00405720
call fcn.00403410
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
lea eax, [ebp - 0xc8]
call fcn.00409f94
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0xb
lea edx, [ebp - 0xbc]
xor ecx, ecx
mov eax, 0x430e08
call fcn.0040b2a0
mov edx, dword [ebp - 0xc4]
mov eax, dword [0x4d39a4]
call fcn.00405720
call fcn.00403410
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x430c44
lea eax, [ebp - 0xc8]
mov edx, 3
call fcn.00405068
lea eax, [ebp - 0xb4]
call fcn.00405044
ret