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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 4]
movzx eax, byte [eax + 0x10]
mov dword [esp + 0x30], ecx
mov ch, 0x80
mov byte [esp + 0xd], al
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
sub ch, al
mov cl, ch
mov al, ch
and cl, 0x78
and al, 7
shr cl, 3
neg cl
movsx esi, cl
mov cl, al
mov ebp, dword [esp + esi + 0x70]
mov edi, dword [esp + esi + 0x74]
mov edx, dword [esp + esi + 0x78]
mov ebx, ebp
shld edx, edi, cl
shl edi, cl
not cl
shr ebx, 1
shr ebx, cl
mov cl, al
or ebx, edi
mov edi, dword [esp + esi + 0x6c]
mov esi, edi
shld ebp, edi, cl
xor edi, edi
shl esi, cl
test ch, ch
mov ecx, dword [esp + 0x94]
cmovs esi, edi
cmovs edx, edi
cmovs ebp, edi
cmovs ebx, edi
mov dword [esp + 0x24], esi
bswap edx
mov dword [esp + 0x20], ebp
and edx, dword [esp + 0x38]
movzx eax, word [ecx + 6]
movzx esi, word [ecx + 4]
movzx edi, word [ecx]
movzx ebp, word [ecx + 2]
mov word [esp + 0xa], ax
movzx eax, word [ecx + 8]
mov word [esp + 0x18], si
rol si, 8
mov word [esp + 0x1e], di
rol di, 8
mov word [esp + 0x1c], bp
rol bp, 8
mov word [esp + 0x14], si
movzx esi, word [esp + 0xa]
mov word [esp + 0x1a], bp
mov word [esp + 0x2a], di
mov word [esp + 8], ax
movzx eax, word [ecx + 0xa]
rol si, 8
mov word [esp + 0x12], si
movzx esi, word [esp + 8]
mov word [esp + 6], ax
movzx eax, word [ecx + 0xc]
rol si, 8
mov word [esp + 0x10], si
movzx esi, word [esp + 6]
mov word [esp + 4], ax
movzx eax, word [ecx + 0xe]
rol si, 8
mov word [esp + 2], ax
movzx eax, word [esp + 4]
mov word [esp + 0x16], si
movzx ecx, word [esp + 2]
rol ax, 8
rol cx, 8
cmp word [esp + 0x1e], dx
mov word [esp + 0xe], cx
jne 0x4d82ce
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
bswap ebx
movd xmm0, edx
bswap ebp
bswap ecx
and ebx, esi
and ebp, dword [esp + 0x2c]
movd xmm1, ebx
and ecx, edi
punpckldq xmm0, xmm1
movd xmm1, ecx
movd xmm2, ebp
punpckldq xmm2, xmm1
punpcklqdq xmm0, xmm2
pextrw edx, xmm0, 1
cmp dx, word [esp + 0x1c]
jne 0x4d82d6
cmp bx, word [esp + 0x18]
movzx esi, word [esp + 0x16]
jne 0x4d82e1
shr ebx, 0x10
cmp bx, word [esp + 0xa]
jne 0x4d82ee
cmp bp, word [esp + 8]
jne 0x4d82fb
shr ebp, 0x10
cmp bp, word [esp + 6]
jne 0x4d8308
cmp cx, word [esp + 4]
jne 0x4d8312
shr ecx, 0x10
cmp cx, word [esp + 2]
je 0x4d8323
rol cx, 8
mov edx, ecx
movzx ecx, word [esp + 0xe]
jmp 0x4d831a
rol dx, 8
mov ecx, edi
jmp 0x4d831a
movzx ecx, word [esp + 0x1a]
rol dx, 8
jmp 0x4d831a
movzx ecx, word [esp + 0x14]
rol bx, 8
mov edx, ebx
jmp 0x4d831a
movzx ecx, word [esp + 0x12]
rol bx, 8
mov edx, ebx
jmp 0x4d831a
movzx ecx, word [esp + 0x10]
rol bp, 8
mov edx, ebp
jmp 0x4d831a
rol bp, 8
mov ecx, esi
mov edx, ebp
jmp 0x4d831a
rol cx, 8
mov edx, ecx
mov ecx, eax
cmp dx, cx
jae 0x4d850a
mov word [esp + 0x20], ax
mov ah, byte [esp + 0xd]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov cl, ah
mov al, ah
and cl, 0x78
and al, 7
shr cl, 3
movzx edx, cl
mov ecx, eax
mov ebx, dword [esp + edx + 0x44]
mov ebp, dword [esp + edx + 0x48]
mov edi, dword [esp + edx + 0x40]
mov esi, ebx
mov dword [esp + 0x24], edi
shr edi, cl
add ebx, ebx
shrd esi, ebp, cl
not cl
mov edx, dword [esp + edx + 0x3c]
shl ebx, cl
mov ecx, eax
or ebx, edi
mov edi, esi
mov esi, dword [esp + 0x24]
shr ebp, cl
shrd edx, esi, cl
xor ecx, ecx
test ah, ah
cmovs ebp, ecx
cmovs ebx, ecx
cmovs edi, ecx
cmovs edx, ecx
xor eax, eax
bswap ebp
or ebp, dword [esp + 0x38]
mov ecx, ebp
rol cx, 8
cmp word [esp + 0x1e], bp
setne al
cmp word [esp + 0x2a], cx
mov ecx, 0xff
cmovb eax, ecx
test al, al
jne 0x4d8501
bswap ebx
bswap edi
bswap edx
movd xmm1, ebp
xor eax, eax
or ebx, dword [esp + 0x2c]
or edi, dword [esp + 0x30]
or edx, dword [esp + 0x34]
movd xmm0, edi
movd xmm3, ebx
movd xmm2, edx
mov ebp, ebx
mov ebx, edi
punpckldq xmm1, xmm0
punpckldq xmm3, xmm2
punpcklqdq xmm1, xmm3
pextrw esi, xmm1, 1
mov edi, esi
rol di, 8
cmp word [esp + 0x1c], si
setne al
cmp word [esp + 0x1a], di
cmovb eax, ecx
test al, al
jne 0x4d8501
mov edi, ebx
xor eax, eax
mov ecx, edi
rol cx, 8
cmp word [esp + 0x18], di
setne al
cmp word [esp + 0x14], cx
mov ecx, 0xff
cmovb eax, ecx
test al, al
jne 0x4d8501
shr edi, 0x10
xor eax, eax
mov esi, edi
rol si, 8
cmp word [esp + 0xa], di
setne al
cmp word [esp + 0x12], si
cmovb eax, ecx
test al, al
jne 0x4d8501
mov ecx, ebp
xor eax, eax
rol cx, 8
cmp word [esp + 8], bp
setne al
cmp word [esp + 0x10], cx
mov ecx, 0xff
cmovb eax, ecx
test al, al
jne 0x4d8501
shr ebp, 0x10
xor eax, eax
mov esi, ebp
rol si, 8
cmp word [esp + 6], bp
setne al
cmp word [esp + 0x16], si
cmovb eax, ecx
test al, al
jne 0x4d8501
mov ecx, edx
xor eax, eax
rol cx, 8
cmp word [esp + 4], dx
setne al
cmp word [esp + 0x20], cx
mov ecx, 0xff
cmovb eax, ecx
test al, al
jne 0x4d8501
shr edx, 0x10
xor eax, eax
mov esi, edx
rol si, 8
cmp word [esp + 2], dx
setne al
cmp word [esp + 0xe], si
cmovb eax, ecx
inc al
cmp al, 2
setb al
jmp 0x4d850c
xor eax, eax
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret