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

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, ecx
sub esp, 0x5c
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], eax
call fcn.004e0860
mov ebx, eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [eax - 1]
mov edi, edx
shr edi, 0x1f
mov ecx, edi
add ecx, edx
mov edi, ecx
lea ecx, [esi + esi]
sar edi, 1
cmp ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], edi
jle 0x4eb0b0
cmp edx, dword [esp + 0x70]
setge dl
movzx edx, dl
add edx, 1
test edi, edi
mov dword [esp + 0x44], edx
jle 0x4eb3d7
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
mov ebp, edx
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x74]
add edi, esi
add esi, 1
lea edx, [edi - 2]
mov dword [esp + 0x4c], edi
sub edi, 1
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
add edi, edx
sub ebp, edx
mov esi, edx
sub eax, edi
add eax, dword [esp + 0x74]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x28], edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + esi]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
call dword [eax + 0x18]
sub esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + esi]
add esi, 1
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
mov ecx, dword [0x63309c]
sub esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov dword [esp + 4], esi
mov dword [esp], edx
call dword [eax + 0x4c]
mov ecx, dword [0x63309c]
sub esp, 8
mov edx, dword [esp + 0x38]
mov eax, dword [ecx]
mov dword [esp + 4], esi
mov dword [esp], edx
call dword [eax + 0x4c]
sub esp, 8
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + edi - 1]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
call dword [eax + 0x18]
sub esp, 0xc
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + edi - 1]
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
mov ecx, dword [0x63309c]
sub esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], edx
call dword [eax + 0x4c]
mov ecx, dword [0x63309c]
sub esp, 8
mov edx, dword [esp + 0x38]
mov eax, dword [ecx]
mov dword [esp + 4], edi
sub edi, 1
mov dword [esp], edx
call dword [eax + 0x4c]
sub esp, 8
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, edx
add edx, ecx
cmp dword [esp + 0x1c], eax
mov dword [esp + 0x30], edx
jg 0x4eae13
mov dword [esp + 0x78], ebp
mov esi, ebp
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], esi
mov dword [esp + 8], 0x3f400000
cdq
idiv dword [esp + 0x44]
mov edi, eax
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
movsx eax, byte [eax]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
lea edx, [edi + edi]
mov ecx, dword [0x63309c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x24]
mov eax, dword [ecx]
sub ebp, edx
add esi, edi
mov edx, ebp
mov dword [esp + 4], esi
add edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48]
sub edx, 2
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
call dword [eax + 0x10]
sub esp, 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax]
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 4], esi
sub ebx, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], edi
call dword [eax + 0x24]
mov ecx, dword [0x63309c]
sub esp, 0xc
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx]
mov dword [esp + 8], ebx
sub edx, 1
mov dword [esp + 4], esi
mov dword [esp], edx
call dword [eax + 0x24]
sub esp, 0xc
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, dword [esp + 0x48]
setge dl
movzx edx, dl
add edx, 1
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x1c]
test edx, edx
jle 0x4eb3ab
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
add esi, ecx
mov edx, esi
add edi, ebp
mov dword [esp + 0x28], esi
sub edx, 1
mov dword [esp + 0x4c], edi
lea esi, [edi - 1]
mov dword [esp + 0x34], edx
lea edx, [ecx + 1]
mov ecx, ebp
mov dword [esp + 0x2c], edx
mov edx, edi
mov edi, ebp
mov ebp, dword [esp + 0x40]
sub eax, edx
add eax, dword [esp + 0x74]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x3c], eax
sub ebp, ecx
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + edi]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
mov dword [esp], edi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
call dword [eax + 0x24]
sub esp, 0xc
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + edi]
add edi, 1
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
mov ecx, dword [0x63309c]
sub esp, 4
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov ecx, dword [0x63309c]
sub esp, 8
mov edx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + esi]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx]
mov dword [esp], esi
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
call dword [eax + 0x24]
sub esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], ebp
movsx eax, byte [eax + esi]
sub esi, 1
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
mov ecx, dword [0x63309c]
sub esp, 4
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov ecx, dword [0x63309c]
sub esp, 8
mov edx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
sub esp, 8
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
mov eax, edx
add edx, ecx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
jl 0x4eb122
mov dword [esp + 0x78], ebp
mov esi, ebp
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], esi
mov dword [esp + 8], 0x3f400000
cdq
idiv dword [esp + 0x40]
mov edi, eax
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
movsx eax, byte [eax]
movzx eax, byte [ebx + eax]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
mov eax, dword [ecx]
sub edx, 1
mov dword [esp + 0xc], edx
lea edx, [edi + edi]
add esi, edi
mov dword [esp], esi
sub ebp, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ebp
mov dword [esp + 4], edx
call dword [eax + 0x10]
sub esp, 0x10
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 0x3f400000
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax]
movzx eax, byte [ebx + eax - 2]
mov dword [esp], eax
call fcn.004e3a20
mov ecx, dword [0x63309c]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 4
mov ecx, dword [0x63309c]
mov ebx, dword [esp + 0x4c]
mov eax, dword [ecx]
mov dword [esp], esi
sub ebx, edi
mov edi, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
call dword [eax + 0x18]
mov ecx, dword [0x63309c]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp], esi
mov dword [esp + 4], ebx
call dword [eax + 0x18]
sub esp, 0xc
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
add edi, eax
add eax, 1
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
add edi, esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x4c], edi
jmp 0x4eb2b4
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x78]
add eax, edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
lea edi, [eax + 1]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x4c], eax
jmp 0x4eafa7