Function at 0x4f2834
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 0x4f3112
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5d2f10]
cmp dword [eax], 0x20
jae 0x4f286c
mov eax, 0x4f3128
call fcn.0045934c
jmp 0x4f30e4
push 0x4f3144
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 0x4f2899
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 0x4f30e4
push 0x4f3144
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 0x4f28e9
mov eax, dword [0x5d3170]
mov eax, dword [eax]
call eax
push 0x4f3154
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 0x4f2b41
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 0x4f3168
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 0x4f3184
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x408]
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 0x4f31a0
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x41c]
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 0x4f31b0
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 0x4f31d4
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 0x4f31f4
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 0x4f321c
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 0x4f3250
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
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 0x4f327c
mov eax, dword [0x5d2c7c]
mov eax, dword [eax]
call eax
push 1
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 0x354]
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 0x4f329c
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 0x4f32c4
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 0x4f30e4
mov eax, dword [ebx + 0x498]
mov edx, dword [eax]
call dword [edx + 0xb8]
cmp al, 1
jne 0x4f2ba3
mov dword [ebx + 0x5bc], 1
jmp 0x4f2bab
xor eax, eax
mov dword [ebx + 0x5bc], eax
mov eax, dword [ebx + 0x5bc]
push eax
push 0x20
mov eax, dword [0x5d2bfc]
mov eax, dword [eax]
call eax
cmp al, 1
jne 0x4f30d4
push 0x4f32cc
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 0x4f2c39
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 0x4f32dc
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 0x4f30e4
mov eax, dword [ebx + 0x438]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4f2caf
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 0x4f2ca7
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 0x4f2c91
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f2c7d
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 0x4f2daf
cmp dword [ebp - 8], 0
jle 0x4f2daf
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 0x4f2daf
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4f2da7
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 0x4f2d73
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f2d68
mov eax, dword [ebx + 0x514]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4f2dfd
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 0x4f2df5
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 0x4f2ddf
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f2dcb
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 0x4f2ee4
cmp dword [ebp - 8], 0
jle 0x4f2ee4
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 0x4f2ee4
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4f2edc
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 0x4f2ea8
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f2e9d
mov eax, dword [ebx + 0x514]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jle 0x4f2f3d
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 0x4f2eff
mov eax, dword [ebx + 0x520]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jl 0x4f2f8b
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 0x4f2f83
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 0x4f2f6d
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f2f59
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 0x4f3072
cmp dword [ebp - 8], 0
jle 0x4f3072
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 0x4f3072
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 8]
dec esi
test esi, esi
jl 0x4f306a
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 0x4f3036
inc dword [ebp - 4]
dec dword [ebp - 0xc]
jne 0x4f302b
mov eax, dword [ebx + 0x520]
mov eax, dword [eax + 0x22c]
dec eax
test eax, eax
jle 0x4f30cb
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 0x4f308d
mov eax, ebx
call fcn.004e09b8
jmp 0x4f30e4
mov edx, 0x4f32f4
mov eax, dword [ebx + 0x4f4]
call fcn.00434264
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f3119
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