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

Disassembly:
sub esp, 0x5c
mov ecx, dword [esp + 0x60]
mov eax, 1
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0xc], 2
xorps xmm0, xmm0
lea ebx, [ecx + 2]
sub eax, ecx
not esi
mov ebp, 0xfffffffe
mov dword [esp + 0x14], esi
push edi
movups xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x14], eax
sub ebp, ecx
movups xmmword [esp + 0x2c], xmm0
nop dword [eax]
lea edx, [ebx + ebp]
mov edi, 8
mov eax, edx
shr edx, 1
and eax, 1
shl eax, 3
sub edi, eax
movzx eax, byte [ebx - 2]
mov ecx, edi
shl eax, cl
mov ecx, 8
or dword [esp + edx*4 + 0x1c], eax
lea edx, [ebx + esi]
mov eax, edx
lea esi, [esp + 0x1c]
shr eax, 1
and edx, 1
lea esi, [esi + eax*4]
shl edx, 3
movzx eax, byte [ebx - 1]
sub ecx, edx
shl eax, cl
lea edx, [esp + 0x1c]
or dword [esi], eax
mov ecx, edi
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x1c]
shr eax, 1
lea edx, [edx + eax*4]
add dword [esp + 0x10], 4
movzx eax, byte [ebx]
shl eax, cl
mov ecx, 8
or dword [edx], eax
mov edx, dword [esp + 0x14]
add edx, ebx
mov eax, edx
and edx, 1
shr eax, 1
lea esi, [esi + eax*4]
shl edx, 3
movzx eax, byte [ebx + 1]
sub ecx, edx
add ebx, 4
shl eax, cl
or dword [esi], eax
mov esi, dword [esp + 0x18]
lea eax, [ebx + ebp]
cmp eax, 0x10
jl 0x4c96f0
or edi, 0xffffffff
xor ebp, ebp
or ecx, edi
xor edx, edx
xor esi, esi
cmp dword [esp + esi*4 + 0x1c], 0
mov ebx, ecx
mov eax, ecx
jne 0x4c97b5
cmp eax, 0xffffffff
mov ecx, esi
cmovne ecx, eax
lea eax, [edx + 1]
cmp ebx, 0xffffffff
mov edx, 1
cmovne edx, eax
jmp 0x4c97ca
cmp ecx, 0xffffffff
je 0x4c97ca
cmp edi, 0xffffffff
je 0x4c97c3
cmp edx, ebp
jle 0x4c97c7
mov edi, ecx
mov ebp, edx
or ecx, 0xffffffff
inc esi
cmp esi, 8
jl 0x4c9792
cmp ecx, 0xffffffff
je 0x4c97e8
cmp edi, 0xffffffff
je 0x4c97de
cmp edx, ebp
jle 0x4c97e8
mov ebp, edx
mov edi, ecx
mov dword [esp + 0x10], ebp
jmp 0x4c97f1
mov dword [esp + 0x10], ebp
cmp edi, 0xffffffff
je 0x4c97fa
or eax, 0xffffffff
cmp ebp, 2
cmovl edi, eax
lea esi, [esp + 0x3c]
xor ebx, ebx
cmp edi, 0xffffffff
je 0x4c981a
cmp ebx, edi
jl 0x4c981a
lea eax, [edi + ebp]
cmp ebx, eax
jge 0x4c981a
cmp ebx, edi
jne 0x4c985f
mov byte [esi], 0x3a
inc esi
jmp 0x4c985f
test ebx, ebx
je 0x4c9846
mov byte [esi], 0x3a
lea ecx, [esi + 1]
mov dword [esp + 0x18], ecx
mov esi, ecx
cmp ebx, 6
jne 0x4c9846
test edi, edi
jne 0x4c9846
cmp ebp, ebx
je 0x4c98a5
cmp ebp, 5
jne 0x4c9846
cmp dword [esp + 0x30], 0xffff
je 0x4c98a5
push dword [esp + ebx*4 + 0x1c]
push 0x52ce58
push 5
push esi
call fcn.004b9d70
add esp, 0x10
add esi, eax
lea eax, [edi + ebp]
inc ebx
cmp ebx, 8
jl 0x4c9800
cmp edi, 0xffffffff
je 0x4c9873
cmp eax, 8
jne 0x4c9873
mov byte [esi], 0x3a
inc esi
mov byte [esi], 0
lea eax, [esp + 0x3c]
sub esi, eax
inc esi
cmp esi, dword [esp + 0x78]
ja 0x4c98c1
mov edx, eax
mov eax, dword [esp + 0x74]
mov esi, eax
mov ecx, edx
sub esi, ecx
nop
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [esi + edx - 1], cl
test cl, cl
jne 0x4c9890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
lea eax, [esp + 0x6a]
sub eax, ecx
push eax
mov eax, dword [esp + 0x74]
push ecx
add eax, 0xc
push eax
call fcn.004c9620
add esp, 0xc
test eax, eax
jne 0x4c98d6
call fcn.0040e662
pop edi
pop esi
pop ebp
mov dword [eax], 0x1c
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov ecx, dword [esp + 0x18]
mov edx, ecx
lea esi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4c98e0
mov eax, dword [esp + 0x10]
sub edx, esi
add eax, edi
lea esi, [edx + ecx]
jmp 0x4c986a