Function at 0x1006663
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x1009004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
push ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp eax, ebx
push edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
je 0x1006695
mov byte [eax], bl
cmp ecx, ebx
je 0x100669b
mov dword [ecx], ebx
xor eax, eax
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x30
stosd dword es:[edi], eax
pop edi
push edi
lea eax, [ebp - 0x74]
push ebx
push eax
mov dword [ebp - 0x14], 0xaac56b
mov word [ebp - 0x10], 0xcd44
mov word [ebp - 0xe], 0x11d0
mov byte [ebp - 0xc], 0x8c
mov byte [ebp - 0xb], 0xc2
mov byte [ebp - 0xa], bl
mov byte [ebp - 9], 0xc0
mov byte [ebp - 8], 0x4f
mov byte [ebp - 7], 0xc2
mov byte [ebp - 6], 0x95
mov byte [ebp - 5], 0xee
call sub.msvcrt.dll_memset
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x5c], eax
xor eax, eax
add esp, 0xc
cmp dword [ebp - 0x1c], ebx
push 0x100286c
setne al
mov dword [ebp - 0x44], 0x10
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x58], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x2c], edi
je 0x1006872
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100285c
push edi
call esi
push 0x100283c
push edi
mov dword [ebp - 0x20], eax
call esi
push 0x100281c
push edi
mov dword [ebp - 0x34], eax
call esi
push 0x10027fc
push edi
mov dword [ebp - 0x30], eax
call esi
cmp dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], eax
je 0x100686b
cmp dword [ebp - 0x34], ebx
je 0x100686b
cmp dword [ebp - 0x30], ebx
je 0x100686b
cmp eax, ebx
je 0x100686b
cmp dword [ebp + 0x10], 2
jne 0x1006790
or eax, 0xffffffff
jmp 0x1006793
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
call dword [ebp - 0x20]
mov edi, eax
push edi
push 0x10027c8
mov dword [ebp - 0x18], edi
call fcn.0100635c
sub edi, 0x800b0001
xor eax, eax
cmp dword [ebp - 0x18], ebx
setne al
inc eax
neg edi
sbb edi, edi
and edi, eax
jne 0x10067ec
push 2
pop eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x14]
push eax
push 0xffffffffffffffff
call dword [ebp - 0x20]
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
jmp 0x1006874
mov ecx, dword [ebp - 0x24]
cmp ecx, ebx
mov eax, 0x800b0100
je 0x1006800
cmp dword [ebp - 0x18], eax
setne dl
mov byte [ecx], dl
cmp dword [ebp - 0x18], eax
je 0x10067c6
cmp dword [ebp - 0x1c], ebx
je 0x10067dc
push dword [ebp - 0x54]
call dword [ebp - 0x34]
cmp eax, ebx
je 0x100682b
push ebx
push ebx
push ebx
push eax
call dword [ebp - 0x30]
cmp eax, ebx
je 0x100682b
push ebx
push eax
call dword [ebp - 0x28]
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x1006832
mov eax, dword [ebp - 0x1c]
mov dword [eax], ebx
jmp 0x10067c6
push 0x10027b0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x10067c6
push 0x1002790
push eax
call esi
cmp eax, ebx
je 0x100685d
mov ecx, dword [ebp - 0x28]
push dword [ecx + 4]
call eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10067c6
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006d61
leave
ret 0x14