Function at 0x4946f4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x494bab
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x34]
call fcn.0040471c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x34], 0
je 0x494762
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
call fcn.00404944
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x34]
cmp byte [edx + eax - 1], 0x5c
je 0x494762
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
call fcn.00404944
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x34]
cmp byte [edx + eax - 1], 0x3a
je 0x494762
lea eax, [ebp - 8]
mov edx, 0x494bc0
call fcn.0040494c
lea eax, [ebp - 8]
mov edx, 0x494bcc
call fcn.0040494c
lea eax, [ebp - 8]
call fcn.00404b9c
push eax
call fcn.00406c38
mov edx, dword [ebp - 4]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x30], 0
jne 0x4947a2
mov ecx, 0x494be0
mov dl, 1
mov eax, dword [0x493c8c]
call fcn.0040c820
call fcn.004040c0
push 0x494bf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xac], eax
push 0x494c00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xb0], eax
push 0x494c08
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xb4], eax
push 0x494c10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xb8], eax
push 0x494c18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xc4], eax
push 0x494c20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xbc], eax
push 0x494c28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xc8], eax
push 0x494c34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xcc], eax
push 0x494c44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xc0], eax
push 0x494c4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xd0], eax
push 0x494c54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xd4], eax
push 0x494c64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xd8], eax
push 0x494c70
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xdc], eax
push 0x494c7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xe0], eax
push 0x494c8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xe4], eax
push 0x494c9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xe8], eax
push 0x494ca8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xec], eax
push 0x494cb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xf0], eax
push 0x494cc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b88
mov edx, dword [ebp - 4]
mov dword [edx + 0xf4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xac], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb0], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb4], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb8], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc4], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xbc], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc8], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xcc], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc0], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd0], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd4], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xd8], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xdc], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe4], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe8], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xec], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf0], 0
je 0x494a94
mov eax, dword [ebp - 4]
cmp dword [eax + 0xf4], 0
jne 0x494acb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
push eax
call fcn.00406b00
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x30], edx
push 0
lea eax, [ebp - 0xc]
mov edx, 0x522470
call fcn.004048e8
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x493c8c]
call fcn.004943bc
call fcn.004040c0
mov eax, dword [ebp - 4]
call dword [eax + 0xac]
test al, al
jne 0x494b27
mov eax, dword [ebp - 4]
call fcn.00494584
mov edx, dword [ebp - 4]
mov dword [edx + 0xf8], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xf8]
push eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
imul edx, dword [edx + 0xf8], 0x33
add edx, 0x522470
call fcn.004048e8
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x493c8c]
call fcn.004943bc
call fcn.004040c0
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x42e8d0]
call fcn.0042fc70
mov edx, dword [ebp - 4]
mov dword [edx + 0x64], eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0042fe18
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0042fdf8
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0042fe08
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5a], 0
jne 0x494b85
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.0042fe08
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xa8], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x494bb2
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004046a8
ret