Function at 0x1000c532
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x10083f67
call fcn.100603d0
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.1000ed79
add edi, 0x1c
sub ebx, 1
jne 0x1000c558
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000c350
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x100ea124], 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.1000d23b
mov edi, eax
cmp edi, 5
je 0x1000c5d3
cmp edi, 0xb
je 0x1000c5cc
cmp edi, 0xf
je 0x1000c5c5
cmp edi, 0x14
jne 0x1000c5d8
call fcn.100035be
jmp 0x1000c5d8
call fcn.100102f0
jmp 0x1000c5d8
call fcn.100102bd
jmp 0x1000c5d8
call fcn.1001028a
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000c5e0
push 4
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c601
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000c603
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c61d
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000c61f
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000c644
mov ecx, eax
call fcn.100140d0
jmp 0x1000c646
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c663
mov dword [eax], vtable.CClockSA.0
jmp 0x1000c665
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000c687
mov ecx, eax
call fcn.100167dc
jmp 0x1000c689
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000c6b3
push 0xb6f028
mov ecx, eax
call fcn.1000927d
jmp 0x1000c6b5
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000c6dd
mov ecx, eax
call fcn.1000a920
jmp 0x1000c6df
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000c707
mov ecx, eax
call fcn.10009b76
jmp 0x1000c709
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000c731
mov ecx, eax
call fcn.10012a8f
jmp 0x1000c733
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000c75b
mov ecx, eax
call fcn.1000b941
jmp 0x1000c75d
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c77a
mov dword [eax], vtable.CHudSA.0
jmp 0x1000c77c
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000c7a1
mov ecx, eax
call fcn.1000bc15
jmp 0x1000c7a3
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000c7cb
mov ecx, eax
call fcn.10006e25
jmp 0x1000c7cd
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.10060073
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000c7f6
push 0xb73458
mov ecx, eax
call fcn.1000ce20
jmp 0x1000c7f8
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000c81d
mov ecx, eax
call fcn.1001c84b
jmp 0x1000c81f
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c83c
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000c83e
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c858
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000c85a
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.10060073
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000c87e
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000c880
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000c8a2
mov ecx, eax
call fcn.1001c7ed
jmp 0x1000c8a4
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c8c1
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000c8c3
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c8dd
mov dword [eax], vtable.CFontSA.0
jmp 0x1000c8df
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c8f9
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000c8fb
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.10060073
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.10060073
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000c92b
mov ecx, eax
call fcn.1001897d
jmp 0x1000c92d
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000c952
mov ecx, eax
call fcn.10017ba3
jmp 0x1000c954
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000c971
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000c973
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000c995
mov ecx, eax
call fcn.1000a876
jmp 0x1000c997
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000c9bf
mov ecx, eax
call fcn.1000ce6f
jmp 0x1000c9c1
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000c9e7
push edi
mov ecx, eax
call fcn.10016b50
jmp 0x1000c9e9
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000ca0e
mov ecx, eax
call fcn.1000e208
jmp 0x1000ca10
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000ca2d
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000ca2f
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000ca59
push 0x96c048
mov ecx, eax
call fcn.1000ddba
jmp 0x1000ca5b
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000ca86
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001bafe
jmp 0x1000ca88
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000cab0
mov ecx, eax
call fcn.1000732d
jmp 0x1000cab2
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000cacf
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000cad1
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000caeb
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000caed
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000cb07
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000cb09
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.10060073
pop ecx
test eax, eax
je 0x1000cb23
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000cb25
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.10060073
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cb49
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000cb4b
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.10060073
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000cb70
mov ecx, eax
call fcn.1001fbb5
jmp 0x1000cb72
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.10060073
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cbb1
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000cbb3
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 0x1000cb91
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.10060073
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cbf2
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000cbf4
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000cbd2
cmp edi, 0xc8cdb8
jl 0x1000cbd0
push 0xc
call fcn.10060073
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000cc2d
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000cc2f
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.10003987
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.1000c4a6
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ccb3
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000ccaa
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1000329c
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.100600a3
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.10003987
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000c4a6
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000cd28
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000cd1f
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.1000329c
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.100600a3
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.10003987
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000c4a6
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000cd9d
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000cd94
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.1000329c
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.100600a3
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.10003987
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000c4a6
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ce0f
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000ce06
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1000329c
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.100600a3
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