Function at 0x4e575c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x4e5b70
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5d2f10]
cmp dword [eax], 0x20
jae 0x4e5790
mov eax, 0x4e5b88
call fcn.0045934c
jmp 0x4e5b42
push 0x4e5ba4
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 0x4e57bd
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x568]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
cmp dword [ebp - 4], 0
je 0x4e5b42
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x56c]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 0xc]
call fcn.00408fb8
cmp dword [ebp - 0xc], 0
je 0x4e5b42
push 0x4e5ba4
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 0x4e5830
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
push 0x4e5bb4
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 0x4e5970
push 1
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x2ec]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
call fcn.004044bc
mov eax, dword [ebp - 0x10]
push eax
push 0x4e5bc8
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x2f0]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
call fcn.004044bc
mov eax, dword [ebp - 0x10]
push eax
push 0x4e5be4
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x3cc]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
call fcn.004044bc
mov eax, dword [ebp - 0x10]
push eax
push 0x4e5c00
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x568]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
call fcn.004044bc
mov eax, dword [ebp - 0x10]
push eax
push 0x4e5c10
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 8]
mov eax, dword [ebx + 0x56c]
call fcn.00434234
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.00408fb8
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x10]
call fcn.004044bc
mov eax, dword [ebp - 0x10]
push eax
push 0x4e5c3c
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
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 0x4e5c68
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 0x4e5b42
mov eax, dword [ebx + 0x498]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e59d2
mov dword [ebx + 0x5bc], 1
jmp 0x4e59da
xor eax, eax
mov dword [ebx + 0x5bc], eax
mov eax, dword [ebx + 0x5bc]
push eax
push 0xb
mov eax, dword [0x5d2bfc]
mov eax, dword [eax]
call eax
cmp al, 1
jne 0x4e5b32
push 0x4e5c70
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 0x4e5b42
push 1
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00403f3c
mov edx, dword [ebp - 4]
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 0x4e5a78
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, 0x4e5c88
call fcn.005c8cdc
push 2
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00403f3c
mov edx, dword [ebp - 4]
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 0x4e5ad4
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, 0x4e5ca8
call fcn.005c8cdc
push 3
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00403f3c
mov edx, dword [ebp - 4]
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 0x4e5b42
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, 0x4e5cc8
call fcn.005c8cdc
jmp 0x4e5b42
mov edx, 0x4e5cdc
mov eax, dword [ebx + 0x4f4]
call fcn.00434264
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e5b77
lea eax, [ebp - 0x10]
call fcn.004043b4
lea eax, [ebp - 0xc]
call fcn.00403cf8
lea eax, [ebp - 8]
call fcn.00403cf8
lea eax, [ebp - 4]
call fcn.00403cf8
ret