Function at 0x1006508
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xd14
mov eax, dword [0x100f05c]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 4], eax
mov dword [ebp - 0xd14], edi
call fcn.0100636b
mov esi, 0x100fa60
xor ebx, ebx
push esi
mov byte [ebp - 0x504], bl
call fcn.01004055
lea eax, [ebp - 0x504]
push eax
push esi
call fcn.010042a9
push 0x1002164
push 2
call fcn.010043ba
pop ecx
pop ecx
push 0x1002154
mov dword [0x100fa38], ebx
mov dword [0x100fa40], ebx
mov dword [0x100fa88], ebx
mov dword [0x100fa48], ebx
mov dword [0x100fa84], ebx
mov dword [0x100fa44], ebx
mov dword [0x100fa3c], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x100fa38], eax
jne 0x10065d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x100212c
push 1
call fcn.010043ba
add esp, 0x10
push 0xfffffffffffffff6
jmp 0x1006a74
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100211c
push eax
call esi
cmp eax, ebx
mov dword [0x100fa40], eax
jne 0x1006622
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x10020d8
jmp 0x10065c8
push 0x10020c4
push dword [0x100fa38]
call esi
cmp eax, ebx
mov dword [0x100fa88], eax
jne 0x100666d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x1002080
jmp 0x10065c8
push 0x100206c
push dword [0x100fa38]
call esi
cmp eax, ebx
mov dword [0x100fa48], eax
jne 0x10066b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x1002028
jmp 0x10065c8
push 0x1002018
push dword [0x100fa38]
call esi
cmp eax, ebx
mov dword [0x100fa84], eax
jne 0x1006703
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x1001fd8
jmp 0x10065c8
push 0x1001fc4
push dword [0x100fa38]
call esi
cmp eax, ebx
mov dword [0x100fa44], eax
je 0x100672f
push 0x1001fb0
push dword [0x100fa38]
call esi
cmp eax, ebx
mov dword [0x100fa3c], eax
jne 0x1006764
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 0x100
mov esi, eax
lea eax, [ebp - 0x104]
push eax
push ebx
push esi
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea eax, [ebp - 0x104]
push eax
push esi
push 0x1001f68
jmp 0x10065c8
push dword [0x100fa70]
call dword [0x100fa84]
push dword [0x100fa7c]
call dword [0x100fa44]
push dword [0x100fa78]
call dword [0x100fa3c]
mov eax, edi
mov dword [ebp - 0xd0c], ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1006793
sub eax, esi
add eax, 2
push eax
call fcn.01006f3e
mov dword [ebp - 0xd08], eax
mov eax, edi
pop ecx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10067b1
sub eax, esi
add eax, 2
push eax
call fcn.01006f3e
pop ecx
mov ecx, edi
mov dword [ebp - 0xd10], eax
mov word [eax], 0x20
mov esi, ecx
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x10067d3
sub ecx, esi
mov edi, eax
mov edx, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x10067e1
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [eax], bl
mov edi, dword [ebp - 0xd08]
mov esi, eax
je 0x100687f
mov cl, byte [esi]
xor edx, edx
cmp cl, 0x22
sete dl
xor dword [ebp - 0xd0c], edx
jne 0x1006854
cmp cl, 0x20
je 0x100681f
cmp cl, 9
jne 0x1006854
lea ecx, [esi + 1]
mov dl, byte [ecx]
cmp dl, 0x2f
je 0x1006833
cmp dl, 0x2d
je 0x1006833
cmp dl, 0x40
jne 0x1006854
push 0x400
lea eax, [ebp - 0x504]
push eax
push 0x100fa60
push ecx
call fcn.01004d88
mov esi, eax
mov eax, dword [ebp - 0xd10]
jmp 0x100685a
mov cl, byte [esi]
mov byte [edi], cl
inc edi
inc esi
cmp byte [esi], bl
jne 0x1006803
cmp dword [ebp - 0xd0c], ebx
je 0x100687f
lea eax, [ebp - 0x504]
push 0x10013b0
push eax
call fcn.01006e1a
mov eax, dword [ebp - 0xd10]
pop ecx
pop ecx
push eax
call fcn.01006e79
pop ecx
push dword [ebp - 0xd08]
mov byte [edi], bl
call fcn.01004885
mov esi, eax
cmp byte [esi], bl
je 0x10068cc
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0xd08]
push eax
push esi
call fcn.01003ee5
cmp eax, 1
jne 0x10068cc
mov eax, dword [ebp - 0xd08]
mov ecx, dword [0x100fa80]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xd08]
mov dword [0x100fa80], eax
push esi
call fcn.01006e79
push dword [ebp - 0xd14]
push 0x1001f3c
push 2
call fcn.010043ba
add esp, 0x10
mov esi, 0x100fa60
push esi
call fcn.010043f3
cmp byte [ebp - 0x504], bl
lea eax, [ebp - 0x504]
je 0x100691f
cmp dword [0x100fa70], ebx
jne 0x1006914
push 0x10
push 0x1001f28
jmp 0x10069b0
push eax
push 0x1001f00
jmp 0x10069c3
push eax
push esi
call fcn.010044c6
test eax, eax
jne 0x1006943
cmp dword [0x100fa70], ebx
lea eax, [ebp - 0x504]
je 0x10069a9
push eax
push 0x1001ee0
jmp 0x10069c3
cmp dword [0x100fa80], ebx
jne 0x1006974
cmp dword [0x100fa70], ebx
jne 0x1006961
push 0x10
push 0x1001ed0
push 0x1001eb8
jmp 0x10069b1
push 0x1001eb8
push 1
call fcn.010043ba
pop ecx
pop ecx
jmp 0x1006a73
cmp dword [0x100fa60], ebx
je 0x10069d2
call fcn.01004bd5
push 0x400
lea eax, [ebp - 0x504]
push eax
push esi
call fcn.010057cd
test eax, eax
jne 0x1006a73
cmp dword [0x100fa70], ebx
lea eax, [ebp - 0x504]
jne 0x10069bd
push 0x10
push 0x1001ed0
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.01004903
push eax
push 0x1001e98
push 1
call fcn.010043ba
add esp, 0xc
jmp 0x10065d2
push 0x1001e84
push 1
call fcn.010043ba
mov esi, dword [0x100fa80]
pop ecx
pop ecx
jmp 0x1006a6b
lea eax, [ebp - 0x504]
push eax
push ebx
push esi
mov byte [ebp - 0x504], bl
call dword [0x100fa40]
mov edi, eax
cmp edi, ebx
jge 0x1006a68
push edi
lea eax, [ebp - 0x504]
push eax
push dword [esi + 4]
push 0x1001e50
push 1
call fcn.010043ba
add esp, 0x14
cmp dword [0x100fa70], ebx
jne 0x1006a5c
push edi
lea eax, [ebp - 0x504]
push eax
push dword [esi + 4]
lea eax, [ebp - 0xd04]
push 0x1001e34
push eax
call fcn.01006e1a
add esp, 0x14
push 0x10
push 0x1001e1c
lea eax, [ebp - 0xd04]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x100fa74], ebx
je 0x10065d2
mov esi, dword [esi + 0x14]
cmp esi, ebx
jne 0x10069eb
push ebx
call fcn.010064c4
int3