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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x60
cmp eax, 0x55
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
mov ebp, ecx
push edi
lea esi, [ebp + 8]
jb 0x4d9c1a
push esi
push 0x5db08c
push ebx
call fcn.004c0e10
add esp, 0xc
jmp 0x4d9c20
mov dword [esi], 0x320
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x4d9c6b
push str.CWaypointManager::Read
push 0x11e
push str.Waypts.cpp
call fcn.004bdd70
mov esi, dword [esi]
inc esi
lea eax, [esi + esi*4]
shl eax, 3
push 0x4a
push eax
call fcn.004be320
mov edi, eax
add esp, 0x14
test edi, edi
je 0x4d9c66
push fcn.005b6bc0
push esi
push 0x28
push edi
call fcn.0059ee00
jmp 0x4d9c68
xor edi, edi
mov dword [ebp], edi
lea ecx, [esp + 0x50]
push ecx
push 0x5daa04
push ebx
call fcn.004c0e10
add esp, 0xc
mov edi, str.ENDWAYPTS
lea esi, [esp + 0x50]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4da04a
jmp 0x4d9ca0
mov edi, str.NEWENVWAYPT
lea esi, [esp + 0x50]
mov ecx, 0xc
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4d9f41
lea ecx, [esp + 0x74]
push ecx
push 0x5db08c
push ebx
call fcn.004c0e10
mov esi, dword [esp + 0x84]
add esp, 0xc
cmp esi, 0xa
jb 0x4d9cea
lea edx, [esp + 0x24]
push edx
push 0x5db08c
push ebx
call fcn.004c0e10
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push 0
push ebx
call fcn.004c4580
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
push str._f_f_f
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x4c], ecx
lea ecx, [eax + eax*4]
mov dword [esp + 0x50], edx
mov edx, dword [ebp]
lea eax, [edx + ecx*8 + 4]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
add esp, 0x20
cmp esi, 0xe
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jb 0x4d9dca
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push str._f_f_f
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x4c], edx
lea edx, [eax + eax*4]
mov eax, dword [ebp]
mov dword [esp + 0x54], ecx
lea ecx, [eax + edx*8 + 0x10]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [ecx], edx
mov edx, dword [esp + 0x54]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
add esp, 0x14
lea edx, [eax + 0x10]
push edx
add eax, 4
push eax
jmp 0x4d9ddb
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
push 0
lea edx, [ecx + eax*8 + 4]
push edx
mov ecx, ebp
call fcn.004d9900
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8 + 0x20]
push edx
push 0x5eb81c
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x80]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8 + 0x1c]
push edx
push 0x5db08c
push ebx
call fcn.004c0e10
add esp, 0x18
cmp esi, 0x4f
jb 0x4d9e86
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x80]
push ecx
push 0x5eb718
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x84]
lea edx, [eax + eax*4]
mov eax, dword [ebp]
mov cl, byte [eax + edx*8 + 0x24]
lea eax, [eax + edx*8 + 0x24]
xor cl, byte [esp + 0x8c]
mov dl, byte [eax]
and cl, 7
xor dl, cl
mov byte [eax], dl
mov eax, dword [esp + 0x84]
mov cl, byte [esp + 0x2c]
lea edx, [eax + eax*4]
mov eax, dword [ebp]
lea eax, [eax + edx*8 + 0x24]
mov dl, byte [eax]
shl cl, 3
xor cl, dl
and cl, 0x38
add esp, 0x10
xor dl, cl
mov byte [eax], dl
jmp 0x4d9ea8
mov eax, dword [esp + 0x74]
lea edx, [eax + eax*4]
mov eax, dword [ebp]
lea eax, [eax + edx*8 + 0x24]
or byte [eax], 7
mov eax, dword [esp + 0x74]
mov edx, dword [ebp]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8 + 0x24]
or byte [eax], 0x38
mov eax, dword [ebp + 4]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8 + 0x24]
mov cl, byte [eax]
and cl, 0xbf
cmp esi, 0x52
mov byte [eax], cl
jb 0x4d9eeb
lea edx, [esp + 0x20]
push edx
push 0x5db08c
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x80]
mov ecx, dword [ebp]
mov dl, byte [esp + 0x2c]
lea eax, [eax + eax*4]
add esp, 0xc
mov byte [ecx + eax*8 + 0x25], dl
jmp 0x4d9efa
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
mov byte [ecx + eax*8 + 0x25], 0
cmp esi, 0x58
jb 0x4d9f12
lea edx, [esp + 0x28]
push edx
push 0x5db08c
push ebx
call fcn.004c0e10
add esp, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.004c0b30
mov ecx, dword [esp + 0x78]
mov edx, dword [ebp]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*8], eax
lea eax, [esp + 0x54]
push eax
push 0x5eb3a8
push ebx
call fcn.004c0e10
add esp, 0x10
jmp 0x4da032
mov edi, str.ENVWAYPT
lea esi, [esp + 0x50]
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4da032
lea eax, [esp + 0x74]
push eax
push 0x5db08c
push ebx
call fcn.004c0e10
lea ecx, [esp + 0x5c]
push ecx
push 0
push ebx
call fcn.004c4580
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
push str._f_f_f
push ebx
call fcn.004c0e10
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x70], edx
lea edx, [eax + eax*4]
mov eax, dword [ebp]
mov dword [esp + 0x78], ecx
lea ecx, [eax + edx*8 + 4]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [ecx], edx
mov edx, dword [esp + 0x78]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [ebp]
add esp, 0x2c
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8 + 4]
push 0
push edx
mov ecx, ebp
call fcn.004d9900
mov eax, dword [esp + 0x74]
mov ecx, dword [ebp]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8 + 0x1c]
push edx
push 0x5ded1c
push ebx
call fcn.004c0e10
lea eax, [esp + 0x5c]
push eax
call fcn.004c0b30
mov ecx, dword [esp + 0x84]
mov edx, dword [ebp]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*8], eax
lea eax, [esp + 0x60]
push eax
push 0x5eb3a8
push ebx
call fcn.004c0e10
add esp, 0x1c
mov edi, str.ENDWAYPTS
lea esi, [esp + 0x50]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4d9ca0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret 0xc