Function at 0x4e4bac
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4e551d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5d2f10]
cmp dword [eax], 0x20
jae 0x4e4be4
mov eax, 0x4e5534
call fcn.0045934c
jmp 0x4e54ef
mov esi, 0xa
push 0x4e5550
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov edi, eax
mov eax, dword [0x5d3170]
mov dword [eax], edi
mov eax, dword [0x5d3170]
test edi, edi
je 0x4e4c16
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x364]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
cmp dword [ebp - 0x10], 0
je 0x4e54ef
push 0x4e5550
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov edi, eax
mov eax, dword [0x5d3170]
mov dword [eax], edi
mov eax, dword [0x5d3170]
test edi, edi
je 0x4e4c66
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
push 0x4e5560
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov edi, eax
mov eax, dword [0x5d2c7c]
mov dword [eax], edi
mov eax, dword [0x5d2c7c]
test edi, edi
je 0x4e4f31
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x36c]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov eax, dword [ebp - 0x10]
mov edx, 0x4e5578
call fcn.00404084
jne 0x4e4cd6
mov eax, dword [ebx + 0x500]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e4ccf
mov esi, 0x18
jmp 0x4e4cdb
mov esi, 0x19
jmp 0x4e4cdb
mov esi, 9
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x2e8]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e5584
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
mov eax, dword [ebx + 0x378]
call fcn.0046afa0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x10]
mov eax, 0x4e55a8
call fcn.0040b474
lea eax, [ebp - 0x10]
mov edx, 0x4e55bc
call fcn.00403f7c
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e55c8
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
mov eax, dword [ebx + 0x37c]
call fcn.0046afa0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x10]
mov eax, 0x4e55a8
call fcn.0040b474
lea eax, [ebp - 0x10]
mov edx, 0x4e55e8
call fcn.00403f7c
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e55f4
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x2ec]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e560c
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x2f0]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e5628
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x3c4]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e5644
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x364]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e5654
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x360]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e567c
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x368]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e56b0
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x36c]
call fcn.00434234
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00408fb8
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
call fcn.004044bc
mov eax, dword [ebp - 0x18]
push eax
push 0x4e56dc
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 0x4e56fc
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov edi, eax
mov eax, dword [0x5d2bfc]
mov dword [eax], edi
mov eax, dword [0x5d2bfc]
test edi, edi
je 0x4e54ef
mov eax, dword [ebx + 0x498]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4e4f93
mov dword [ebx + 0x5bc], 1
jmp 0x4e4f9b
xor eax, eax
mov dword [ebx + 0x5bc], eax
mov eax, dword [ebx + 0x5bc]
push eax
push esi
mov eax, dword [0x5d2bfc]
mov eax, dword [eax]
call eax
cmp al, 1
jne 0x4e54c3
push 0x4e5704
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 0x4e5028
push 1
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x10]
call fcn.00403f3c
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x42c]
call fcn.00434264
push 2
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x5d3034]
mov eax, dword [eax]
call eax
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x10]
call fcn.00403f3c
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x434]
call fcn.00434264
push 0x4e5714
mov eax, dword [0x5d2f10]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetProcAddress
mov esi, eax
mov eax, dword [0x5d2fcc]
mov dword [eax], esi
mov eax, dword [0x5d2fcc]
test esi, esi
je 0x4e54ef
mov eax, dword [ebx + 0x438]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4e509e
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x438]
mov esi, dword [eax + 0x1fc]
dec esi
test esi, esi
jl 0x4e5096
inc esi
xor edi, edi
push 0
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x438]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e5080
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e506c
mov edx, 2
mov eax, dword [ebx + 0x438]
call fcn.0047a028
mov edx, 1
mov eax, dword [ebx + 0x438]
call fcn.00479ca0
push 1
push 0
push 0
push 1
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov esi, eax
lea edx, [ebp - 0x10]
mov eax, esi
dec eax
call fcn.00409138
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x534]
call fcn.00434264
push 1
push 0
push 0
push 2
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov dword [ebp - 8], eax
test esi, esi
jle 0x4e519e
cmp dword [ebp - 8], 0
jle 0x4e519e
mov edx, esi
mov eax, dword [ebx + 0x438]
call fcn.0047a028
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x438]
call fcn.00479ca0
dec esi
test esi, esi
jl 0x4e519e
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4e5196
inc esi
xor edi, edi
push 1
push edi
mov eax, dword [ebp - 4]
push eax
push 3
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x438]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e5162
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e5157
mov eax, dword [ebx + 0x514]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4e51ec
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x514]
mov esi, dword [eax + 0x1fc]
dec esi
test esi, esi
jl 0x4e51e4
inc esi
xor edi, edi
push 0
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x514]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e51ce
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e51ba
mov edx, 2
mov eax, dword [ebx + 0x514]
call fcn.0047a028
mov edx, 1
mov eax, dword [ebx + 0x514]
call fcn.00479ca0
push 2
push 0
push 0
push 1
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov esi, eax
push 2
push 0
push 0
push 2
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov dword [ebp - 8], eax
test esi, esi
jle 0x4e52d3
cmp dword [ebp - 8], 0
jle 0x4e52d3
mov edx, esi
mov eax, dword [ebx + 0x514]
call fcn.0047a028
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x514]
call fcn.00479ca0
dec esi
test esi, esi
jl 0x4e52d3
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4e52cb
inc esi
xor edi, edi
push 2
push edi
mov eax, dword [ebp - 4]
push eax
push 3
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x514]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e5297
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e528c
mov eax, dword [ebx + 0x514]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jle 0x4e532c
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 4]
xor edx, edx
mov esi, dword [ebx + 0x514]
mov eax, esi
call fcn.0047c244
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
mov eax, ebx
call fcn.004f04f8
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, 1
mov eax, esi
call fcn.0047c2bc
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e52ee
mov eax, dword [ebx + 0x520]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4e537a
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x520]
mov esi, dword [eax + 0x1fc]
dec esi
test esi, esi
jl 0x4e5372
inc esi
xor edi, edi
push 0
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x520]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e535c
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e5348
mov edx, 2
mov eax, dword [ebx + 0x520]
call fcn.0047a028
mov edx, 1
mov eax, dword [ebx + 0x520]
call fcn.00479ca0
push 3
push 0
push 0
push 1
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov esi, eax
push 3
push 0
push 0
push 2
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
call fcn.0040919c
mov dword [ebp - 8], eax
test esi, esi
jle 0x4e5461
cmp dword [ebp - 8], 0
jle 0x4e5461
mov edx, esi
mov eax, dword [ebx + 0x520]
call fcn.0047a028
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x520]
call fcn.00479ca0
dec esi
test esi, esi
jl 0x4e5461
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4e5459
inc esi
xor edi, edi
push 3
push edi
mov eax, dword [ebp - 4]
push eax
push 3
mov eax, dword [0x5d2fcc]
mov eax, dword [eax]
call eax
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.00403edc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebx + 0x520]
call fcn.0047c2bc
inc edi
dec esi
jne 0x4e5425
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e541a
mov eax, dword [ebx + 0x520]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jle 0x4e54ba
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 4]
xor edx, edx
mov esi, dword [ebx + 0x520]
mov eax, esi
call fcn.0047c244
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x10]
mov eax, ebx
call fcn.004f0630
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, 3
mov eax, esi
call fcn.0047c2bc
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4e547c
mov eax, ebx
call fcn.004e09b8
jmp 0x4e54ef
cmp esi, 0x18
je 0x4e54cd
cmp esi, 0x19
jne 0x4e54df
mov edx, 0x4e572c
mov eax, dword [ebx + 0x4f4]
call fcn.00434264
jmp 0x4e54ef
mov edx, 0x4e5748
mov eax, dword [ebx + 0x4f4]
call fcn.00434264
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e5524
lea eax, [ebp - 0x1c]
call fcn.00403cf8
lea eax, [ebp - 0x18]
call fcn.004043b4
lea eax, [ebp - 0x14]
call fcn.00403cf8
lea eax, [ebp - 0x10]
call fcn.00403cf8
ret