Function at 0x1000d708
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x10080f94
call fcn.1005e3b0
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.1000ff4f
add edi, 0x1c
sub ebx, 1
jne 0x1000d72e
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000d526
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x100e70bc], 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.1000e411
mov edi, eax
cmp edi, 5
je 0x1000d7a9
cmp edi, 0xb
je 0x1000d7a2
cmp edi, 0xf
je 0x1000d79b
cmp edi, 0x14
jne 0x1000d7ae
call fcn.100043f7
jmp 0x1000d7ae
call fcn.100114ab
jmp 0x1000d7ae
call fcn.10011478
jmp 0x1000d7ae
call fcn.10011445
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000d7b6
push 4
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000d7d7
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000d7d9
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000d7f3
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000d7f5
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000d81a
mov ecx, eax
call fcn.1001528b
jmp 0x1000d81c
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000d839
mov dword [eax], vtable.CClockSA.0
jmp 0x1000d83b
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000d85d
mov ecx, eax
call fcn.1001797d
jmp 0x1000d85f
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000d889
push 0xb6f028
mov ecx, eax
call fcn.1000a453
jmp 0x1000d88b
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000d8b3
mov ecx, eax
call fcn.1000baf6
jmp 0x1000d8b5
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000d8dd
mov ecx, eax
call fcn.1000ad4c
jmp 0x1000d8df
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000d907
mov ecx, eax
call fcn.10013c4a
jmp 0x1000d909
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000d931
mov ecx, eax
call fcn.1000cb17
jmp 0x1000d933
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000d950
mov dword [eax], vtable.CHudSA.0
jmp 0x1000d952
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000d977
mov ecx, eax
call fcn.1000cdeb
jmp 0x1000d979
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000d9a1
mov ecx, eax
call fcn.10007ffb
jmp 0x1000d9a3
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1005de4a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d9cc
push 0xb73458
mov ecx, eax
call fcn.1000dff6
jmp 0x1000d9ce
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000d9f3
mov ecx, eax
call fcn.1001d9ec
jmp 0x1000d9f5
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000da12
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000da14
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000da2e
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000da30
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1005de4a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000da54
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000da56
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000da78
mov ecx, eax
call fcn.1001d98e
jmp 0x1000da7a
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000da97
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000da99
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dab3
mov dword [eax], vtable.CFontSA.0
jmp 0x1000dab5
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dacf
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000dad1
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1005de4a
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1005de4a
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000db01
mov ecx, eax
call fcn.10019b1e
jmp 0x1000db03
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000db28
mov ecx, eax
call fcn.10018d44
jmp 0x1000db2a
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000db47
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000db49
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000db6b
mov ecx, eax
call fcn.1000ba4c
jmp 0x1000db6d
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000db95
mov ecx, eax
call fcn.1000e045
jmp 0x1000db97
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000dbbd
push edi
mov ecx, eax
call fcn.10017cf1
jmp 0x1000dbbf
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000dbe4
mov ecx, eax
call fcn.1000f3de
jmp 0x1000dbe6
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dc03
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000dc05
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000dc2f
push 0x96c048
mov ecx, eax
call fcn.1000ef90
jmp 0x1000dc31
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000dc5c
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001cc9f
jmp 0x1000dc5e
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000dc86
mov ecx, eax
call fcn.10008503
jmp 0x1000dc88
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dca5
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000dca7
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dcc1
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000dcc3
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dcdd
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000dcdf
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1005de4a
pop ecx
test eax, eax
je 0x1000dcf9
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000dcfb
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1005de4a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dd1f
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000dd21
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1005de4a
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000dd46
mov ecx, eax
call fcn.10020d56
jmp 0x1000dd48
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.1005de4a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000dd87
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000dd89
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 0x1000dd67
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1005de4a
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ddc8
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000ddca
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000dda8
cmp edi, 0xc8cdb8
jl 0x1000dda6
push 0xc
call fcn.1005de4a
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000de03
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000de05
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.1000477f
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.1000d67c
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000de89
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000de80
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003d00
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1005de7a
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.1000477f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d67c
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000defe
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000def5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003d00
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005de7a
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.1000477f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d67c
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000df73
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000df6a
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003d00
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005de7a
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.1000477f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d67c
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000dfe5
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000dfdc
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10003d00
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1005de7a
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