Function at 0x1000d4dc
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007bcae
call fcn.10056f60
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.1000fd23
add edi, 0x1c
sub ebx, 1
jne 0x1000d502
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000d2fa
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x1011eb60], 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.1000e1e5
mov edi, eax
cmp edi, 5
je 0x1000d57d
cmp edi, 0xb
je 0x1000d576
cmp edi, 0xf
je 0x1000d56f
cmp edi, 0x14
jne 0x1000d582
call fcn.10004d7d
jmp 0x1000d582
call fcn.10011275
jmp 0x1000d582
call fcn.10011242
jmp 0x1000d582
call fcn.1001120f
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000d58a
push 4
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d5ab
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000d5ad
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d5c7
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000d5c9
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000d5ee
mov ecx, eax
call fcn.10015055
jmp 0x1000d5f0
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d60d
mov dword [eax], vtable.CClockSA.0
jmp 0x1000d60f
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000d631
mov ecx, eax
call fcn.10017747
jmp 0x1000d633
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000d65d
push 0xb6f028
mov ecx, eax
call fcn.1000a227
jmp 0x1000d65f
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000d687
mov ecx, eax
call fcn.1000b8ca
jmp 0x1000d689
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000d6b1
mov ecx, eax
call fcn.1000ab20
jmp 0x1000d6b3
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000d6db
mov ecx, eax
call fcn.10013a14
jmp 0x1000d6dd
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000d705
mov ecx, eax
call fcn.1000c8eb
jmp 0x1000d707
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d724
mov dword [eax], vtable.CHudSA.0
jmp 0x1000d726
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000d74b
mov ecx, eax
call fcn.1000cbbf
jmp 0x1000d74d
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000d775
mov ecx, eax
call fcn.10007db5
jmp 0x1000d777
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.10056d13
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d7a0
push 0xb73458
mov ecx, eax
call fcn.1000ddca
jmp 0x1000d7a2
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000d7c7
mov ecx, eax
call fcn.1001d7b6
jmp 0x1000d7c9
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d7e6
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000d7e8
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d802
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000d804
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.10056d13
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d828
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000d82a
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000d84c
mov ecx, eax
call fcn.1001d758
jmp 0x1000d84e
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d86b
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000d86d
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d887
mov dword [eax], vtable.CFontSA.0
jmp 0x1000d889
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d8a3
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000d8a5
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.10056d13
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.10056d13
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000d8d5
mov ecx, eax
call fcn.100198e8
jmp 0x1000d8d7
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000d8fc
mov ecx, eax
call fcn.10018b0e
jmp 0x1000d8fe
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d91b
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000d91d
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000d93f
mov ecx, eax
call fcn.1000b820
jmp 0x1000d941
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000d969
mov ecx, eax
call fcn.1000de19
jmp 0x1000d96b
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000d991
push edi
mov ecx, eax
call fcn.10017abb
jmp 0x1000d993
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000d9b8
mov ecx, eax
call fcn.1000f1b2
jmp 0x1000d9ba
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000d9d7
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000d9d9
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000da03
push 0x96c048
mov ecx, eax
call fcn.1000ed64
jmp 0x1000da05
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000da30
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001ca69
jmp 0x1000da32
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000da5a
mov ecx, eax
call fcn.100082bd
jmp 0x1000da5c
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000da79
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000da7b
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000da95
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000da97
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000dab1
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000dab3
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.10056d13
pop ecx
test eax, eax
je 0x1000dacd
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000dacf
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.10056d13
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000daf3
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000daf5
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.10056d13
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000db1a
mov ecx, eax
call fcn.10020b20
jmp 0x1000db1c
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.10056d13
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000db5b
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000db5d
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 0x1000db3b
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.10056d13
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000db9c
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000db9e
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000db7c
cmp edi, 0xc8cdb8
jl 0x1000db7a
push 0xc
call fcn.10056d13
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dbd7
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000dbd9
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.1000507f
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.1000d450
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000dc5d
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000dc54
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10004788
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.10056d43
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.1000507f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d450
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000dcd2
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000dcc9
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10004788
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10056d43
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.1000507f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d450
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000dd47
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000dd3e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10004788
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10056d43
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.1000507f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d450
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ddb9
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000ddb0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10004788
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.10056d43
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