Function at 0x10016685
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov eax, ecx
push esi
push edi
mov dword [ebp - 4], eax
lea esi, [eax + 0x490]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 8]
mov eax, 0x8f0
cmp dword [edi], eax
jae 0x100166b3
push 0x7a
pop ebx
jmp 0x100169b1
xor ebx, ebx
cmp dword [edi + 4], ebx
je 0x10016751
push 0x400
lea eax, [edi + 0xf0]
push 0xffffffffffffffff
push eax
mov dword [ebp + 8], eax
call fcn.1007d2d0
push 0x400
lea eax, [edi + 0x4f0]
push 0xffffffffffffffff
push eax
mov dword [ebp - 8], eax
call fcn.1007d2d0
mov eax, dword [ebp - 4]
add esp, 0x18
add eax, 0x4b4
mov dword [edi], 0x8f0
mov edi, dword [ebp + 8]
mov edx, ebx
mov dword [ebp - 4], eax
mov ecx, eax
cmp dword [ecx - 0xc], ebx
je 0x1001670f
mov al, byte [ecx + 1]
jmp 0x10016711
or al, 0xff
mov byte [edi + edx], al
add ecx, 0x40c
inc edx
cmp edx, 0x80
jl 0x10016705
mov eax, dword [ebp - 4]
mov ecx, ebx
mov edi, dword [ebp - 8]
cmp dword [eax + 0x205f8], ebx
je 0x10016738
mov dl, byte [eax + 1]
jmp 0x1001673b
or dl, 0xff
mov byte [edi + ecx], dl
add eax, 0x40c
inc ecx
cmp ecx, 0x80
jl 0x1001672b
jmp 0x100169b1
mov edx, dword [ebp - 4]
mov dword [edi], eax
mov dword [edi + 8], 0xf
mov dword [edi + 0xc], 3
mov dword [edi + 0x10], 0x80
mov eax, dword [edx + 0x419f0]
mov ecx, dword [edx + 0x419f4]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov eax, dword [edx + 0x419f8]
mov ecx, dword [edx + 0x419fc]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
mov eax, dword [edx + 0x41a08]
mov ecx, dword [edx + 0x41a0c]
mov dword [edx + 0x419f8], ebx
mov dword [edx + 0x419fc], ebx
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
mov eax, dword [edx + 0x41a10]
mov ecx, dword [edx + 0x41a14]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov eax, dword [edx + 0x419b0]
mov ecx, dword [edx + 0x419b4]
mov dword [edx + 0x41a10], ebx
mov dword [edx + 0x41a14], ebx
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], ecx
mov eax, dword [edx + 0x419b8]
mov ecx, dword [edx + 0x419bc]
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], ecx
mov eax, dword [edx + 0x419c8]
mov ecx, dword [edx + 0x419cc]
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], ecx
mov eax, dword [edx + 0x419d0]
mov ecx, dword [edx + 0x419d4]
mov dword [edi + 0x88], eax
mov dword [edi + 0x8c], ecx
mov eax, dword [edx + 0x419d8]
mov ecx, dword [edx + 0x419dc]
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], ecx
mov eax, dword [edx + 0x419e0]
mov ecx, dword [edx + 0x419e4]
mov dword [edi + 0x98], eax
mov dword [edi + 0x9c], ecx
mov eax, dword [edx + 0x41970]
mov ecx, dword [edx + 0x41974]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
mov eax, dword [edx + 0x41978]
mov ecx, dword [edx + 0x4197c]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov eax, dword [edx + 0x41988]
mov ecx, dword [edx + 0x4198c]
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], ecx
mov eax, dword [edx + 0x41990]
mov ecx, dword [edx + 0x41994]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], ecx
mov eax, dword [edx + 0x41998]
mov ecx, dword [edx + 0x4199c]
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], ecx
mov eax, dword [edx + 0x419a0]
mov ecx, dword [edx + 0x419a4]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], ecx
mov eax, dword [edx + 0x419a8]
mov ecx, dword [edx + 0x419ac]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], ecx
mov eax, dword [edx + 0x418d8]
mov dword [edi + 0xa0], eax
mov eax, dword [edx + 0x418e0]
mov dword [edi + 0xa4], eax
mov eax, dword [edx + 0x418dc]
mov dword [edi + 0xa8], eax
mov eax, dword [edx + 0x418e8]
mov dword [edi + 0xac], eax
mov eax, dword [edx + 0x418f0]
mov dword [edi + 0xb0], eax
mov eax, dword [edx + 0x418ec]
mov dword [edi + 0xb4], eax
mov eax, dword [edx + 0x418f4]
mov dword [edi + 0xb8], eax
mov eax, dword [edx + 0x41908]
mov ecx, dword [edx + 0x4190c]
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc4], ecx
mov eax, dword [edx + 0x41918]
mov ecx, dword [edx + 0x4191c]
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], ecx
mov eax, dword [edx + 0x41928]
mov dword [edi + 0xd0], eax
mov eax, dword [edx + 0x4193c]
mov dword [edi + 0xd4], eax
mov eax, dword [edx + 0x41930]
mov dword [edi + 0xd8], eax
mov eax, dword [edx + 0x4192c]
mov dword [edi + 0xdc], eax
mov eax, dword [edx + 0x414c4]
mov dword [edi + 0xe0], eax
mov eax, dword [edx + 0x410b8]
mov dword [edi + 0xe4], eax
mov ecx, dword [edx + 0x410ac]
mov dword [edi + 0xe8], ecx
mov ecx, dword [edx + 0x20aa8]
mov dword [edi + 0xec], ecx
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 4