Function at 0x10005af0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xaf8
mov eax, dword [0x101e6b6c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, 0x102b772b
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xaf8], esi
call fcn.10124b2c
test ebx, ebx
jne 0x10005b3a
push 0x57
call sub.KERNEL32.dll_SetLastError
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10124b5e
mov esp, ebp
pop ebp
ret 8
push edi
push 0
push 0
push esi
call sub.KERNEL32.dll_LoadLibraryExA
mov edi, eax
test edi, edi
je 0x10005e8f
push ebx
push edi
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
jne 0x10005e91
cmp dword [0x101e7f94], eax
jne 0x10005e8f
mov esi, dword [0x101e7f90]
test esi, esi
jne 0x10005cef
xorps xmm0, xmm0
mov dword [0x101e7f8c], esi
movups xmmword [0x101e7f6c], xmm0
movups xmmword [0x101e7f7c], xmm0
call sub.KERNEL32.dll_GetCurrentProcess
push esi
push esi
push str.dbghelp.dll
mov dword [0x101e7f6c], eax
call sub.KERNEL32.dll_LoadLibraryExW
mov dword [0x101e7f70], eax
test eax, eax
je 0x10005e35
push str.ImagehlpApiVersionEx
push eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymInitialize
push dword [0x101e7f70]
mov dword [0x101e7f74], eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymSetOptions
push dword [0x101e7f70]
mov dword [0x101e7f78], eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymGetOptions
push dword [0x101e7f70]
mov dword [0x101e7f7c], eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymLoadModule64
push dword [0x101e7f70]
mov dword [0x101e7f80], eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymGetModuleInfo64
push dword [0x101e7f70]
mov dword [0x101e7f84], eax
call sub.KERNEL32.dll_GetProcAddress
push str.SymFromName
push dword [0x101e7f70]
mov dword [0x101e7f88], eax
call sub.KERNEL32.dll_GetProcAddress
xorps xmm0, xmm0
mov dword [0x101e7f8c], eax
mov ecx, 0xc
movlpd qword [ebp - 0xaf4], xmm0
mov word [ebp - 0xaf4], cx
mov ecx, dword [0x101e7f74]
test ecx, ecx
je 0x10005e30
cmp dword [0x101e7f78], esi
je 0x10005e30
cmp dword [0x101e7f84], esi
je 0x10005e30
cmp dword [0x101e7f88], esi
je 0x10005e30
test eax, eax
je 0x10005e30
lea eax, [ebp - 0xaf4]
push eax
call ecx
cmp word [ebp - 0xaf4], 0xc
jb 0x10005e30
push esi
push esi
push dword [0x101e7f6c]
call dword [0x101e7f78]
test eax, eax
je 0x10005e30
mov eax, dword [0x101e7f80]
test eax, eax
je 0x10005ce0
cmp dword [0x101e7f7c], esi
je 0x10005ce0
call eax
and eax, 0xfffffffc
or eax, 0x2704
push eax
call dword [0x101e7f7c]
mov dword [0x101e7f90], 0x101e7f6c
mov esi, 0x101e7f6c
mov ecx, dword [esi + 0x18]
mov eax, edi
push 0
cdq
mov edi, edx
mov dword [ebp - 0xaf0], eax
push edi
push eax
push 0
push dword [ebp - 0xaf8]
push 0
push dword [esi]
call ecx
or eax, edx
jne 0x10005d20
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x10005e8f
push 0x68c
lea eax, [ebp - 0x890]
push 0
push eax
call fcn.101291d0
add esp, 0xc
mov dword [ebp - 0x894], 0x690
mov eax, dword [esi + 0x1c]
lea ecx, [ebp - 0x894]
push ecx
push edi
push dword [ebp - 0xaf0]
push dword [esi]
call eax
test eax, eax
je 0x10005e8f
lea ecx, [ebp - 0x204]
mov edx, 0x200
lea edi, [ebp - 0x870]
mov eax, ecx
sub edi, eax
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x10005d8b
mov al, byte [edi + ecx]
test al, al
je 0x10005d8b
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x10005d72
test edx, edx
lea eax, [ecx - 1]
cmovne eax, ecx
mov byte [eax], 0
je 0x10005e8f
push 0x10166530
push 0x200
lea eax, [ebp - 0x204]
push eax
call fcn.10005a30
test eax, eax
js 0x10005e8f
push ebx
push 0x200
lea eax, [ebp - 0x204]
push eax
call fcn.10005a30
test eax, eax
js 0x10005e8f
push 0x258
lea eax, [ebp - 0xaec]
push 0
push eax
call fcn.101291d0
add esp, 0xc
mov dword [ebp - 0xaec], 0x58
lea ecx, [ebp - 0xaec]
mov dword [ebp - 0xa9c], 0x200
mov eax, dword [esi + 0x20]
push ecx
lea ecx, [ebp - 0x204]
push ecx
push dword [esi]
call eax
test eax, eax
je 0x10005e8f
mov eax, dword [ebp - 0xab4]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10124b5e
mov esp, ebp
pop ebp
ret 8
mov eax, dword [0x101e7f70]
mov dword [0x101e7f94], 1
test eax, eax
je 0x10005e49
push eax
call sub.KERNEL32.dll_FreeLibrary
mov dword [0x101e7f74], 0
mov dword [0x101e7f78], 0
mov dword [0x101e7f7c], 0
mov dword [0x101e7f80], 0
mov dword [0x101e7f84], 0
mov dword [0x101e7f88], 0
mov dword [0x101e7f8c], 0
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10124b5e
mov esp, ebp
pop ebp
ret 8