Function at 0x10049b6
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push ebx
push edi
push 0x100312c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor ebx, ebx
cmp eax, ebx
mov dword [0x1009ac0], eax
jne 0x10049de
xor al, al
jmp 0x1004c9f
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1003110
push eax
call esi
push 0x1003100
push dword [0x1009ac0]
mov dword [0x1009ac8], eax
call esi
push 0x10030f0
push dword [0x1009ac0]
mov dword [0x1009ad4], eax
call esi
push 0x10030e0
push dword [0x1009ac0]
mov dword [0x1009afc], eax
call esi
push 0x10030d0
push dword [0x1009ac0]
mov dword [0x1009ae4], eax
call esi
push 0x10030c0
push dword [0x1009ac0]
mov dword [0x1009acc], eax
call esi
push 0x10030b0
push dword [0x1009ac0]
mov dword [0x1009af8], eax
call esi
push 0x10030a0
push dword [0x1009ac0]
mov dword [0x1009b04], eax
call esi
push 0x100308c
push dword [0x1009ac0]
mov dword [0x1009af4], eax
call esi
push 0x100307c
push dword [0x1009ac0]
mov dword [0x1009ad0], eax
call esi
push 0x100306c
push dword [0x1009ac0]
mov dword [0x1009ad8], eax
call esi
push 0x1003058
push dword [0x1009ac0]
mov dword [0x1009ab8], eax
call esi
push 0x1003044
push dword [0x1009ac0]
mov dword [0x1009af0], eax
call esi
push 0x1003030
push dword [0x1009ac0]
mov dword [0x1009ae0], eax
call esi
cmp dword [0x1009ac8], ebx
mov dword [0x1009ab4], eax
je 0x1004c88
cmp dword [0x1009ad4], ebx
je 0x1004c88
cmp dword [0x1009afc], ebx
je 0x1004c88
cmp dword [0x1009ae4], ebx
je 0x1004c88
cmp dword [0x1009acc], ebx
je 0x1004c88
cmp dword [0x1009af8], ebx
je 0x1004c88
cmp dword [0x1009b04], ebx
je 0x1004c88
cmp dword [0x1009af4], ebx
je 0x1004c88
cmp dword [0x1009ad0], ebx
je 0x1004c88
cmp dword [0x1009ad8], ebx
je 0x1004c88
cmp dword [0x1009ab8], ebx
je 0x1004c88
cmp dword [0x1009af0], ebx
je 0x1004c88
cmp dword [0x1009ae0], ebx
je 0x1004c88
cmp eax, ebx
je 0x1004c88
push ebx
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
call fcn.0100496a
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1004b97
mov esi, 0x1003024
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea eax, [ebp - 0x108]
movsd dword es:[edi], dword [esi]
push eax
mov esi, 0x80000002
push esi
call dword [0x1009ac8]
mov edi, eax
cmp edi, ebx
mov ebx, dword [ebp + 8]
jne 0x1004c24
push 0
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
mov dword [ebx + 8], esi
call fcn.0100496a
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1004bdf
mov esi, 0x1003018
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x108]
movsw word es:[edi], word [esi]
push eax
mov esi, 0x80000003
push esi
call dword [0x1009ac8]
mov edi, eax
test edi, edi
jne 0x1004c24
lea eax, [ebx + 0x10]
push eax
push 0x100300c
push esi
mov dword [ebx + 0xc], esi
call dword [0x1009af8]
mov edi, eax
test edi, edi
je 0x1004c57
mov eax, dword [ebx + 8]
test eax, eax
je 0x1004c36
push 0
push 0
push eax
call dword [0x1009ac8]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x1004c48
push 0
push 0
push ebx
call dword [0x1009ac8]
push dword [0x1009ac0]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edi
jmp 0x1004c96
mov esi, dword [sym.imp.msvcrt.dll_wcscpy]
lea edi, [ebx + 0x21c]
push 0x1002fec
push edi
call esi
add ebx, 0x424
push edi
push ebx
call esi
push 0x1002fd8
push ebx
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x18
mov al, 1
jmp 0x1004c9e
push dword [0x1009ac0]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x7f
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
pop esi
pop edi
pop ebx
leave
ret 0xc