Function at 0x100115db
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x10087b49
call fcn.10062ce0
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.10013d98
add edi, 0x1c
sub ebx, 1
jne 0x10011601
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.100113f9
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x10129980], 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.100122e4
mov edi, eax
cmp edi, 5
je 0x1001167c
cmp edi, 0xb
je 0x10011675
cmp edi, 0xf
je 0x1001166e
cmp edi, 0x14
jne 0x10011681
call fcn.100078ac
jmp 0x10011681
call fcn.10015288
jmp 0x10011681
call fcn.10015255
jmp 0x10011681
call fcn.10015222
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x10011689
push 4
call fcn.10062a93
pop ecx
test eax, eax
je 0x100116aa
mov dword [eax], vtable.CAudioSA.0
jmp 0x100116ac
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x100116c6
mov dword [eax], vtable.CWorldSA.0
jmp 0x100116c8
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x100116ed
mov ecx, eax
call fcn.10019068
jmp 0x100116ef
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x1001170c
mov dword [eax], vtable.CClockSA.0
jmp 0x1001170e
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x10011730
mov ecx, eax
call fcn.1001b75a
jmp 0x10011732
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1001175c
push 0xb6f028
mov ecx, eax
call fcn.1000e328
jmp 0x1001175e
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x10011786
mov ecx, eax
call fcn.1000f9cb
jmp 0x10011788
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x100117b0
mov ecx, eax
call fcn.1000ec21
jmp 0x100117b2
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x100117da
mov ecx, eax
call fcn.10017a27
jmp 0x100117dc
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x10011804
mov ecx, eax
call fcn.100109ea
jmp 0x10011806
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011823
mov dword [eax], vtable.CHudSA.0
jmp 0x10011825
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1001184a
mov ecx, eax
call fcn.10010cbe
jmp 0x1001184c
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x10011874
mov ecx, eax
call fcn.1000beb6
jmp 0x10011876
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.10062a93
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1001189f
push 0xb73458
mov ecx, eax
call fcn.10011ec9
jmp 0x100118a1
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x100118c6
mov ecx, eax
call fcn.100217c9
jmp 0x100118c8
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x100118e5
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x100118e7
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011901
mov dword [eax], vtable.CWeatherSA.0
jmp 0x10011903
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.10062a93
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x10011927
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x10011929
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1001194b
mov ecx, eax
call fcn.1002176b
jmp 0x1001194d
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x1001196a
mov dword [eax], vtable.CStatsSA.0
jmp 0x1001196c
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011986
mov dword [eax], vtable.CFontSA.0
jmp 0x10011988
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x100119a2
mov dword [eax], vtable.CPathFindSA.0
jmp 0x100119a4
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.10062a93
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.10062a93
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x100119d4
mov ecx, eax
call fcn.1001d8fb
jmp 0x100119d6
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x100119fb
mov ecx, eax
call fcn.1001cb21
jmp 0x100119fd
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011a1a
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x10011a1c
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x10011a3e
mov ecx, eax
call fcn.1000f921
jmp 0x10011a40
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x10011a68
mov ecx, eax
call fcn.10011f18
jmp 0x10011a6a
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x10011a90
push edi
mov ecx, eax
call fcn.1001bace
jmp 0x10011a92
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x10011ab7
mov ecx, eax
call fcn.100132b1
jmp 0x10011ab9
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011ad6
mov dword [eax], vtable.CEventListSA.0
jmp 0x10011ad8
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x10011b02
push 0x96c048
mov ecx, eax
call fcn.10012e63
jmp 0x10011b04
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x10011b2f
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.10020a7c
jmp 0x10011b31
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x10011b59
mov ecx, eax
call fcn.1000c3be
jmp 0x10011b5b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011b78
mov dword [eax], vtable.CStreamingSA.0
jmp 0x10011b7a
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011b94
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x10011b96
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011bb0
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x10011bb2
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.10062a93
pop ecx
test eax, eax
je 0x10011bcc
mov dword [eax], vtable.CRopesSA.0
jmp 0x10011bce
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.10062a93
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x10011bf2
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x10011bf4
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.10062a93
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x10011c19
mov ecx, eax
call fcn.10024b0e
jmp 0x10011c1b
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.10062a93
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x10011c5a
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x10011c5c
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 0x10011c3a
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.10062a93
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x10011c9b
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x10011c9d
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x10011c7b
cmp edi, 0xc8cdb8
jl 0x10011c79
push 0xc
call fcn.10062a93
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x10011cd6
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x10011cd8
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.10007cee
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.1001154f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x10011d5c
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x10011d53
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100071d7
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.10062ac3
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.10007cee
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1001154f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x10011dd1
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x10011dc8
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100071d7
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10062ac3
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.10007cee
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1001154f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x10011e46
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x10011e3d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100071d7
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10062ac3
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.10007cee
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1001154f
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x10011eb8
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x10011eaf
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.100071d7
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.10062ac3
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