Function at 0x4cf1b1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6a9ca3
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x76f950]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x76f950]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov esi, dword [eax + 4]
sub esi, dword [eax]
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x80], 0
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
xor edi, edi
sar eax, 3
xor edx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], edx
test eax, eax
jle 0x4cf567
lea ecx, [ecx]
cmp edi, esi
jge 0x4cf567
mov eax, dword [ecx]
mov ecx, dword [eax + edx*8]
mov ebx, dword [eax + edx*8 + 4]
cmp ecx, 0x1b
ja case.0x4cf1aa.16
jmp dword [ecx*4 + 0x4cf660]
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x3c], esi
mov byte [esp + 0x80], 1
push ebx
push 0
lea edx, [esp + 0x44]
lea ecx, [esp + 0x28]
call fcn.004ce400
add esp, 8
jmp 0x4cf4fa
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x48], esi
mov byte [esp + 0x80], 2
push ebx
push 0x20
lea edx, [esp + 0x50]
lea ecx, [esp + 0x28]
call fcn.004ce400
add esp, 8
jmp 0x4cf4fa
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x50], esi
mov byte [esp + 0x80], 3
push ebx
push 0
lea edx, [esp + 0x58]
lea ecx, [esp + 0x28]
call fcn.004ce5a0
add esp, 8
jmp 0x4cf4fa
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x34], esi
mov byte [esp + 0x80], 4
push ebx
push 1
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x28]
call fcn.004ce5a0
add esp, 8
jmp 0x4cf4fa
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d1ce0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d1e90
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d2030
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d21f0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x4c], esi
mov byte [esp + 0x80], 5
push ebx
push 0
lea edx, [esp + 0x54]
lea ecx, [esp + 0x28]
call fcn.004ce7b0
add esp, 8
jmp 0x4cf4fa
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x44], esi
mov byte [esp + 0x80], 6
push ebx
push 1
lea edx, [esp + 0x4c]
lea ecx, [esp + 0x28]
call fcn.004ce7b0
add esp, 8
jmp 0x4cf4fa
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d23b0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d2570
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d2730
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d28f0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d2ac0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
mov edx, dword [esp + 0x18]
push ebx
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2c]
call fcn.004d2c80
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp case.0x4cf1aa.16
test ebx, ebx
jle 0x4cf457
mov esi, ebx
lea eax, [esp + 0x1f]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x23], 0
call fcn.00498dd0
dec esi
jne 0x4cf441
dec edi
jmp case.0x4cf1aa.16
test ebx, ebx
jle 0x4cf457
mov ecx, ebx
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
je 0x4cf471
dec dword [esp + 0x24]
dec ecx
jne 0x4cf463
dec edi
jmp case.0x4cf1aa.16
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
cmp eax, ebx
jge 0x4cf457
mov esi, ebx
sub esi, eax
lea ebx, [ebx]
lea eax, [esp + 0x1f]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x23], 0
call fcn.00498dd0
dec esi
jne 0x4cf490
dec edi
jmp case.0x4cf1aa.16
mov eax, dword [esp + 0x18]
lea ecx, [edi + edi*2]
mov eax, dword [eax]
lea ecx, [eax + ecx*4]
call fcn.004181e0
mov esi, eax
mov dword [esp + 0x54], esi
mov byte [esp + 0x80], 7
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x58]
call fcn.00406a60
mov byte [esp + 0x80], 8
lea edx, [esp + 0x20]
mov ecx, eax
call fcn.004cede0
mov byte [esp + 0x80], 7
lea ecx, [esp + 0x58]
call fcn.0040aca0
mov byte [esp + 0x80], 0
test esi, esi
je case.0x4cf1aa.16
mov eax, dword [esi]
test eax, eax
jne 0x4cf515
mov ecx, esi
call fcn.004df580
jmp case.0x4cf1aa.16
dec eax
mov dword [esi], eax
mov edx, dword [esp + 0x2c]
test ebx, ebx
js 0x4cf525
inc edx
mov dword [esp + 0x2c], edx
inc edi
mov dword [esp + 0x14], edi
cmp edx, dword [esp + 0x38]
jge 0x4cf567
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
jmp 0x4cf190
mov eax, dword [0x789c08]
mov ecx, dword [0x789c04]
test eax, eax
cmovne ecx, eax
call fcn.00452890
mov eax, dword [0x789d68]
mov ecx, dword [0x789d64]
test eax, eax
cmovne ecx, eax
call fcn.00452890
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
sub edi, eax
je 0x4cf60a
test eax, eax
jne 0x4cf57f
xor esi, esi
jmp 0x4cf5d2
test edi, edi
jne 0x4cf587
xor esi, esi
jmp 0x4cf5d2
push 0xc
call fcn.006341f8
mov esi, eax
add esp, 4
mov dword [esp + 0x30], esi
mov byte [esp + 0x80], 9
test esi, esi
je 0x4cf5c8
push edi
mov dword [esi + 4], 1
mov dword [esi], edi
call fcn.00632c9c
add esp, 4
mov dword [esi + 8], eax
push edi
push dword [esp + 0x24]
push eax
call fcn.0063a5b0
add esp, 0xc
jmp 0x4cf5ca
xor esi, esi
mov byte [esp + 0x80], 0
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4cf606
push eax
call fcn.00633f98
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov eax, esi
jmp 0x4cf640
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4cf63e
push eax
call fcn.00633f98
add esp, 4
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00633732
mov esp, ebp
pop ebp
ret