Function at 0x1000d91b
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x10079470
call fcn.10054538
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.10010162
add edi, 0x1c
sub ebx, 1
jne 0x1000d941
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000d739
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x1011c904], 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.1000e624
mov edi, eax
cmp edi, 5
je 0x1000d9bc
cmp edi, 0xb
je 0x1000d9b5
cmp edi, 0xf
je 0x1000d9ae
cmp edi, 0x14
jne 0x1000d9c1
call fcn.10004a10
jmp 0x1000d9c1
call fcn.100116b4
jmp 0x1000d9c1
call fcn.10011681
jmp 0x1000d9c1
call fcn.1001164e
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000d9c9
push 4
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000d9ea
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000d9ec
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000da06
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000da08
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000da2d
mov ecx, eax
call fcn.10015494
jmp 0x1000da2f
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000da4c
mov dword [eax], vtable.CClockSA.0
jmp 0x1000da4e
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000da70
mov ecx, eax
call fcn.10017b86
jmp 0x1000da72
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000da9c
push 0xb6f028
mov ecx, eax
call fcn.1000a666
jmp 0x1000da9e
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000dac6
mov ecx, eax
call fcn.1000bd09
jmp 0x1000dac8
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000daf0
mov ecx, eax
call fcn.1000af5f
jmp 0x1000daf2
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000db1a
mov ecx, eax
call fcn.10013e53
jmp 0x1000db1c
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000db44
mov ecx, eax
call fcn.1000cd2a
jmp 0x1000db46
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000db63
mov dword [eax], vtable.CHudSA.0
jmp 0x1000db65
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000db8a
mov ecx, eax
call fcn.1000cffe
jmp 0x1000db8c
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000dbb4
mov ecx, eax
call fcn.1000820e
jmp 0x1000dbb6
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.100542ea
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dbdf
push 0xb73458
mov ecx, eax
call fcn.1000e209
jmp 0x1000dbe1
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000dc06
mov ecx, eax
call fcn.1001dbf5
jmp 0x1000dc08
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dc25
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000dc27
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dc41
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000dc43
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.100542ea
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dc67
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000dc69
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000dc8b
mov ecx, eax
call fcn.1001db97
jmp 0x1000dc8d
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dcaa
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000dcac
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dcc6
mov dword [eax], vtable.CFontSA.0
jmp 0x1000dcc8
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dce2
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000dce4
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.100542ea
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.100542ea
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000dd14
mov ecx, eax
call fcn.10019d27
jmp 0x1000dd16
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000dd3b
mov ecx, eax
call fcn.10018f4d
jmp 0x1000dd3d
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000dd5a
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000dd5c
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000dd7e
mov ecx, eax
call fcn.1000bc5f
jmp 0x1000dd80
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000dda8
mov ecx, eax
call fcn.1000e258
jmp 0x1000ddaa
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000ddd0
push edi
mov ecx, eax
call fcn.10017efa
jmp 0x1000ddd2
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000ddf7
mov ecx, eax
call fcn.1000f5f1
jmp 0x1000ddf9
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000de16
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000de18
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000de42
push 0x96c048
mov ecx, eax
call fcn.1000f1a3
jmp 0x1000de44
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000de6f
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001cea8
jmp 0x1000de71
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000de99
mov ecx, eax
call fcn.10008716
jmp 0x1000de9b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000deb8
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000deba
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000ded4
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000ded6
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000def0
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000def2
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.100542ea
pop ecx
test eax, eax
je 0x1000df0c
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000df0e
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.100542ea
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000df32
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000df34
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.100542ea
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000df59
mov ecx, eax
call fcn.10020f5c
jmp 0x1000df5b
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.100542ea
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000df9a
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000df9c
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 0x1000df7a
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.100542ea
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dfdb
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000dfdd
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000dfbb
cmp edi, 0xc8cdb8
jl 0x1000dfb9
push 0xc
call fcn.100542ea
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e016
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000e018
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.10004cd4
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.1000d88f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000e09c
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000e093
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1000441b
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1005431a
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.10004cd4
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d88f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000e111
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000e108
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.1000441b
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005431a
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.10004cd4
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d88f
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000e186
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000e17d
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.1000441b
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005431a
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.10004cd4
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d88f
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000e1f8
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000e1ef
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1000441b
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1005431a
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