Function at 0x7a874c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov esi, dword [ebp + 8]
test ebx, ebx
jne 0x7a876c
test esi, esi
je 0x7a8bf9
xor eax, eax
push ebp
push 0x7a8bef
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x7a8bde
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov al, byte [eax + 0x30]
mov byte [ebp - 9], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
call fcn.007b0b78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
call fcn.005ed464
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x80]
call fcn.005ed478
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.0088ae34
mov byte [ebp - 0x15], al
xor eax, eax
push ebp
push 0x7a8a92
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 1
jne 0x7a8891
push 1
push 2
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
add edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov edx, edi
pop ecx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov ecx, esi
xor edx, edx
call fcn.0059c4ac
cmp dword [ebp - 8], 3
jne 0x7a88c5
push 1
push 0
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
sub edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov edx, edi
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 2
jne 0x7a88f9
push 0
push 1
mov al, byte [ebp - 0x15]
push eax
mov edx, edi
sub edx, ebx
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov ecx, dword [ebp - 0x10]
pop edx
call fcn.005ed80c
cmp dword [ebp - 8], 4
jne 0x7a893e
push 2
push 1
mov al, byte [ebp - 0x15]
push eax
lea edx, [ebx + edi]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov ecx, dword [ebp - 0x10]
pop edx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor ecx, ecx
mov edx, ebx
call fcn.0059c4ac
cmp dword [ebp - 8], 5
jne 0x7a8991
push 2
push 2
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
add edx, esi
mov eax, 1
call fcn.005eaf84
push eax
lea edx, [ebx + edi]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov ecx, esi
mov edx, ebx
call fcn.0059c4ac
cmp dword [ebp - 8], 6
jne 0x7a89e5
push 0
push 2
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
add edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov edx, edi
sub edx, ebx
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov ecx, esi
xor edx, edx
call fcn.0059c4ac
cmp dword [ebp - 8], 7
jne 0x7a8a38
push 2
push 0
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
sub edx, esi
mov eax, 1
call fcn.005eaf84
push eax
lea edx, [ebx + edi]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor ecx, ecx
mov edx, ebx
call fcn.0059c4ac
cmp dword [ebp - 8], 8
jne 0x7a8a7a
push 0
push 0
mov al, byte [ebp - 0x15]
push eax
mov edx, dword [ebp - 0x10]
sub edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov edx, edi
sub edx, ebx
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0057cf78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x7a8a9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov edx, dword [ebp - 0x14]
call fcn.005ed478
mov eax, dword [ebp - 4]
call fcn.007b0bc0
cmp dword [ebp - 8], 1
jne 0x7a8ad0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 2
jne 0x7a8ae9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c78c
cmp dword [ebp - 8], 3
jne 0x7a8b02
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c8a4
cmp dword [ebp - 8], 4
jne 0x7a8b18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c78c
cmp dword [ebp - 8], 5
jne 0x7a8b3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 6
jne 0x7a8b67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 7
jne 0x7a8b90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c8a4
cmp dword [ebp - 8], 8
jne 0x7a8bbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, 0x7fffffff
call fcn.0062c8a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7a8be5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00637aa0
mov dl, byte [ebp - 9]
mov byte [eax + 0x30], dl
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4