Function at 0x45b6ec
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x45be2b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x9c], 0xffffffff
mov eax, dword [ebp - 4]
add eax, 0xc
call fcn.0040663c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xb0], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x49], 0
mov eax, dword [ebp - 4]
call fcn.00447f70
mov eax, dword [ebp - 4]
mov byte [eax + 0x3c], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x24], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x30], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x28], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x1c], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0x80], eax
mov dl, 1
mov eax, dword [0x439d68]
call fcn.0043aff8
mov edx, dword [ebp - 4]
mov dword [edx + 0xac], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x440d58]
call fcn.00463eb0
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xb4], ebx
mov byte [ebx + 0x14], 0
mov ecx, 0x45be4c
mov edx, 0x45be60
mov eax, dword [ebp - 4]
call fcn.0044c5ac
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
mov dword [edx + 0x10], eax
mov edx, 0x45be4c
mov eax, dword [ebp - 4]
call fcn.004472f0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xb4]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
call fcn.0045bf90
mov eax, dword [ebp - 4]
call fcn.0045db34
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0
je 0x45b8e5
xor eax, eax
push ebp
push 0x45b89c
push dword fs:[eax]
mov dword fs:[eax], esp
mov ebx, dword [ebp - 4]
mov edx, 0x45be78
mov eax, dword [ebp - 4]
call dword [ebx + 0x44]
test al, al
jne 0x45b892
push ebp
call fcn.00459edc
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45be15
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45b8e5
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0
jne 0x45b92f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3c], 0
je 0x45b908
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4b], 0
jne 0x45bce5
push 0
mov cl, 6
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x32
jne 0x45b9aa
test bl, bl
jne 0x45b9aa
mov bl, 1
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 3
je 0x45b96b
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 4
je 0x45b99b
push 0
mov cl, 7
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
jmp 0x45b8e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x5b
jne 0x45b9d1
cmp bl, 4
je 0x45b9c0
cmp bl, 5
jne 0x45b9d1
mov bl, 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
jmp 0x45b8e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x5a
jne 0x45b9ed
cmp bl, 2
jne 0x45b9ed
mov bl, 4
mov edx, dword [eax]
call dword [edx]
jmp 0x45b8e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x4f
jne 0x45baaa
test bl, bl
jne 0x45baaa
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 0
je 0x45baaa
mov bl, 2
mov eax, dword [ebp - 4]
mov byte [eax + 0x49], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 3
je 0x45ba4b
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa8], 1
jne 0x45ba6b
mov eax, dword [ebp - 4]
add eax, 0xc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 0x24]
call fcn.00406690
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 4
je 0x45ba9b
push 0
mov cl, 7
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
jmp 0x45b8e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x3c
jne 0x45baeb
cmp bl, 3
jb 0x45bac0
cmp bl, 4
jne 0x45baeb
cmp bl, 4
je 0x45baca
cmp bl, 5
jne 0x45bace
mov bl, 5
jmp 0x45bad0
mov bl, 3
push ebp
call fcn.0045b4ac
pop ecx
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
movzx eax, byte [edx + 0x1c]
cmp al, 0x31
je 0x45bb08
cmp al, 0x2a
je 0x45bb08
mov ecx, dword [ebp - 4]
cmp al, byte [ecx + 0x98]
jne 0x45bb54
cmp bl, 4
je 0x45bb12
cmp bl, 5
jne 0x45bb32
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0044cf28
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov bl, 3
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0044cf28
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
cmp al, 0x56
jne 0x45bb90
cmp bl, 4
je 0x45bb62
cmp bl, 5
jne 0x45bb66
mov bl, 5
jmp 0x45bb68
mov bl, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.0044c7ac
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
cmp al, 0x3d
jne 0x45bbc2
cmp bl, 4
je 0x45bb9e
cmp bl, 5
jne 0x45bba2
mov bl, 5
jmp 0x45bba4
mov bl, 3
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0044c210
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
cmp al, 0x23
jne 0x45bbf1
cmp bl, 4
je 0x45bbd0
cmp bl, 5
jne 0x45bbd4
mov bl, 5
jmp 0x45bbd6
mov bl, 3
push ebp
call fcn.0045b2c4
pop ecx
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
cmp al, 0x3a
jne 0x45bc27
cmp bl, 4
je 0x45bbff
cmp bl, 5
jne 0x45bc03
mov bl, 5
jmp 0x45bc05
mov bl, 3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 4]
call fcn.0044ddf0
test al, al
jne 0x45b8e7
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
cmp al, 0x21
jne 0x45bc7d
mov edx, dword [edx + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov eax, dword [eax + 0x10]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 0x10]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
call fcn.0043ba10
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0xb4]
mov edx, dword [ebx + 0x10]
mov dword [edx + 0x3c], eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00459514
test al, al
jne 0x45bce5
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 0x28
jne 0x45bccb
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4a], 0
jne 0x45bc9b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x49], 0
je 0x45bccb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x1c], 6
je 0x45bce5
push 0
mov cl, 9
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
push 0
mov cl, 8
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.00459dd8
test al, al
jne 0x45bd09
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov esi, dword [eax + 0xc]
dec esi
test esi, esi
jl 0x45bd6d
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.0043b2a0
mov edi, eax
mov edx, dword [edi]
mov eax, edx
cmp eax, dword [0x43f3ec]
jne 0x45bd69
cmp byte [edi + 8], 0
je 0x45bd69
mov eax, dword [edi + 0x14]
push eax
mov cl, 0x27
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447ec0
mov edx, dword [edi + 0x38]
mov dword [eax + 0x14], edx
mov edx, dword [edi + 0x34]
mov dword [eax + 4], edx
mov edx, dword [edi + 0x3c]
mov dword [eax + 8], edx
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
inc ebx
dec esi
jne 0x45bd1a
push ebp
call fcn.0045b204
pop ecx
test al, al
jne 0x45bd84
push ebp
call fcn.00459edc
pop ecx
jmp 0x45be15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov esi, dword [eax + 0xc]
dec esi
test esi, esi
jl 0x45be04
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0043b2a0
cmp byte [eax + 0x14], 0
jne 0x45be00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0043b2a0
mov eax, dword [eax + 0xc]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00447e68
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0043b2a0
mov eax, dword [eax + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0043b2a0
mov eax, dword [eax + 0x1c]
mov dword [edi + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0043b2a0
mov eax, dword [eax + 0x24]
mov dword [edi + 8], eax
inc ebx
dec esi
jne 0x45bd95
push ebp
call fcn.0045b148
pop ecx
mov byte [ebp - 5], al
push ebp
call fcn.00459edc
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45be32
lea eax, [ebp - 0xc]
call fcn.0040663c
ret