Function at 0x7ab12c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x7ab56c
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
je 0x7ab3e7
cmp dword [ebp - 8], 1
jne 0x7ab1a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
jle 0x7ab1a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x450]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x450]
mov edx, dword [ebp - 4]
mov dword [edx + 0x458], eax
jmp 0x7ab42a
cmp dword [ebp - 8], 2
jne 0x7ab1ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x454]
mov edx, dword [eax]
call dword [edx + 0xc]
dec eax
jle 0x7ab1ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x454]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x454]
mov edx, dword [ebp - 4]
mov dword [edx + 0x458], eax
jmp 0x7ab42a
xor eax, eax
push ebp
push 0x7ab36c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
call fcn.00624ac0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2f4]
cmp eax, dword [edx + 0x48]
jg 0x7ab283
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2f4]
cmp eax, dword [edx + 0x4c]
jg 0x7ab283
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x7ab34c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov dl, 9
call fcn.00796860
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
imul esi, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2f4]
imul dword [edx + 0x48]
cmp esi, eax
jle 0x7ab315
push 0xffffffffffffffff
push ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
call fcn.00624ac0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x2f4]
mov ecx, dword [edx + 0x48]
pop edx
call fcn.005d4598
jmp 0x7ab34c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x4c]
push eax
push ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
call fcn.00624ac0
or ecx, 0xffffffff
pop edx
call fcn.005d4598
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7ab373
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
call fcn.00624ac0
mov byte [eax + 0x30], 1
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
mov dword [edx + 0x458], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x440], 0xffffffff
jne 0x7ab467
mov eax, dword [ebp - 4]
add eax, 0x448
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 4]
lea ecx, [edx + 0x444]
mov edx, dword [ebp - 4]
add edx, 0x440
call fcn.005d4988
push 0x40590000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00618bac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov byte [eax + 0x4a0], 1
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x3ac]
cmp byte [ebx + 0x57], 0
je 0x7ab511
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
je 0x7ab511
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
mov edx, dword [eax]
call dword [edx + 0xd0]
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ac]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f4]
mov eax, ebx
call fcn.0061a350
fadd dword [0x7ab580]
fcomp qword [ebx + 0x3f0]
fnstsw ax
sahf
jb 0x7ab544
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
xor edx, edx
call fcn.00628c20
jmp 0x7ab556
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov dx, 0x4c9
call fcn.00628c20
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007ae508
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7ab576
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret