Function at 0x1000e2e9
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007fb89
call fcn.1005ce40
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.10010b30
add edi, 0x1c
sub ebx, 1
jne 0x1000e30f
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000e107
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x101228d4], 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.1000eff2
mov edi, eax
cmp edi, 5
je 0x1000e38a
cmp edi, 0xb
je 0x1000e383
cmp edi, 0xf
je 0x1000e37c
cmp edi, 0x14
jne 0x1000e38f
call fcn.100046e4
jmp 0x1000e38f
call fcn.1001208c
jmp 0x1000e38f
call fcn.10012059
jmp 0x1000e38f
call fcn.10012026
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000e397
push 4
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e3b8
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000e3ba
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e3d4
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000e3d6
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000e3fb
mov ecx, eax
call fcn.10015e6c
jmp 0x1000e3fd
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e41a
mov dword [eax], vtable.CClockSA.0
jmp 0x1000e41c
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000e43e
mov ecx, eax
call fcn.1001855e
jmp 0x1000e440
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000e46a
push 0xb6f028
mov ecx, eax
call fcn.1000b034
jmp 0x1000e46c
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000e494
mov ecx, eax
call fcn.1000c6d7
jmp 0x1000e496
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000e4be
mov ecx, eax
call fcn.1000b92d
jmp 0x1000e4c0
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000e4e8
mov ecx, eax
call fcn.1001482b
jmp 0x1000e4ea
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000e512
mov ecx, eax
call fcn.1000d6f8
jmp 0x1000e514
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e531
mov dword [eax], vtable.CHudSA.0
jmp 0x1000e533
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000e558
mov ecx, eax
call fcn.1000d9cc
jmp 0x1000e55a
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000e582
mov ecx, eax
call fcn.10008bdc
jmp 0x1000e584
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1005cbf2
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e5ad
push 0xb73458
mov ecx, eax
call fcn.1000ebd7
jmp 0x1000e5af
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000e5d4
mov ecx, eax
call fcn.1001e5cd
jmp 0x1000e5d6
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e5f3
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000e5f5
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e60f
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000e611
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1005cbf2
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e635
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000e637
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000e659
mov ecx, eax
call fcn.1001e56f
jmp 0x1000e65b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e678
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000e67a
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e694
mov dword [eax], vtable.CFontSA.0
jmp 0x1000e696
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e6b0
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000e6b2
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1005cbf2
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1005cbf2
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000e6e2
mov ecx, eax
call fcn.1001a6ff
jmp 0x1000e6e4
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000e709
mov ecx, eax
call fcn.10019925
jmp 0x1000e70b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e728
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000e72a
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000e74c
mov ecx, eax
call fcn.1000c62d
jmp 0x1000e74e
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000e776
mov ecx, eax
call fcn.1000ec26
jmp 0x1000e778
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000e79e
push edi
mov ecx, eax
call fcn.100188d2
jmp 0x1000e7a0
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000e7c5
mov ecx, eax
call fcn.1000ffbf
jmp 0x1000e7c7
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e7e4
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000e7e6
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000e810
push 0x96c048
mov ecx, eax
call fcn.1000fb71
jmp 0x1000e812
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000e83d
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001d880
jmp 0x1000e83f
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000e867
mov ecx, eax
call fcn.100090e4
jmp 0x1000e869
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e886
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000e888
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e8a2
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000e8a4
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e8be
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000e8c0
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1005cbf2
pop ecx
test eax, eax
je 0x1000e8da
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000e8dc
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1005cbf2
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e900
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000e902
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1005cbf2
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000e927
mov ecx, eax
call fcn.10021934
jmp 0x1000e929
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.1005cbf2
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e968
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000e96a
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 0x1000e948
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1005cbf2
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e9a9
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000e9ab
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000e989
cmp edi, 0xc8cdb8
jl 0x1000e987
push 0xc
call fcn.1005cbf2
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e9e4
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000e9e6
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.100049a8
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.1000e25d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ea6a
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000ea61
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100040ef
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1005cc22
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.100049a8
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e25d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eadf
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000ead6
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100040ef
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cc22
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.100049a8
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e25d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eb54
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000eb4b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100040ef
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cc22
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.100049a8
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e25d
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ebc6
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000ebbd
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.100040ef
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1005cc22
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