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

Disassembly:
sub esp, 0x78
mov ecx, dword [esp + 0x80]
push ebx
push ebp
push esi
mov edx, dword [ecx]
mov ebp, dword [ecx + 8]
sub edx, 0x3ffffed
mov ebx, dword [ecx + 0xc]
mov eax, edx
sar eax, 0x1a
neg al
mov esi, dword [ecx + 0x14]
movzx eax, al
push edi
mov edi, dword [ecx + 4]
sub edi, eax
sub edi, 0x1ffffff
mov eax, edi
sar eax, 0x19
neg al
movzx eax, al
sub ebp, eax
sub ebp, 0x3ffffff
mov eax, ebp
sar eax, 0x1a
neg al
movzx eax, al
sub ebx, eax
sub ebx, 0x1ffffff
mov eax, ebx
mov dword [esp + 0x10], ebx
mov ebx, dword [ecx + 0x10]
sar eax, 0x19
neg al
movzx eax, al
sub ebx, eax
sub ebx, 0x3ffffff
mov eax, ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [ecx + 0x18]
sar eax, 0x1a
neg al
movzx eax, al
sub esi, eax
sub esi, 0x1ffffff
mov eax, esi
sar eax, 0x19
neg al
movzx eax, al
sub ebx, eax
sub ebx, 0x3ffffff
mov eax, ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [ecx + 0x1c]
sar eax, 0x1a
neg al
movzx eax, al
sub ebx, eax
sub ebx, 0x1ffffff
mov eax, ebx
mov dword [esp + 0x24], ebx
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
sar eax, 0x19
neg al
movzx eax, al
sub ebx, eax
sub ebx, 0x3ffffff
mov eax, ebx
mov dword [esp + 0x1c], ebx
sar eax, 0x1a
neg al
movzx eax, al
sub ecx, eax
sub ecx, 0x1ffffff
mov eax, ecx
mov dword [esp + 0x28], ecx
sar eax, 0x19
movzx ecx, al
neg ecx
sbb ecx, ecx
and edx, 0x3ffffff
mov ebx, dword [esp + 0x10]
mov eax, ecx
mov dword [esp + 0x2c], ecx
and eax, 0x3ffffed
and edi, 0x1ffffff
add eax, edx
and ebp, 0x3ffffff
mov edx, eax
and ebx, 0x1ffffff
shr eax, 0x1a
and edx, 0x3ffffff
mov dword [esp + 0x20], edx
and esi, 0x1ffffff
mov edx, ecx
and ecx, 0x3ffffff
and edx, 0x1ffffff
add eax, edx
add edi, eax
mov eax, edi
and edi, 0x1ffffff
shr eax, 0x19
add eax, ecx
add ebp, eax
mov eax, ebp
and ebp, 0x3ffffff
shr eax, 0x1a
add eax, edx
add ebx, eax
mov eax, ebx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
shr eax, 0x19
and ebx, 0x3ffffff
add eax, ecx
add ebx, eax
mov eax, ebx
mov dword [esp + 0x14], ebx
shr eax, 0x1a
add eax, edx
add esi, eax
mov eax, dword [esp + 0x18]
and eax, 0x3ffffff
mov ebx, esi
shr esi, 0x19
and ebx, 0x1ffffff
add esi, ecx
mov dword [esp + 0x5c], ebx
add eax, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], eax
and esi, 0x1ffffff
shr eax, 0x1a
add eax, edx
mov edx, dword [esp + 0x1c]
add esi, eax
and edx, 0x3ffffff
mov eax, esi
shr eax, 0x19
add eax, ecx
mov ecx, dword [esp + 0x10]
add edx, eax
mov eax, dword [esp + 0x20]
shr eax, 8
mov dword [esp + 0x24], eax
shr eax, 8
mov dword [esp + 0x30], eax
shr eax, 8
lea eax, [eax + edi*4]
mov dword [esp + 0x34], eax
shr eax, 8
mov dword [esp + 0x38], eax
shr eax, 8
mov dword [esp + 0x3c], eax
shr eax, 8
lea eax, [eax + ebp*8]
mov dword [esp + 0x40], eax
shr eax, 8
mov dword [esp + 0x44], eax
shr eax, 8
mov dword [esp + 0x48], eax
shr eax, 8
and ecx, 0x1ffffff
shl ecx, 5
and esi, 0x1ffffff
add ecx, eax
mov eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
shr eax, 8
mov dword [esp + 0x4c], eax
shr eax, 8
mov dword [esp + 0x50], eax
shr eax, 8
shl ecx, 6
add ecx, eax
mov eax, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
shr eax, 8
and ecx, 0x3ffffff
mov dword [esp + 0x54], eax
shr eax, 8
mov dword [esp + 0x58], eax
mov eax, ebx
shr eax, 8
mov dword [esp + 0x60], eax
shr eax, 8
mov dword [esp + 0x64], eax
shr eax, 8
lea eax, [eax + ecx*2]
mov ecx, edx
mov dword [esp + 0x18], eax
and ecx, 0x3ffffff
shr eax, 8
mov dword [esp + 0x68], eax
shr eax, 8
mov dword [esp + 0x6c], eax
shr eax, 8
shl ecx, 4
shr edx, 0x1a
add edx, dword [esp + 0x28]
add edx, dword [esp + 0x2c]
lea eax, [eax + esi*8]
mov dword [esp + 0x70], eax
shr eax, 8
mov dword [esp + 0x74], eax
shr eax, 8
mov dword [esp + 0x78], eax
shr eax, 8
add ecx, eax
shl edx, 6
mov eax, ecx
mov dword [esp + 0x7c], ecx
shr eax, 8
and edx, 0x7fffffc0
mov ebx, eax
mov dword [esp + 0x80], eax
shr ebx, 8
mov eax, ebx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x20]
shr eax, 8
add edx, eax
mov eax, dword [esp + 0x8c]
mov ecx, edx
mov dword [esp + 0x1c], edx
shr ecx, 8
mov edx, ecx
mov byte [eax], bl
mov ebx, dword [esp + 0x24]
mov byte [eax + 1], bl
mov ebx, dword [esp + 0x30]
mov byte [eax + 2], bl
mov ebx, dword [esp + 0x34]
mov byte [eax + 3], bl
mov ebx, dword [esp + 0x38]
mov byte [eax + 4], bl
mov ebx, dword [esp + 0x3c]
mov byte [eax + 5], bl
mov ebx, dword [esp + 0x40]
shr edx, 8
mov byte [eax + 6], bl
mov ebx, dword [esp + 0x44]
mov byte [eax + 7], bl
mov ebx, dword [esp + 0x48]
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x10]
mov byte [eax + 9], bl
mov ebx, dword [esp + 0x4c]
mov byte [eax + 0xa], bl
mov ebx, dword [esp + 0x50]
mov byte [eax + 0xb], bl
mov ebx, dword [esp + 0x14]
mov byte [eax + 0xc], bl
mov ebx, dword [esp + 0x54]
mov byte [eax + 0xd], bl
mov ebx, dword [esp + 0x58]
mov byte [eax + 0xe], bl
shr ebx, 8
mov byte [eax + 0xf], bl
mov ebx, dword [esp + 0x5c]
mov byte [eax + 0x10], bl
mov ebx, dword [esp + 0x60]
mov byte [eax + 0x11], bl
mov ebx, dword [esp + 0x64]
mov byte [eax + 0x12], bl
mov ebx, dword [esp + 0x18]
mov byte [eax + 0x13], bl
mov ebx, dword [esp + 0x68]
mov byte [eax + 0x14], bl
mov ebx, dword [esp + 0x6c]
mov byte [eax + 0x15], bl
mov ebx, dword [esp + 0x70]
mov byte [eax + 0x16], bl
mov ebx, dword [esp + 0x74]
mov byte [eax + 0x17], bl
mov ebx, dword [esp + 0x78]
mov byte [eax + 0x18], bl
mov ebx, dword [esp + 0x7c]
mov byte [eax + 0x19], bl
mov ebx, dword [esp + 0x80]
pop edi
mov byte [eax + 0x1a], bl
mov ebx, dword [esp + 0x80]
pop esi
mov byte [eax + 0x1b], bl
mov ebx, dword [esp + 0x14]
mov byte [eax + 0x1e], dl
shr edx, 8
pop ebp
mov byte [eax + 0x1c], bl
mov byte [eax + 0x1d], cl
mov byte [eax + 0x1f], dl
pop ebx
add esp, 0x78
ret