Function at 0x1008a9f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100f54f7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov al, byte [esp + 0x28]
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [esp + 0xc], ebp
mov byte [ebp + 0x10], al
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
mov cl, byte [esp + 0x34]
mov dword [esp + 0x28], ebx
mov byte [ebp + 0x20], cl
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x2c], ebx
mov dl, byte [esp + 0x34]
mov dword [ebp + 0x34], ebx
mov byte [ebp + 0x30], dl
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
mov al, byte [esp + 0x34]
mov dword [ebp + 0x44], ebx
mov byte [ebp + 0x40], al
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], ebx
mov cl, byte [esp + 0x34]
mov dword [ebp + 0x54], ebx
mov byte [ebp + 0x50], cl
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
fld dword [0x100f73d8]
fsub dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x64], ebx
mov byte [ebp + 0x68], 1
mov byte [esp + 0x28], 4
fstp dword [0x1011db50]
mov eax, dword [edx + 4]
cmp eax, ebx
jne 0x1008aaa2
mov eax, 0x100f7364
push 0x1010d054
push eax
call fcn.100dfe80
mov esi, eax
add esp, 8
cmp esi, ebx
mov dword [esp + 0x34], esi
je 0x1008ac40
push esi
push 1
push 0x90
push 0x1011db58
call fcn.100dfd38
mov eax, dword [0x1011db58]
add esp, 0x10
cmp eax, 0x50534249
jne 0x1008ac37
cmp dword [0x1011db5c], 0x2e
jne 0x1008ac37
mov al, byte [esp + 0x34]
push edi
mov byte [esp + 0x14], al
mov edi, str.Header_OK
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov esi, ecx
lea ecx, [esp + 0x18]
push esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], esi
call fcn.1000234b
test al, al
je 0x1008ab4f
mov edi, dword [esp + 0x18]
mov ecx, esi
mov edx, ecx
mov esi, str.Header_OK
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.100044e0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1008ab74
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x1008ab6b
cmp al, 0xff
je 0x1008ab6b
dec al
mov byte [ecx], al
jmp 0x1008ab74
push ecx
call fcn.100d0293
add esp, 4
mov esi, 0x1011db60
mov eax, dword [esi]
cmp eax, ebx
je 0x1008abad
cmp dword [esi + 4], ebx
je 0x1008abad
mov edi, dword [esp + 0x38]
push ebx
push eax
push edi
call fcn.100de795
mov ecx, dword [esi + 4]
push ecx
call fcn.100ddb25
mov dword [esi], eax
mov edx, dword [esi + 4]
push edi
push 1
push edx
push eax
call fcn.100dfd38
add esp, 0x20
jmp 0x1008abaf
mov dword [esi], ebx
add esi, 8
cmp esi, 0x1011dbe8
jl 0x1008ab79
push ebx
mov ecx, ebp
call fcn.1008a7a0
mov ecx, ebp
mov dword [ebp], eax
call fcn.100890d0
mov ecx, ebp
call fcn.10088800
mov ecx, ebp
call fcn.10088c10
mov ecx, ebp
call fcn.10089300
mov ecx, ebp
call fcn.10088ef0
mov esi, 0x1011db60
pop edi
mov eax, dword [esi]
push eax
call fcn.100d0293
add esi, 8
add esp, 4
cmp esi, 0x1011dbe8
jl 0x1008abee
mov ecx, dword [esp + 0x34]
push ecx
call fcn.100de4ba
add esp, 4
mov ecx, ebp
mov byte [ebp + 0x68], bl
push 1
call fcn.1008b8e0
mov eax, dword [0x1011dd0c]
lea edx, [esp + 0x34]
push eax
mov ecx, dword [eax]
push ecx
push edx
mov ecx, 0x1011dd08
call fcn.1008c6a0
jmp 0x1008ac40
push esi
call fcn.100de4ba
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 8