Function at 0x1000ed64
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007b241
call fcn.10055fd4
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.10011573
add edi, 0x1c
sub ebx, 1
jne 0x1000ed8a
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.10008c96
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x1011e938], 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.1000fa6d
mov edi, eax
cmp edi, 5
je 0x1000ee05
cmp edi, 0xb
je 0x1000edfe
cmp edi, 0xf
je 0x1000edf7
cmp edi, 0x14
jne 0x1000ee0a
call fcn.10005bb3
jmp 0x1000ee0a
call fcn.10012acf
jmp 0x1000ee0a
call fcn.10012a9c
jmp 0x1000ee0a
call fcn.10012a69
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000ee12
push 4
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000ee33
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000ee35
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000ee4f
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000ee51
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000ee76
mov ecx, eax
call fcn.100168af
jmp 0x1000ee78
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000ee95
mov dword [eax], vtable.CClockSA.0
jmp 0x1000ee97
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000eeb9
mov ecx, eax
call fcn.10018fa1
jmp 0x1000eebb
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000eee5
push 0xb6f028
mov ecx, eax
call fcn.1000bafd
jmp 0x1000eee7
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000ef0f
mov ecx, eax
call fcn.1000d1a0
jmp 0x1000ef11
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000ef39
mov ecx, eax
call fcn.1000c3f6
jmp 0x1000ef3b
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000ef63
mov ecx, eax
call fcn.1001526e
jmp 0x1000ef65
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000ef8d
mov ecx, eax
call fcn.1000e1bd
jmp 0x1000ef8f
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000efac
mov dword [eax], vtable.CHudSA.0
jmp 0x1000efae
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000efd3
mov ecx, eax
call fcn.1000e491
jmp 0x1000efd5
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000effd
mov ecx, eax
call fcn.100096a5
jmp 0x1000efff
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.10055f96
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f028
push 0xb73458
mov ecx, eax
call fcn.1000f652
jmp 0x1000f02a
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000f04f
mov ecx, eax
call fcn.1001f010
jmp 0x1000f051
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f06e
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000f070
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f08a
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000f08c
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.10055f96
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f0b0
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000f0b2
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000f0d4
mov ecx, eax
call fcn.1001efb2
jmp 0x1000f0d6
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f0f3
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000f0f5
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f10f
mov dword [eax], vtable.CFontSA.0
jmp 0x1000f111
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f12b
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000f12d
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.10055f96
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.10055f96
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000f15d
mov ecx, eax
call fcn.1001b142
jmp 0x1000f15f
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000f184
mov ecx, eax
call fcn.1001a368
jmp 0x1000f186
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f1a3
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000f1a5
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000f1c7
mov ecx, eax
call fcn.1000d0f6
jmp 0x1000f1c9
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000f1f1
mov ecx, eax
call fcn.1000f6a1
jmp 0x1000f1f3
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000f219
push edi
mov ecx, eax
call fcn.10019315
jmp 0x1000f21b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000f240
mov ecx, eax
call fcn.10010a02
jmp 0x1000f242
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f25f
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000f261
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000f28b
push 0x96c048
mov ecx, eax
call fcn.100105b4
jmp 0x1000f28d
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000f2b8
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001e2c3
jmp 0x1000f2ba
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000f2e2
mov ecx, eax
call fcn.10009bad
jmp 0x1000f2e4
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f301
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000f303
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f31d
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000f31f
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f339
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000f33b
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.10055f96
pop ecx
test eax, eax
je 0x1000f355
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000f357
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.10055f96
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f37b
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000f37d
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.10055f96
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000f3a2
mov ecx, eax
call fcn.1002237a
jmp 0x1000f3a4
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.10055f96
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f3e3
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000f3e5
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 0x1000f3c3
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.10055f96
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f424
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000f426
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000f404
cmp edi, 0xc8cdb8
jl 0x1000f402
push 0xc
call fcn.10055f96
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000f45f
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000f461
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.10005e77
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.1000ecd8
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f4e5
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000f4dc
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100055be
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.10055fc6
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.10005e77
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000ecd8
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f55a
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000f551
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100055be
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10055fc6
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.10005e77
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000ecd8
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f5cf
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000f5c6
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100055be
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10055fc6
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.10005e77
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000ecd8
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000f641
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000f638
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.100055be
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.10055fc6
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