Function at 0x88f2ec
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x88f794
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
push ebp
push 0x88f76c
push dword fs:[ecx]
mov dword fs:[ecx], esp
test ebx, ebx
jl 0x88f338
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005f6738
dec eax
cmp ebx, eax
jle 0x88f345
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88f776
xor ecx, ecx
mov dl, 1
mov eax, dword [0x616b84]
call fcn.00617c6c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
mov byte [eax + 0x30], 0
xor ecx, ecx
push ebp
push 0x88f75b
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00628c20
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008e3b64
xor eax, eax
push ebp
push 0x88f3d9
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x1c]
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
call fcn.00405594
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624a6c
pop edx
mov si, 0xffed
call fcn.00404028
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88f3e3
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
call fcn.005d6624
cmp byte [ebp + 0xc], 0
je 0x88f436
push 5
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
pop edx
pop ecx
call fcn.005d4530
jmp 0x88f469
push 0xd
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
pop edx
pop ecx
call fcn.005d4530
cmp byte [ebp + 8], 0
je 0x88f602
mov eax, dword [ebp - 8]
call fcn.00624fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
pop edx
call fcn.00633528
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
pop edx
call fcn.006336e8
cmp byte [ebp + 8], 0
je 0x88f542
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov bl, byte [eax + 0x70]
and bl, 0xff
mov edx, dword [eax + 0x70]
mov eax, edx
shr eax, 8
and al, 0xff
mov byte [ebp - 0xd], al
shr edx, 0x10
and dl, 0xff
mov byte [ebp - 0xe], dl
xor ecx, ecx
mov cl, byte [ebp - 0xe]
shr ecx, 1
xor edx, edx
mov dl, byte [ebp - 0xd]
shr edx, 1
xor eax, eax
mov al, bl
shr eax, 1
call fcn.00408a98
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x20], eax
fild qword [ebp - 0x24]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
call fcn.006382d4
jmp 0x88f56e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
fild dword [eax + 0x70]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
call fcn.006382d4
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x88f5f1
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x88f5eb
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x88f5ae
inc esi
dec dword [ebp - 0x14]
jne 0x88f594
push 1
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00625fb8
cmp byte [ebp + 8], 0
je 0x88f6d4
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x88f745
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x88f6c8
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, 0xff
sub al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638258
cmp al, 0x80
jae 0x88f6ab
push 0
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
jmp 0x88f6c4
push 0xff
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x88f649
inc esi
dec dword [ebp - 0x14]
jne 0x88f62b
jmp 0x88f745
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x88f745
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x88f73f
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, 0xff
sub al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x88f709
inc esi
dec dword [ebp - 0x14]
jne 0x88f6ef
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x88f762
mov eax, dword [ebp - 0xc]
call fcn.00403e2c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x88f79b
lea eax, [ebp - 0x1c]
call fcn.00404c7c
lea eax, [ebp - 0x18]
call fcn.004053b0
ret