Function at 0x4ce7a8
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 0x4cf0e5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4cf0c3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4cf100
call fcn.004cd5d8
mov eax, dword [0x70af48]
mov al, byte [eax]
sub al, 0x2c
je 0x4ce7f2
sub al, 2
je 0x4ce7f2
mov eax, dword [0x70af48]
mov byte [eax], 0x2e
mov eax, 0x4cf120
call fcn.004cd5d4
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004d14a0
mov eax, dword [ebp - 0xc]
call fcn.00404ee4
mov edx, eax
lea eax, [ebp - 8]
call fcn.00404c24
mov eax, dword [ebp - 8]
call fcn.004cd5d4
mov byte [ebp - 1], 0
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004d14a0
mov eax, dword [ebp - 0x10]
call fcn.00404ee4
push eax
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [ebx + 0x144], esi
test esi, esi
je 0x4cf0ab
push 0x4cf134
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xa4], eax
push 0x4cf144
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xa8], eax
push 0x4cf154
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xac], eax
push 0x4cf164
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xb0], eax
push 0x4cf178
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xb4], eax
push 0x4cf188
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xb8], eax
push 0x4cf19c
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xbc], eax
push 0x4cf1b0
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xc0], eax
push 0x4cf1c0
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xc4], eax
push 0x4cf1d4
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xc8], eax
push 0x4cf1f0
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xcc], eax
push 0x4cf204
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xd4], eax
push 0x4cf21c
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xd0], eax
push 0x4cf234
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xd8], eax
push 0x4cf244
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xdc], eax
push 0x4cf254
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xe0], eax
push 0x4cf268
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xe4], eax
push 0x4cf278
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xe8], eax
push 0x4cf288
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xec], eax
push 0x4cf29c
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xf0], eax
push 0x4cf2b4
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xf4], eax
push 0x4cf2cc
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xf8], eax
push 0x4cf2e4
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0xfc], eax
push 0x4cf2fc
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x100], eax
push 0x4cf314
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x104], eax
push 0x4cf328
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x108], eax
push 0x4cf340
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x10c], eax
push 0x4cf354
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x110], eax
push 0x4cf368
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x114], eax
push 0x4cf380
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x118], eax
push 0x4cf394
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x120], eax
push 0x4cf3a8
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x128], eax
push 0x4cf3bc
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x11c], eax
push 0x4cf3d0
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x130], eax
push 0x4cf3e4
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x124], eax
push 0x4cf3f8
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x12c], eax
push 0x4cf40c
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x134], eax
push 0x4cf420
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x138], eax
push 0x4cf440
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x13c], eax
push 0x4cf45c
mov eax, dword [ebx + 0x144]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0x140], esi
cmp dword [ebx + 0xa4], 0
jne 0x4cec04
mov ecx, 0x4cf480
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
call fcn.004043d4
jmp 0x4cf0a7
cmp dword [ebx + 0xa8], 0
jne 0x4cec23
mov ecx, 0x4cf4a4
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xac], 0
jne 0x4cec42
mov ecx, 0x4cf4c8
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xb0], 0
jne 0x4cec61
mov ecx, 0x4cf4ec
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xb4], 0
jne 0x4cec80
mov ecx, 0x4cf514
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xb8], 0
jne 0x4cec9f
mov ecx, 0x4cf540
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xbc], 0
jne 0x4cecbe
mov ecx, 0x4cf568
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xc0], 0
jne 0x4cecdd
mov ecx, 0x4cf590
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xc4], 0
jne 0x4cecfc
mov ecx, 0x4cf5b8
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xc8], 0
jne 0x4ced1b
mov ecx, 0x4cf5e0
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xcc], 0
jne 0x4ced3a
mov ecx, 0x4cf60c
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xd4], 0
jne 0x4ced59
mov ecx, 0x4cf634
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xd0], 0
jne 0x4ced78
mov ecx, 0x4cf660
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xd8], 0
jne 0x4ced97
mov ecx, 0x4cf68c
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xdc], 0
jne 0x4cedb6
mov ecx, 0x4cf6b4
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xe0], 0
jne 0x4cedd5
mov ecx, 0x4cf6dc
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xe4], 0
jne 0x4cedf4
mov ecx, 0x4cf704
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xe8], 0
jne 0x4cee13
mov ecx, 0x4cf728
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xec], 0
jne 0x4cee32
mov ecx, 0x4cf74c
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xf0], 0
jne 0x4cee51
mov ecx, 0x4cf778
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xf4], 0
jne 0x4cee70
mov ecx, 0x4cf7a4
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xf8], 0
jne 0x4cee8f
mov ecx, 0x4cf7d0
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0xfc], 0
jne 0x4ceeae
mov ecx, 0x4cf7fc
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x100], 0
jne 0x4ceecd
mov ecx, 0x4cf82c
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x104], 0
jne 0x4ceeec
mov ecx, 0x4cf858
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x108], 0
jne 0x4cef0b
mov ecx, 0x4cf880
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x10c], 0
jne 0x4cef2a
mov ecx, 0x4cf8ac
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x110], 0
jne 0x4cef49
mov ecx, 0x4cf8d8
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x114], 0
jne 0x4cef68
mov ecx, 0x4cf904
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x118], 0
jne 0x4cef87
mov ecx, 0x4cf930
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x120], 0
jne 0x4cefa6
mov ecx, 0x4cf958
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x130], 0
jne 0x4cefc5
mov ecx, 0x4cf980
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x124], 0
jne 0x4cefe4
mov ecx, 0x4cf9a8
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x128], 0
jne 0x4cf003
mov ecx, 0x4cf9d0
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x11c], 0
jne 0x4cf022
mov ecx, 0x4cf9fc
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x12c], 0
jne 0x4cf03e
mov ecx, 0x4cfa24
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x134], 0
jne 0x4cf05a
mov ecx, 0x4cfa4c
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x138], 0
jne 0x4cf076
mov ecx, 0x4cfa78
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
cmp dword [ebx + 0x13c], 0
jne 0x4cf092
mov ecx, 0x4cfaac
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
jmp 0x4cf0a7
test esi, esi
jne 0x4cf0a7
mov ecx, 0x4cfadc
mov dl, 1
mov eax, dword [0x4cc64c]
call fcn.0040e488
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cf0ca
mov eax, 0x4cf100
call fcn.004cd5dc
ret