Function at 0x5fb420
Capabilities:
Access peb ldr_data
Check os version
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x5fb428
push ebx
push esi
push edi
mov esi, eax
xor eax, eax
push ebp
push 0x5fbca5
push dword fs:[eax]
mov dword fs:[eax], esp
lea ebx, [esi + 0x84]
xor eax, eax
mov dword [ebx + 4], eax
xor eax, eax
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], eax
lea eax, [ebx + 0x10]
call fcn.004042ac
lea eax, [ebx + 0x14]
call fcn.004042ac
xor eax, eax
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x18]
call fcn.004042ac
lea eax, [ebx + 0x1c]
call fcn.004042ac
lea eax, [ebx + 0x20]
call fcn.004042ac
mov byte [ebx + 1], 1
mov byte [ebx], 0
xor eax, eax
mov dword [ebx + 0x2c], eax
mov byte [ebx + 0x30], 1
mov eax, dword [esi + 0x6c]
xor ecx, ecx
mov edx, 0x5fbcbc
call fcn.004c8500
mov ebx, eax
test ebx, ebx
setne al
mov byte [esi + 0x84], al
test ebx, ebx
je 0x5fbc60
mov eax, ebx
mov edx, dword [0x4c7dcc]
call fcn.00403628
test al, al
je 0x5fb4db
mov eax, ebx
mov edx, dword [eax + 0x1c]
mov dword [esi + 0xb0], edx
call fcn.004cc0b4
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7930]
call fcn.00403628
test al, al
je 0x5fbc60
mov edi, ebx
xor ecx, ecx
mov edx, 0x5fbccc
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fb520
lea eax, [ebp - 4]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fb528
lea eax, [ebp - 4]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbcdc
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fb555
mov eax, ebx
call fcn.004caae8
mov dword [ebp - 8], eax
jmp 0x5fb55a
xor eax, eax
mov dword [ebp - 8], eax
xor ecx, ecx
mov edx, 0x5fbce8
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fb587
mov eax, ebx
call fcn.004caae8
mov dword [ebp - 0xc], eax
jmp 0x5fb58c
xor eax, eax
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov edx, 0x5fbcf4
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fb5b9
mov eax, ebx
call fcn.004caae8
mov dword [ebp - 0x28], eax
jmp 0x5fb5c0
mov dword [ebp - 0x28], 0x28
xor ecx, ecx
mov edx, 0x5fbd04
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7b44]
call fcn.00403628
test al, al
je 0x5fb5ed
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004cab9c
jmp 0x5fb5f5
lea eax, [ebp - 0x10]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd10
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7b44]
call fcn.00403628
test al, al
je 0x5fb622
lea edx, [ebp - 0x14]
mov eax, ebx
call fcn.004cab9c
jmp 0x5fb62a
lea eax, [ebp - 0x14]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd1c
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fb681
mov eax, ebx
call fcn.004caad0
fcomp dword [0x5fbd20]
fnstsw ax
sahf
jae 0x5fb669
mov eax, ebx
call fcn.004caae8
mov dword [ebp - 0x18], eax
jmp 0x5fb686
mov eax, ebx
call fcn.004caad0
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004d49d0
mov dword [ebp - 0x18], eax
jmp 0x5fb686
xor eax, eax
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov edx, 0x5fbd2c
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7b44]
call fcn.00403628
test al, al
je 0x5fb6b3
lea edx, [ebp - 0x1c]
mov eax, ebx
call fcn.004cab9c
jmp 0x5fb6bb
lea eax, [ebp - 0x1c]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd38
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7b44]
call fcn.00403628
test al, al
je 0x5fb6e8
lea edx, [ebp - 0x20]
mov eax, ebx
call fcn.004cab9c
jmp 0x5fb6f0
lea eax, [ebp - 0x20]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd44
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7b44]
call fcn.00403628
test al, al
je 0x5fb71d
lea edx, [ebp - 0x24]
mov eax, ebx
call fcn.004cab9c
jmp 0x5fb725
lea eax, [ebp - 0x24]
call fcn.004042ac
mov eax, dword [ebp - 4]
mov edx, 0x5fbd54
call fcn.004046b8
jne 0x5fbc56
cmp dword [ebp - 8], 1
je 0x5fb744
cmp dword [ebp - 8], 2
jne 0x5fb7ac
cmp dword [ebp - 0xc], 2
je 0x5fb750
cmp dword [ebp - 0xc], 3
jne 0x5fb7ac
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x94]
mov edx, dword [ebp - 0x10]
call fcn.00404300
lea eax, [esi + 0x98]
mov edx, dword [ebp - 0x14]
call fcn.00404300
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xa8], eax
mov dword [esi + 0x88], 0x28
cmp dword [ebp - 8], 1
jg 0x5fb7a3
cmp dword [ebp - 8], 1
jne 0x5fb7ac
cmp dword [ebp - 0xc], 3
jne 0x5fb7ac
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x88], eax
cmp dword [ebp - 8], 4
jne 0x5fba23
cmp dword [ebp - 0xc], 4
jne 0x5fba23
xor ecx, ecx
mov edx, 0x5fbd68
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7a64]
call fcn.00403628
test al, al
je 0x5fb7ee
mov eax, ebx
call fcn.004c8148
mov byte [esi + 0xb4], al
xor ecx, ecx
mov edx, 0x5fbd80
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fb81c
lea eax, [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fb824
lea eax, [ebp - 0x2c]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd90
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fb852
lea eax, [ebp - 0x30]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fb85a
lea eax, [ebp - 0x30]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbda0
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov edx, 0x5fbdac
call fcn.004046b8
jne 0x5fba23
mov eax, dword [ebp - 0x30]
mov edx, 0x5fbdac
call fcn.004046b8
jne 0x5fba23
mov eax, ebx
mov edx, dword [0x4c7930]
call fcn.00403628
test al, al
je 0x5fba23
mov eax, ebx
xor ecx, ecx
mov edx, 0x5fbdac
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7930]
call fcn.00403628
test al, al
je 0x5fba23
mov dword [ebp - 0x34], ebx
xor ecx, ecx
mov edx, 0x5fbdbc
mov eax, dword [ebp - 0x34]
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fb8fc
lea eax, [ebp - 0x38]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fb904
lea eax, [ebp - 0x38]
call fcn.004042ac
mov eax, dword [ebp - 0x38]
mov edx, 0x5fbdc8
call fcn.004046b8
jne 0x5fb99f
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x94]
mov edx, dword [ebp - 0x10]
call fcn.00404300
lea eax, [esi + 0x98]
mov edx, dword [ebp - 0x14]
call fcn.00404300
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xa8], eax
xor ecx, ecx
mov edx, 0x5fbcf4
mov eax, dword [ebp - 0x34]
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fb982
mov eax, ebx
call fcn.004caae8
shl eax, 3
mov dword [esi + 0x88], eax
jmp 0x5fb98c
mov dword [esi + 0x88], 0x80
mov byte [esi + 0xac], 1
mov byte [esi + 0x132], 2
jmp 0x5fba23
mov eax, dword [ebp - 0x38]
mov edx, 0x5fbdd8
call fcn.004046b8
jne 0x5fba23
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x94]
mov edx, dword [ebp - 0x10]
call fcn.00404300
lea eax, [esi + 0x98]
mov edx, dword [ebp - 0x14]
call fcn.00404300
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xa8], eax
xor ecx, ecx
mov edx, 0x5fbcf4
mov eax, dword [ebp - 0x34]
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fba19
mov eax, ebx
call fcn.004caae8
shl eax, 3
mov dword [esi + 0x88], eax
jmp 0x5fba23
mov dword [esi + 0x88], 0x28
cmp dword [ebp - 8], 5
jne 0x5fbc56
cmp dword [ebp - 0xc], 5
je 0x5fba3d
cmp dword [ebp - 0xc], 6
jne 0x5fbc56
xor ecx, ecx
mov edx, 0x5fbd68
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7a64]
call fcn.00403628
test al, al
je 0x5fba6b
mov eax, ebx
call fcn.004c8148
mov byte [esi + 0xb4], al
xor ecx, ecx
mov edx, 0x5fbd80
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fba99
lea eax, [ebp - 0x2c]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fbaa1
lea eax, [ebp - 0x2c]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbd90
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fbacf
lea eax, [ebp - 0x30]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fbad7
lea eax, [ebp - 0x30]
call fcn.004042ac
xor ecx, ecx
mov edx, 0x5fbda0
mov eax, edi
call fcn.004c8500
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov edx, 0x5fbdac
call fcn.004046b8
jne 0x5fbc56
mov eax, dword [ebp - 0x30]
mov edx, 0x5fbdac
call fcn.004046b8
jne 0x5fbc56
mov eax, ebx
mov edx, dword [0x4c7930]
call fcn.00403628
test al, al
je 0x5fbc56
mov eax, ebx
xor ecx, ecx
mov edx, 0x5fbdac
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7930]
call fcn.00403628
test al, al
je 0x5fbc56
mov dword [ebp - 0x34], ebx
xor ecx, ecx
mov edx, 0x5fbdbc
mov eax, dword [ebp - 0x34]
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c787c]
call fcn.00403628
test al, al
je 0x5fbb79
lea eax, [ebp - 0x38]
mov edx, dword [ebx + 0x18]
call fcn.00404344
jmp 0x5fbb81
lea eax, [ebp - 0x38]
call fcn.004042ac
mov eax, dword [ebp - 0x38]
mov edx, 0x5fbde4
call fcn.004046b8
jne 0x5fbc56
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x8c], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x90], eax
lea eax, [esi + 0x94]
mov edx, dword [ebp - 0x10]
call fcn.00404300
lea eax, [esi + 0x98]
mov edx, dword [ebp - 0x14]
call fcn.00404300
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xa8], eax
lea eax, [esi + 0x9c]
mov edx, dword [ebp - 0x1c]
call fcn.00404300
lea eax, [esi + 0xa0]
mov edx, dword [ebp - 0x20]
call fcn.00404300
lea eax, [esi + 0xa4]
mov edx, dword [ebp - 0x24]
call fcn.00404300
xor ecx, ecx
mov edx, 0x5fbcf4
mov eax, dword [ebp - 0x34]
call fcn.004c8500
mov ebx, eax
mov eax, ebx
mov edx, dword [0x4c7ad4]
call fcn.00403628
test al, al
je 0x5fbc29
mov eax, ebx
call fcn.004caae8
shl eax, 3
mov dword [esi + 0x88], eax
jmp 0x5fbc33
mov dword [esi + 0x88], 0x80
mov byte [esi + 0xac], 2
cmp dword [ebp - 0xc], 5
jne 0x5fbc49
mov byte [esi + 0x132], 3
jmp 0x5fbc56
cmp dword [ebp - 0xc], 6
jne 0x5fbc56
mov byte [esi + 0x132], 6
mov edx, dword [ebp - 0x18]
mov eax, esi
call fcn.005fdf5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5fbcac
lea eax, [ebp - 0x38]
call fcn.004042ac
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004042d0
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.004042d0
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004042d0
lea eax, [ebp - 4]
call fcn.004042ac
ret