Function at 0x1000cc73
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1006ef92
call fcn.1004a31c
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.1000f4ba
add edi, 0x1c
sub ebx, 1
jne 0x1000cc99
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000ca91
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x1011a05c], 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.1000d97c
mov edi, eax
cmp edi, 5
je 0x1000cd14
cmp edi, 0xb
je 0x1000cd0d
cmp edi, 0xf
je 0x1000cd06
cmp edi, 0x14
jne 0x1000cd19
call fcn.1000420a
jmp 0x1000cd19
call fcn.10010a16
jmp 0x1000cd19
call fcn.100109e3
jmp 0x1000cd19
call fcn.100109b0
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000cd21
push 4
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cd42
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000cd44
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cd5e
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000cd60
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000cd85
mov ecx, eax
call fcn.100147f6
jmp 0x1000cd87
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cda4
mov dword [eax], vtable.CClockSA.0
jmp 0x1000cda6
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000cdc8
mov ecx, eax
call fcn.10016ee8
jmp 0x1000cdca
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000cdf4
push 0xb6f028
mov ecx, eax
call fcn.100099be
jmp 0x1000cdf6
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000ce1e
mov ecx, eax
call fcn.1000b061
jmp 0x1000ce20
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000ce48
mov ecx, eax
call fcn.1000a2b7
jmp 0x1000ce4a
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000ce72
mov ecx, eax
call fcn.100131b5
jmp 0x1000ce74
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000ce9c
mov ecx, eax
call fcn.1000c082
jmp 0x1000ce9e
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cebb
mov dword [eax], vtable.CHudSA.0
jmp 0x1000cebd
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000cee2
mov ecx, eax
call fcn.1000c356
jmp 0x1000cee4
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000cf0c
mov ecx, eax
call fcn.1000754c
jmp 0x1000cf0e
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1004a0ce
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cf37
push 0xb73458
mov ecx, eax
call fcn.1000d561
jmp 0x1000cf39
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000cf5e
mov ecx, eax
call fcn.1001cf57
jmp 0x1000cf60
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cf7d
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000cf7f
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000cf99
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000cf9b
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1004a0ce
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cfbf
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000cfc1
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000cfe3
mov ecx, eax
call fcn.1001cef9
jmp 0x1000cfe5
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d002
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000d004
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d01e
mov dword [eax], vtable.CFontSA.0
jmp 0x1000d020
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d03a
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000d03c
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1004a0ce
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1004a0ce
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000d06c
mov ecx, eax
call fcn.10019089
jmp 0x1000d06e
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000d093
mov ecx, eax
call fcn.100182af
jmp 0x1000d095
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d0b2
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000d0b4
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000d0d6
mov ecx, eax
call fcn.1000afb7
jmp 0x1000d0d8
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000d100
mov ecx, eax
call fcn.1000d5b0
jmp 0x1000d102
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000d128
push edi
mov ecx, eax
call fcn.1001725c
jmp 0x1000d12a
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000d14f
mov ecx, eax
call fcn.1000e949
jmp 0x1000d151
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d16e
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000d170
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000d19a
push 0x96c048
mov ecx, eax
call fcn.1000e4fb
jmp 0x1000d19c
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000d1c7
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001c20a
jmp 0x1000d1c9
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000d1f1
mov ecx, eax
call fcn.10007a54
jmp 0x1000d1f3
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d210
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000d212
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d22c
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000d22e
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d248
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000d24a
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1004a0ce
pop ecx
test eax, eax
je 0x1000d264
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000d266
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1004a0ce
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d28a
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000d28c
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1004a0ce
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000d2b1
mov ecx, eax
call fcn.100202c1
jmp 0x1000d2b3
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.1004a0ce
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d2f2
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000d2f4
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 0x1000d2d2
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1004a0ce
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d333
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000d335
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000d313
cmp edi, 0xc8cdb8
jl 0x1000d311
push 0xc
call fcn.1004a0ce
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d36e
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000d370
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.100044ce
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.1000cbe7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d3f4
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000d3eb
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003c15
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1004a0fe
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.100044ce
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000cbe7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d469
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000d460
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003c15
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1004a0fe
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.100044ce
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000cbe7
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d4de
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000d4d5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003c15
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1004a0fe
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.100044ce
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000cbe7
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d550
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000d547
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10003c15
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1004a0fe
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