Function at 0x1010753
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [ebp + 0xc]
push ebx
shr eax, 6
xor ebx, ebx
and eax, 1
cmp esi, ebx
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 8], eax
je 0x1010951
cmp dword [ebp + 8], ebx
je 0x1010951
mov ecx, dword [ebp + 0xc]
mov eax, 0xc0000000
and ecx, eax
cmp ecx, eax
je 0x1010951
push dword [ebp + 0xc]
call fcn.01011cb6
mov edx, eax
shr eax, 0x1f
not eax
and eax, 1
mov dword [ebp + 0xc], eax
push 0xd
xor eax, eax
shr edx, 0x1e
pop ecx
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
xor edi, edi
not edx
test dl, 1
mov dword [eax], edi
je 0x10108ff
mov ebx, dword [0x10170b0]
cmp ebx, edi
jne 0x101080c
push 0x1002e20
call fcn.0100e093
mov ebx, eax
cmp ebx, edi
je 0x10108ff
cmp dword [ebp - 8], edi
je 0x1010804
push edi
push ebx
push 0x10170b0
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x1010804
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [0x10170b0]
cmp ebx, edi
je 0x10108ff
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1002f60
push ebx
mov dword [esi + 0x30], ebx
call edi
push 0x1002f50
push ebx
mov dword [esi + 4], eax
call edi
push 0x1002f44
push ebx
mov dword [esi + 8], eax
call edi
push 0x1002f34
push ebx
mov dword [esi + 0xc], eax
call edi
push 0x1002f20
push ebx
mov dword [esi + 0x10], eax
call edi
push 0x1002f0c
push ebx
mov dword [esi + 0x14], eax
call edi
push 0x1002ef4
push ebx
mov dword [esi + 0x18], eax
call edi
push 0x1002ee0
push ebx
mov dword [esi + 0x1c], eax
call edi
push 0x1002ed0
push ebx
mov dword [esi + 0x20], eax
call edi
push 0x1002ebc
push ebx
mov dword [esi + 0x24], eax
call edi
push 0x1002ea8
push ebx
mov dword [esi + 0x28], eax
call edi
push 0x1002e80
push ebx
mov dword [esi + 0x2c], eax
call edi
xor ecx, ecx
cmp dword [esi + 8], ecx
mov dword [esi], eax
je 0x10108e3
cmp dword [esi + 0xc], ecx
je 0x10108e3
cmp dword [esi + 0x10], ecx
je 0x10108e3
cmp dword [esi + 0x14], ecx
je 0x10108e3
cmp dword [esi + 0x18], ecx
je 0x10108e3
cmp dword [esi + 0x1c], ecx
je 0x10108e3
cmp dword [esi + 0x20], ecx
je 0x10108e3
cmp dword [esi + 0x24], ecx
je 0x10108e3
cmp dword [esi + 0x28], ecx
je 0x10108e3
cmp dword [esi + 4], ecx
je 0x10108e3
cmp eax, ecx
je 0x10108e3
cmp dword [esi + 0x2c], ecx
je 0x10108e3
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 1
mov dword [eax], ebx
jmp 0x10108fd
push 0x7f
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0xd
pop ecx
xor eax, eax
mov edi, esi
push ebx
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor ebx, ebx
xor edi, edi
cmp dword [ebp + 0xc], edi
je 0x1010959
cmp ebx, edi
jne 0x1010959
cmp dword [0x10170b4], edi
jne 0x1010943
push 0x1002e38
call fcn.0100e093
mov ebx, eax
cmp ebx, edi
je 0x1010959
cmp dword [ebp - 8], edi
je 0x1010943
push edi
push ebx
push 0x10170b4
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
je 0x1010943
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [0x10170b4]
mov eax, dword [ebp + 8]
mov dword [ebp - 4], 2
mov dword [eax], ebx
jmp 0x1010959
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 4]
pop edi
pop ebx
leave
ret 8