Function at 0x4627fc
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 esi, 0x1ffffff
mov ebp, dword [ecx + 8]
sub edx, 0x3ffffed
mov ebx, dword [ecx + 0xc]
mov eax, edx
sar eax, 0x1a
neg al
movzx eax, al
push edi
mov edi, dword [ecx + 4]
sub edi, eax
sub edi, esi
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, esi
mov esi, dword [ecx + 0x14]
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
mov ebx, 0x1ffffff
neg al
movzx eax, al
sub ecx, eax
sub ecx, ebx
mov eax, ecx
mov dword [esp + 0x28], ecx
sar eax, 0x19
movzx ecx, al
neg ecx
sbb ecx, ecx
and edx, 0x3ffffff
mov eax, ecx
mov dword [esp + 0x2c], ecx
and eax, 0x3ffffed
and edi, ebx
add eax, edx
and esi, 0x1ffffff
mov edx, eax
shr eax, 0x1a
and edx, 0x3ffffff
mov dword [esp + 0x20], edx
mov edx, ecx
and edx, ebx
mov ebx, 0x3ffffff
add eax, edx
and ecx, ebx
add edi, eax
and ebp, ebx
mov ebx, dword [esp + 0x10]
mov eax, edi
shr eax, 0x19
and ebx, 0x1ffffff
add eax, ecx
and edi, 0x1ffffff
add ebp, eax
mov eax, ebp
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
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 edi, 0x3ffffff
mov dword [esp + 0x34], eax
and ebp, edi
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 ecx, dword [esp + 0x10]
mov ebp, 0x1ffffff
mov dword [esp + 0x44], eax
and ecx, ebp
shr eax, 8
and esi, ebp
mov dword [esp + 0x48], eax
shr eax, 8
shl ecx, 5
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, edi
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, edi
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]
shr edx, 8
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]
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