Function at 0x4e3544
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x4e38fe
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5d2f10]
cmp dword [eax], 0x20
jae 0x4e3578
mov eax, 0x4e3914
call fcn.0045934c
jmp 0x4e38d8
push 0x4e3930
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d3170]
mov dword [eax], esi
mov eax, dword [0x5d3170]
test esi, esi
je 0x4e35a5
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
push 0x4e3940
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d2c7c]
mov dword [eax], esi
mov eax, dword [0x5d2c7c]
test esi, esi
je 0x4e367e
mov eax, ebx
call fcn.004dfbb8
mov eax, ebx
call fcn.004e0090
mov eax, ebx
call fcn.004e050c
push 1
lea edx, [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3dc]
call fcn.00434234
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
call fcn.004044bc
mov eax, dword [ebp - 4]
push eax
push 0x4e3954
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e4]
call fcn.00434234
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
call fcn.004044bc
mov eax, dword [ebp - 4]
push eax
push 0x4e3974
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov eax, dword [eax + 0x408]
call fcn.00434234
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
call fcn.004044bc
mov eax, dword [ebp - 4]
push eax
push 0x4e39a0
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 0x4e39c4
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d2e90]
mov dword [eax], esi
mov eax, dword [0x5d2e90]
test esi, esi
je 0x4e36cc
mov eax, ebx
call fcn.004ddd80
mov eax, ebx
call fcn.004ddf1c
mov eax, ebx
call fcn.004de3e4
mov eax, ebx
call fcn.004de8d4
mov eax, ebx
call fcn.004deac4
mov eax, ebx
call fcn.004df76c
mov eax, dword [ebx + 0x42c]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov eax, dword [ebx + 0x434]
mov edx, dword [eax]
call dword [edx + 0xd0]
push 0x4e39d8
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d2bfc]
mov dword [eax], esi
mov eax, dword [0x5d2bfc]
test esi, esi
je 0x4e3869
mov eax, dword [ebx + 0x498]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e372e
mov dword [ebx + 0x5bc], 1
jmp 0x4e3736
xor eax, eax
mov dword [ebx + 0x5bc], eax
mov eax, dword [ebx + 0x5bc]
push eax
push 6
mov eax, dword [0x5d2bfc]
mov eax, dword [eax]
call eax
cmp al, 1
jne 0x4e3859
push 0x4e39e0
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d3034]
mov dword [eax], esi
mov eax, dword [0x5d3034]
test esi, esi
je 0x4e3869
push 1
lea eax, [ebp - 4]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 4]
lea eax, [ebp - 0xc]
call fcn.00403f3c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x42c]
call fcn.00434264
mov eax, dword [ebx + 0x5b4]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e37d4
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x42c]
call fcn.00434234
mov ecx, dword [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov edx, 0x4e39f8
call fcn.005c8cdc
push 2
lea eax, [ebp - 4]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 4]
lea eax, [ebp - 0xc]
call fcn.00403f3c
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x434]
call fcn.00434264
mov eax, dword [ebx + 0x5b4]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e3830
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x434]
call fcn.00434234
mov ecx, dword [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov edx, 0x4e3a14
call fcn.005c8cdc
mov esi, dword [ebx + 0x36c]
mov eax, dword [esi + 0x1ec]
mov edx, 0x4e3a30
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov edx, eax
mov eax, esi
call fcn.0042c140
mov eax, dword [0x5d2d68]
mov byte [eax], 1
jmp 0x4e3869
mov edx, 0x4e3a48
mov eax, dword [ebx + 0x4f4]
call fcn.00434264
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x42c]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 0xc]
call fcn.00408fb8
cmp dword [ebp - 0xc], 0
je 0x4e38a4
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x42c]
call fcn.00434234
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x440]
call fcn.00434264
mov eax, dword [ebx + 0x5b4]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e38d8
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x440]
call fcn.00434234
mov ecx, dword [ebp - 8]
mov eax, dword [0x5d298c]
mov eax, dword [eax]
mov edx, 0x4e3a64
call fcn.005c8cdc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e3905
lea eax, [ebp - 0xc]
call fcn.00403cf8
lea eax, [ebp - 8]
call fcn.00403cf8
lea eax, [ebp - 4]
call fcn.004043b4
ret