Function at 0x1000d1f9
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007fc34
call fcn.1005d058
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.1000fa40
add edi, 0x1c
sub ebx, 1
jne 0x1000d21f
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000d017
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x100e60bc], 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.1000df02
mov edi, eax
cmp edi, 5
je 0x1000d29a
cmp edi, 0xb
je 0x1000d293
cmp edi, 0xf
je 0x1000d28c
cmp edi, 0x14
jne 0x1000d29f
call fcn.10004275
jmp 0x1000d29f
call fcn.10010f9c
jmp 0x1000d29f
call fcn.10010f69
jmp 0x1000d29f
call fcn.10010f36
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000d2a7
push 4
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d2c8
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000d2ca
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d2e4
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000d2e6
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000d30b
mov ecx, eax
call fcn.10014d7c
jmp 0x1000d30d
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d32a
mov dword [eax], vtable.CClockSA.0
jmp 0x1000d32c
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000d34e
mov ecx, eax
call fcn.1001746e
jmp 0x1000d350
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000d37a
push 0xb6f028
mov ecx, eax
call fcn.10009f44
jmp 0x1000d37c
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000d3a4
mov ecx, eax
call fcn.1000b5e7
jmp 0x1000d3a6
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000d3ce
mov ecx, eax
call fcn.1000a83d
jmp 0x1000d3d0
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000d3f8
mov ecx, eax
call fcn.1001373b
jmp 0x1000d3fa
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000d422
mov ecx, eax
call fcn.1000c608
jmp 0x1000d424
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d441
mov dword [eax], vtable.CHudSA.0
jmp 0x1000d443
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000d468
mov ecx, eax
call fcn.1000c8dc
jmp 0x1000d46a
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000d492
mov ecx, eax
call fcn.10007aec
jmp 0x1000d494
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1005caef
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d4bd
push 0xb73458
mov ecx, eax
call fcn.1000dae7
jmp 0x1000d4bf
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000d4e4
mov ecx, eax
call fcn.1001d4dd
jmp 0x1000d4e6
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d503
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000d505
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d51f
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000d521
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1005caef
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d545
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000d547
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000d569
mov ecx, eax
call fcn.1001d47f
jmp 0x1000d56b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d588
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000d58a
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d5a4
mov dword [eax], vtable.CFontSA.0
jmp 0x1000d5a6
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d5c0
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000d5c2
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1005caef
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1005caef
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000d5f2
mov ecx, eax
call fcn.1001960f
jmp 0x1000d5f4
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000d619
mov ecx, eax
call fcn.10018835
jmp 0x1000d61b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d638
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000d63a
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000d65c
mov ecx, eax
call fcn.1000b53d
jmp 0x1000d65e
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000d686
mov ecx, eax
call fcn.1000db36
jmp 0x1000d688
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000d6ae
push edi
mov ecx, eax
call fcn.100177e2
jmp 0x1000d6b0
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000d6d5
mov ecx, eax
call fcn.1000eecf
jmp 0x1000d6d7
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d6f4
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000d6f6
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000d720
push 0x96c048
mov ecx, eax
call fcn.1000ea81
jmp 0x1000d722
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000d74d
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001c790
jmp 0x1000d74f
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000d777
mov ecx, eax
call fcn.10007ff4
jmp 0x1000d779
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d796
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000d798
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d7b2
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000d7b4
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d7ce
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000d7d0
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1005caef
pop ecx
test eax, eax
je 0x1000d7ea
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000d7ec
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1005caef
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d810
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000d812
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1005caef
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000d837
mov ecx, eax
call fcn.10020847
jmp 0x1000d839
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.1005caef
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d878
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000d87a
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 0x1000d858
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1005caef
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d8b9
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000d8bb
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000d899
cmp edi, 0xc8cdb8
jl 0x1000d897
push 0xc
call fcn.1005caef
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d8f4
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000d8f6
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.100045fd
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.1000d16d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d97a
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000d971
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003b7e
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1005cb1f
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.100045fd
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d16d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d9ef
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000d9e6
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003b7e
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cb1f
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.100045fd
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d16d
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000da64
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000da5b
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003b7e
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cb1f
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.100045fd
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d16d
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000dad6
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000dacd
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10003b7e
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1005cb1f
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