Function at 0x985fca
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
add esp, 0xfffffff0
push ebx
push esi
push edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 8]
mov dword [ebp - 8], eax
cmp dword [reloc.kernel32.dll_HeapAlloc], 0
jg 0x98613b
call 0x985ffd
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x98600e
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0x706165
push 0x48657461
push 0x636f6c6c
push 0x416c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986036
jmp 0x986126
add esp, 0x10
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 4], eax
jmp 0x986150
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 4], ebx
mov eax, dword [reloc.kernel32.dll_HeapAlloc]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [0xde15b0], 0
jg 0x98629d
call 0x986162
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x986173
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0
push 0x706165
push 0x48656572
push 0x466c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986198
jmp 0x986288
add esp, 0x10
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 8], eax
jmp 0x9862b2
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 4], ebx
mov eax, dword [0xde15b0]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [0xde15b4], 0
jg 0x98640c
call 0x9862c4
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x9862d5
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0x79726f
push 0x6d654d6c
push 0x61757472
push 0x69566574
push 0x61636f6c
push 0x6c41775a
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986307
jmp 0x9863f7
add esp, 0x18
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0xc], eax
jmp 0x986421
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 4], ebx
mov eax, dword [0xde15b4]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [0xde15b8], 0
jg 0x986576
call 0x986433
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x986444
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0x79726f
push 0x6d654d6c
push 0x61757472
push 0x69566565
push 0x7246775a
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986471
jmp 0x986561
add esp, 0x14
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0x10], eax
jmp 0x98658b
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 4], ebx
mov eax, dword [0xde15b8]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [reloc.kernel32.dll_InitializeCriticalSection], 0
jg 0x9866ec
call 0x98659d
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x9865ae
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0
push 0x6e6f6974
push 0x6365536c
push 0x61636974
push 0x69724365
push 0x7a696c61
push 0x6974696e
push 0x496c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.009865e7
jmp 0x9866d7
add esp, 0x20
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0x14], eax
jmp 0x986701
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 4], ebx
mov eax, dword [reloc.kernel32.dll_InitializeCriticalSection]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [reloc.kernel32.dll_DeleteCriticalSection], 0
jg 0x98685d
call 0x986713
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x986724
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0
push 0x6e6f6974
push 0x6365536c
push 0x61636974
push 0x69724365
push 0x74656c65
push 0x446c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986758
jmp 0x986848
add esp, 0x1c
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0x18], eax
jmp 0x986872
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 4], ebx
mov eax, dword [reloc.kernel32.dll_DeleteCriticalSection]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [reloc.kernel32.dll_EnterCriticalSection], 0
jg 0x9869cc
call 0x986884
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x986895
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0x6e6f69
push 0x74636553
push 0x6c616369
push 0x74697243
push 0x7265746e
push 0x456c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.009868c7
jmp 0x9869b7
add esp, 0x18
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0x1c], eax
jmp 0x9869e1
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 4], ebx
mov eax, dword [reloc.kernel32.dll_EnterCriticalSection]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
cmp dword [reloc.kernel32.dll_LeaveCriticalSection], 0
jg 0x986b3b
call 0x9869f3
pop eax
add eax, 0xfffffff0
mov ecx, dword [eax]
test ecx, ecx
jne 0x986a04
or eax, 0xffffffff
leave
ret 4
mov dword [ebp - 0xc], ecx
push 0x6e6f69
push 0x74636553
push 0x6c616369
push 0x74697243
push 0x65766165
push 0x4c6c7452
lea edx, [esp]
push edx
push dword [ebp - 8]
call fcn.00986a36
jmp 0x986b26
add esp, 0x18
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebx + 0x20], eax
jmp 0x986b50
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 4], ebx
mov eax, dword [reloc.kernel32.dll_LeaveCriticalSection]
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
xor eax, eax
cmp dword [0xde15d0], 0
jg 0x986b67
jl 0x986b66
cmp dword [0xde15cc], 0
ja 0x986b67
inc eax
test eax, eax
je 0x986b8a
call 0x986b74
pop eax
add eax, 0xffffffeb
mov ecx, dword [eax]
test ecx, ecx
jne 0x986b85
or eax, 0xffffffff
leave
ret 4
inc byte [ecx]
mov dword [ebx + 0x24], ecx
call 0x986b8f
pop eax
add eax, 9
jmp 0x986ee5
mov dword [ebx + 0x48], eax
call 0x986eed
pop eax
add eax, 9
jmp 0x98971e
mov dword [ebx + 0x4c], eax
call 0x989726
pop eax
add eax, 9
jmp 0x98a777
mov dword [ebx + 0x50], eax
pop edi
pop esi
pop ebx
leave
ret 4