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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
xor ebp, ebp
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x10]
push edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x28], ebp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x4c], ebp
mov dword [esi + 0x58], ebp
movsx eax, word [edi]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x24]
cmp eax, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esi]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x34], edx
jbe 0x4e62df
lea ebx, [eax + 3]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esi + 0x2c]
push eax
and ebx, 0xfffffffc
push ebx
push ecx
push 4
push edx
call fcn.004b6b60
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp eax, ebp
jne 0x4e6598
mov dword [esi + 0x24], ebx
movsx eax, word [edi + 2]
mov ecx, dword [esi + 0x18]
add eax, 2
cmp eax, ecx
jbe 0x4e631f
lea ebx, [eax + 9]
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push eax
and ebx, 0xfffffff8
push ebx
push ecx
mov ecx, dword [esp + 0x44]
push 0x28
push ecx
call fcn.004b6b60
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp eax, ebp
jne 0x4e6598
mov dword [esi + 0x18], ebx
movsx edx, word [edi + 2]
mov dword [esi + 0x1c], edx
movsx eax, word [edi]
push edi
mov dword [esi + 0x28], eax
mov dword [esi + 0x48], 2
mov dword [esi + 0x64], 0xffffffff
call fcn.004b4a30
add esp, 4
cmp eax, 1
jne 0x4e6352
mov dword [esi + 0x48], 0xfffffffe
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x1c]
cmp eax, ebp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x74], ebp
mov dword [esi + 0x78], ebp
je 0x4e6594
mov ecx, dword [edi + 0xc]
mov ebp, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
movsx eax, word [ecx]
lea edx, [ebx + edx*8]
cmp ebx, edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 0
mov edi, ebx
jae 0x4e6486
lea esp, [esp]
mov cx, word [ebp]
mov eax, dword [esp + 0x20]
mov word [edi + 0xc], cx
mov dx, word [ebp + 4]
mov word [edi + 0xe], dx
mov ecx, dword [ebp]
push eax
push ecx
call fcn.004b3320
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [edi + 0x10], eax
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 4]
push eax
push ecx
call fcn.004b3320
mov edx, dword [esp + 0x3c]
add eax, edx
mov dword [edi + 0x14], eax
mov dword [edi + 8], eax
mov eax, dword [esp + 0x28]
movzx eax, byte [eax]
and eax, 3
add esp, 0x10
sub eax, 0
je 0x4e6429
sub eax, 2
je 0x4e6422
mov word [edi], 0
jmp 0x4e642e
mov word [edi], 2
jmp 0x4e642e
mov word [edi], 1
cmp edi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov dword [edi + 0x24], eax
mov dword [eax + 0x20], edi
mov dword [esp + 0x14], edi
jne 0x4e646d
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
movsx edx, word [ecx]
add eax, 1
cmp eax, edx
mov dword [esp + 0x30], eax
jge 0x4e646d
mov ecx, dword [ecx + 0xc]
movsx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
lea eax, [ebx + edx*8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
add dword [esp + 0x18], 1
add edi, 0x28
add ebp, 8
cmp edi, dword [esp + 0x1c]
jb 0x4e63c0
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
lea edi, [eax + ecx*4]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0xc]
xor ecx, ecx
cmp eax, edi
jae 0x4e64bf
lea esp, [esp]
movsx ecx, cx
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
mov dword [eax], ecx
mov cx, word [esi]
add cx, 1
add eax, 4
add esi, 2
cmp eax, edi
movzx ecx, cx
jb 0x4e64a0
xor ebp, ebp
cmp ebx, edx
mov eax, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], 4
jae 0x4e6594
lea esi, [ebx + 0xc]
jmp 0x4e64e4
mov eax, dword [esp + 0x34]
lea edx, [esi - 0xc]
cmp edx, eax
jne 0x4e6518
mov edi, dword [eax + 0x24]
movsx ebp, word [eax + 0xc]
movsx ecx, word [edi + 0xc]
movsx edx, word [eax + 0xe]
sub ebp, ecx
movsx ecx, word [edi + 0xe]
sub edx, ecx
mov eax, ebp
mov dword [esp + 0x18], edx
call fcn.004e6140
add edi, 0x28
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], edi
mov dl, byte [esp + 0x3c]
mov eax, dword [esi + 0x14]
movsx ecx, word [esi]
mov byte [esi - 0xa], dl
movsx edi, word [eax + 0xc]
movsx ebx, word [eax + 0xe]
movsx edx, word [esi + 2]
sub edi, ecx
sub ebx, edx
mov edx, ebx
mov eax, edi
call fcn.004e6140
test byte [esi - 0xc], 3
mov dword [esp + 0x3c], eax
mov byte [esi - 9], al
jne 0x4e6578
mov cl, byte [esi - 0xa]
cmp al, cl
jne 0x4e656c
cmp al, 4
jne 0x4e6578
mov eax, dword [esp + 0x18]
push ebx
push edi
push eax
push ebp
call fcn.004b3730
add esp, 0x10
test eax, eax
jne 0x4e6578
jmp 0x4e657e
movsx edx, al
movsx eax, cl
neg edx
cmp eax, edx
jne 0x4e657e
or word [esi - 0xc], 0x100
add esi, 0x28
lea ecx, [esi - 0xc]
cmp ecx, dword [esp + 0x1c]
mov ebp, edi
mov dword [esp + 0x18], ebx
jb 0x4e64e0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret