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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e7b61
sub esp, 0x54
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x4e7b17
mov ebp, dword [esp + 0x58]
test byte [ebp], al
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
jmp 0x4e7870
mov edx, ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x38]
sub ebx, esi
cmp ebx, 4
jl 0x4e7b0e
mov ebx, dword [esp + 0x44]
sub edx, ebx
cmp edx, 4
jl 0x4e7a3f
lea ebx, [esi + 4]
cmp ebx, edi
ja 0x4e7b57
cmp esi, ebx
ja 0x4e7b4e
mov dword [esp + 0x3c], ebx
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
movzx esi, byte [eax + edi]
movzx esi, byte [esi + ebp + 0x40]
xchg esi, eax
mov byte [esp + 0x32], al
xchg esi, eax
movzx ebx, byte [eax + edi + 1]
movzx ebx, byte [ebx + ebp + 0x40]
mov byte [esp + 0x31], bl
movzx ebx, byte [eax + edi + 2]
movzx ebx, byte [ebx + ebp + 0x40]
movzx edi, byte [eax + edi + 3]
movzx edi, byte [edi + ebp + 0x40]
movzx ebp, byte [esp + 0x31]
or esi, ebp
or esi, ebx
or esi, edi
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x4e7a01
mov ebx, 0
je 0x4e795b
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x44]
cmp ebp, esi
jb 0x4e7b45
mov dword [esp + 0x34], ebx
mov edi, dword [esp + 0x64]
mov edx, edi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
shr ebx, 0x18
mov byte [ecx + edi], bl
mov ebx, dword [esp + 0x34]
shr ebx, 0x10
mov byte [ecx + edi + 1], bl
mov ebx, dword [esp + 0x34]
shr ebx, 8
mov byte [ecx + edi + 2], bl
mov ebx, dword [esp + 0x34]
mov byte [ecx + edi + 3], bl
lea ebx, [esi + 3]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x4e7852
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jb 0x4e7b3c
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
mov esi, dword [esp + 0x64]
sub esi, ebp
mov dword [esp + 0x3c], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebp
add esi, ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
call fcn.004e6b20
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x44]
add ebx, ebp
test eax, eax
jne 0x4e79f1
mov ebp, dword [esp + 0x60]
mov esi, edx
mov edi, eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
jmp 0x4e7852
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
xchg esi, eax
mov byte [esp + 0x33], al
xchg esi, eax
movzx esi, byte [esp + 0x32]
xchg esi, eax
movzx eax, al
xchg esi, eax
shl esi, 0x1a
xchg ebp, eax
movzx eax, al
xchg ebp, eax
shl ebp, 0x14
or ebp, esi
movzx ebx, bl
shl ebx, 0xe
or ebx, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
shl ebp, 8
or ebx, ebp
movzx ebp, byte [esp + 0x33]
xchg ebp, eax
cmp al, 0xff
xchg ebp, eax
jmp 0x4e78fe
mov edx, dword [esp + 0x64]
jmp 0x4e7a67
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
mov esi, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
cmp esi, edi
jge 0x4e7af6
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x60]
cmp esi, ebx
jb 0x4e7b33
mov dword [esp + 0x44], ebx
mov dword [esp], ebp
sub edx, ebx
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, ecx
mov dword [esp + 4], edx
sub esi, ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
call fcn.004e6b20
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x44]
add ebx, ebp
test eax, eax
je 0x4e7a45
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x54
ret
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
add esp, 0x54
ret
mov ebx, dword [esp + 0x44]
jmp 0x4e7a3f
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x54
ret
mov eax, ebx
mov ecx, esi
call fcn.00460c20
mov eax, ebp
mov ecx, ebx
call fcn.00460c20
mov eax, esi
mov ecx, ebp
call fcn.00460c20
mov eax, esi
mov ecx, ebx
call fcn.00460c20
mov ecx, ebx
mov edx, edi
call fcn.00460c00
nop
call fcn.0045f5f0
jmp fcn.004e77f0