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

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
add edi, 0xffffffec
xor eax, eax
push ebp
push 0x595bc2
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
xor edx, edx
mov eax, 0x595bd8
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0x80], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595bec
call fcn.00591910
mov ebx, eax
mov eax, dword [edi]
mov dword [eax + 0x54], ebx
push 1
push 0xffffffffffffffff
mov ecx, ebx
mov eax, dword [edi]
mov edx, 0x595c00
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x58], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [edi]
mov edx, 0x595c18
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x5c], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [edi]
mov edx, 0x595c30
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x60], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
mov ecx, 0x11
mov edx, 0x595c48
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x70], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
mov ecx, 2
mov edx, 0x595c58
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x78], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
mov ecx, 0xd
mov edx, 0x595c68
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x74], eax
push ebp
mov edx, 0x44000000
mov eax, 0x595c78
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0xa0], eax
push ebp
mov edx, 0x99000000
mov eax, 0x595c88
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0xa4], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595c98
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x84], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595ca8
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x64], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595cb8
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x68], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595cc8
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x6c], eax
xor ebx, ebx
mov esi, dword [0x63caa4]
push 1
push 0xffffffffffffffff
mov edx, dword [esi]
lea eax, [ebp - 4]
mov ecx, 0x595cd8
call fcn.00405c8c
mov edx, dword [ebp - 4]
mov eax, dword [edi]
xor ecx, ecx
call fcn.00591910
xor edx, edx
mov dl, bl
mov ecx, dword [edi]
mov dword [ecx + edx*4 + 0x284], eax
push ebp
xor edx, edx
mov eax, 0x595cec
call fcn.005954c8
pop ecx
push eax
xor eax, eax
mov al, bl
mov edx, dword [edi]
lea eax, [edx + eax*4 + 0x268]
mov ecx, 1
mov edx, dword [0x4988c4]
call fcn.00407178
add esp, 4
inc ebx
add esi, 4
cmp bl, 5
jne 0x595679
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595d04
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x3c], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
or ecx, 0xffffffff
mov edx, 0x595d1c
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x38], eax
push ebp
xor edx, edx
mov eax, 0x595d30
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0x7c], eax
push 1
push 0xffffffffffffffff
mov eax, dword [edi]
xor ecx, ecx
mov edx, 0x595d4c
call fcn.00591910
mov edx, dword [edi]
mov dword [edx + 0x94], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595d60
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0x98], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595d78
call fcn.005954c8
pop ecx
mov ebx, eax
mov eax, dword [edi]
mov dword [eax + 0x90], ebx
cmp ebx, 0xffffffff
je 0x595785
mov edx, ebx
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
or ecx, 0xffffffff
call fcn.0058fcc8
mov edx, dword [edi]
mov dword [edx + 0x90], eax
push ebp
mov edx, 2
mov eax, 0x595d90
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0x88], eax
mov eax, dword [edi]
cmp dword [eax + 0x88], 1
jne 0x5957c0
mov eax, dword [edi]
cmp dword [eax + 0x20], 0x8f
jle 0x5957c0
mov eax, dword [edi]
mov dword [eax + 0x88], 2
push ebp
mov edx, 1
mov eax, 0x595da4
call fcn.005954c8
pop ecx
mov edx, dword [edi]
mov dword [edx + 0x8c], eax
push 2
mov eax, dword [edi]
add eax, 0x528
mov ecx, 1
mov edx, dword [0x582164]
call fcn.00407178
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0x528]
lea esi, [eax + 0x44]
mov dword [esi + 4], 0xff00ff
push ebp
or edx, 0xffffffff
mov eax, 0x595dbc
call fcn.005954c8
pop ecx
mov dword [esi + 0x20], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595dd0
call fcn.005954c8
pop ecx
mov dword [esi + 0x28], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595de4
call fcn.005954c8
pop ecx
mov dword [esi + 0x24], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595df8
call fcn.005954c8
pop ecx
mov dword [esi + 0x2c], eax
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
push ebp
mov edx, 3
mov eax, 0x595e0c
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x10], eax
push ebp
mov edx, 3
mov eax, 0x595e20
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x18], eax
push ebp
mov edx, 2
mov eax, 0x595e34
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x14], eax
push ebp
mov edx, 5
mov eax, 0x595e48
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x1c], eax
push ebp
mov edx, 9
mov eax, 0x595e5c
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x34], eax
push ebp
mov edx, 5
mov eax, 0x595e74
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x30], eax
push ebp
xor edx, edx
mov eax, 0x595e88
call fcn.005954c8
pop ecx
mov dword [esi], eax
push ebp
mov edx, 0x3c
mov eax, 0x595e9c
call fcn.005954c8
pop ecx
mov dword [esi + 0x40], eax
push ebp
mov edx, 2
mov eax, 0x595eb0
call fcn.005954c8
pop ecx
mov dword [esi + 0x3c], eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0x528]
add eax, 0x44
mov edx, 0x595ec4
call fcn.00594770
pop ecx
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
mov edx, dword [esi + 0x20]
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x20], eax
mov edx, dword [esi + 0x28]
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0x24]
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x24], eax
mov edx, dword [esi + 0x2c]
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x2c], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x528]
push ebp
mov edx, 0xffffff
mov eax, 0x595ed4
call fcn.005954c8
pop ecx
xor edx, edx
call fcn.00571958
mov dword [esi], eax
push ebp
mov edx, 0xffffff
mov eax, 0x595ee8
call fcn.005954c8
pop ecx
xor edx, edx
call fcn.00571958
mov dword [esi + 8], eax
push ebp
xor edx, edx
mov eax, 0x595efc
call fcn.005954c8
pop ecx
xor edx, edx
call fcn.00571958
mov dword [esi + 4], eax
push ebp
mov edx, 0xffffff
mov eax, 0x595f10
call fcn.005954c8
pop ecx
xor edx, edx
call fcn.00571958
mov dword [esi + 0xc], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595f24
call fcn.005954c8
pop ecx
mov dword [esi + 0x20], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595f38
call fcn.005954c8
pop ecx
mov dword [esi + 0x28], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595f4c
call fcn.005954c8
pop ecx
mov dword [esi + 0x24], eax
push ebp
or edx, 0xffffffff
mov eax, 0x595f60
call fcn.005954c8
pop ecx
mov dword [esi + 0x2c], eax
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
push ebp
mov edx, 2
mov eax, 0x595f74
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x10], eax
push ebp
mov edx, 2
mov eax, 0x595f88
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x18], eax
push ebp
mov edx, 2
mov eax, 0x595f9c
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x14], eax
push ebp
mov edx, 4
mov eax, 0x595fb0
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x1c], eax
push ebp
mov edx, 9
mov eax, 0x595fc4
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x34], eax
push ebp
mov edx, 5
mov eax, 0x595fdc
call fcn.005954c8
pop ecx
mov edx, eax
or ecx, 0xffffffff
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x30], eax
push ebp
mov edx, 2
mov eax, 0x595ff0
call fcn.005954c8
pop ecx
mov dword [esi + 0x3c], eax
push ebp
mov edx, 0xc8
mov eax, 0x596004
call fcn.005954c8
pop ecx
mov dword [esi + 0x40], eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0x528]
mov edx, 0x596018
call fcn.00594770
pop ecx
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
or ecx, 0xffffffff
mov edx, dword [esi + 0x20]
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x20], eax
or ecx, 0xffffffff
mov edx, dword [esi + 0x28]
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x28], eax
or ecx, 0xffffffff
mov edx, dword [esi + 0x24]
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x24], eax
or ecx, 0xffffffff
mov edx, dword [esi + 0x2c]
mov eax, ebx
call fcn.0058fcc8
mov dword [esi + 0x2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595bc9
lea eax, [ebp - 4]
call fcn.00405964
ret