Function at 0x1000e873
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1009253d
call fcn.1006d4b8
sub esp, 0x2c
push ebx
push esi
mov esi, ecx
mov ebx, 0xffff
push edi
mov dword [ebp - 0x14], esi
mov dword [esi], vtable.CGameSA.0
lea edi, [esi + 0x144]
mov ecx, edi
call fcn.100110ba
add edi, 0x1c
sub ebx, 1
jne 0x1000e899
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000e691
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x10137ab0], esi
push eax
push 0x40
push 0x4a3000
xor ebx, ebx
push 0x401000
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, esi
call fcn.1000f57c
mov edi, eax
cmp edi, 5
je 0x1000e914
cmp edi, 0xb
je 0x1000e90d
cmp edi, 0xf
je 0x1000e906
cmp edi, 0x14
jne 0x1000e919
call fcn.10004a7b
jmp 0x1000e919
call fcn.1001260c
jmp 0x1000e919
call fcn.100125d9
jmp 0x1000e919
call fcn.100125a6
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000e921
push 4
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000e942
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000e944
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000e95e
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000e960
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000e985
mov ecx, eax
call fcn.100163ec
jmp 0x1000e987
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000e9a4
mov dword [eax], vtable.CClockSA.0
jmp 0x1000e9a6
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000e9c8
mov ecx, eax
call fcn.10018ade
jmp 0x1000e9ca
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000e9f4
push 0xb6f028
mov ecx, eax
call fcn.1000b5be
jmp 0x1000e9f6
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000ea1e
mov ecx, eax
call fcn.1000cc61
jmp 0x1000ea20
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000ea48
mov ecx, eax
call fcn.1000beb7
jmp 0x1000ea4a
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000ea72
mov ecx, eax
call fcn.10014dab
jmp 0x1000ea74
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000ea9c
mov ecx, eax
call fcn.1000dc82
jmp 0x1000ea9e
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000eabb
mov dword [eax], vtable.CHudSA.0
jmp 0x1000eabd
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000eae2
mov ecx, eax
call fcn.1000df56
jmp 0x1000eae4
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000eb0c
mov ecx, eax
call fcn.1000914c
jmp 0x1000eb0e
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1006d26a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000eb37
push 0xb73458
mov ecx, eax
call fcn.1000f161
jmp 0x1000eb39
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000eb5e
mov ecx, eax
call fcn.1001eb4d
jmp 0x1000eb60
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000eb7d
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000eb7f
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000eb99
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000eb9b
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1006d26a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ebbf
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000ebc1
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000ebe3
mov ecx, eax
call fcn.1001eaef
jmp 0x1000ebe5
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ec02
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000ec04
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ec1e
mov dword [eax], vtable.CFontSA.0
jmp 0x1000ec20
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ec3a
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000ec3c
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1006d26a
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1006d26a
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000ec6c
mov ecx, eax
call fcn.1001ac7f
jmp 0x1000ec6e
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000ec93
mov ecx, eax
call fcn.10019ea5
jmp 0x1000ec95
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ecb2
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000ecb4
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000ecd6
mov ecx, eax
call fcn.1000cbb7
jmp 0x1000ecd8
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000ed00
mov ecx, eax
call fcn.1000f1b0
jmp 0x1000ed02
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000ed28
push edi
mov ecx, eax
call fcn.10018e52
jmp 0x1000ed2a
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000ed4f
mov ecx, eax
call fcn.10010549
jmp 0x1000ed51
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ed6e
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000ed70
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000ed9a
push 0x96c048
mov ecx, eax
call fcn.100100fb
jmp 0x1000ed9c
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000edc7
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001de00
jmp 0x1000edc9
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000edf1
mov ecx, eax
call fcn.10009654
jmp 0x1000edf3
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ee10
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000ee12
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ee2c
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000ee2e
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ee48
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000ee4a
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1006d26a
pop ecx
test eax, eax
je 0x1000ee64
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000ee66
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1006d26a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ee8a
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000ee8c
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1006d26a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000eeb1
mov ecx, eax
call fcn.10021eb7
jmp 0x1000eeb3
mov eax, ebx
mov dword [esi + 0x1c019c], eax
mov edi, 0xc8bf48
lea eax, [esi + 4]
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], bl
mov ebx, 0xc8aab8
mov dword [ebp - 0x10], eax
push 0xc
call fcn.1006d26a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000eef2
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000eef4
xor eax, eax
mov ecx, dword [ebp - 0x10]
add ebx, 0x70
inc esi
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x10], ecx
cmp ebx, edi
jl 0x1000eed2
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1006d26a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ef33
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000ef35
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000ef13
cmp edi, 0xc8cdb8
jl 0x1000ef11
push 0xc
call fcn.1006d26a
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ef6e
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000ef70
mov eax, ebx
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x38]
push 9
mov dword [ebp - 0x38], ebx
push str.hovercars
mov dword [esi + 0x1c012c], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], bl
call fcn.10004d3f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x1c]
lea edi, [esi + 0x1c01e0]
push eax
mov ecx, edi
call fcn.1000e7e7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eff4
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000efeb
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10004486
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1006d29a
pop ecx
pop ecx
push 7
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x38]
push str.aircars
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], bl
call fcn.10004d3f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e7e7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f069
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000f060
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10004486
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1006d29a
pop ecx
pop ecx
push 0xa
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x38]
push str.extrabunny
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], bl
call fcn.10004d3f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e7e7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f0de
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000f0d5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10004486
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1006d29a
pop ecx
pop ecx
push 9
mov dword [ebp - 0x38], ebx
lea ecx, [ebp - 0x38]
push str.extrajump
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], bl
call fcn.10004d3f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e7e7
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f150
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000f147
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10004486
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1006d29a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret