Function at 0x1000d0e1
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007d7c2
call fcn.100589b8
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.1000f928
add edi, 0x1c
sub ebx, 1
jne 0x1000d107
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000ceff
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x10120670], 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.1000ddea
mov edi, eax
cmp edi, 5
je 0x1000d182
cmp edi, 0xb
je 0x1000d17b
cmp edi, 0xf
je 0x1000d174
cmp edi, 0x14
jne 0x1000d187
call fcn.10004144
jmp 0x1000d187
call fcn.10010e84
jmp 0x1000d187
call fcn.10010e51
jmp 0x1000d187
call fcn.10010e1e
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000d18f
push 4
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d1b0
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000d1b2
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d1cc
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000d1ce
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000d1f3
mov ecx, eax
call fcn.10014c64
jmp 0x1000d1f5
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d212
mov dword [eax], vtable.CClockSA.0
jmp 0x1000d214
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000d236
mov ecx, eax
call fcn.10017356
jmp 0x1000d238
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000d262
push 0xb6f028
mov ecx, eax
call fcn.10009e2e
jmp 0x1000d264
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000d28c
mov ecx, eax
call fcn.1000b4d1
jmp 0x1000d28e
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000d2b6
mov ecx, eax
call fcn.1000a727
jmp 0x1000d2b8
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000d2e0
mov ecx, eax
call fcn.10013623
jmp 0x1000d2e2
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000d30a
mov ecx, eax
call fcn.1000c4f0
jmp 0x1000d30c
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d329
mov dword [eax], vtable.CHudSA.0
jmp 0x1000d32b
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000d350
mov ecx, eax
call fcn.1000c7c4
jmp 0x1000d352
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000d37a
mov ecx, eax
call fcn.100079bc
jmp 0x1000d37c
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.10058769
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d3a5
push 0xb73458
mov ecx, eax
call fcn.1000d9cf
jmp 0x1000d3a7
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000d3cc
mov ecx, eax
call fcn.1001d3c5
jmp 0x1000d3ce
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d3eb
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000d3ed
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d407
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000d409
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.10058769
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d42d
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000d42f
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000d451
mov ecx, eax
call fcn.1001d367
jmp 0x1000d453
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d470
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000d472
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d48c
mov dword [eax], vtable.CFontSA.0
jmp 0x1000d48e
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d4a8
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000d4aa
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.10058769
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.10058769
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000d4da
mov ecx, eax
call fcn.100194f7
jmp 0x1000d4dc
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000d501
mov ecx, eax
call fcn.1001871d
jmp 0x1000d503
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d520
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000d522
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000d544
mov ecx, eax
call fcn.1000b427
jmp 0x1000d546
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000d56e
mov ecx, eax
call fcn.1000da1e
jmp 0x1000d570
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000d596
push edi
mov ecx, eax
call fcn.100176ca
jmp 0x1000d598
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000d5bd
mov ecx, eax
call fcn.1000edb7
jmp 0x1000d5bf
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d5dc
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000d5de
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000d608
push 0x96c048
mov ecx, eax
call fcn.1000e969
jmp 0x1000d60a
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000d635
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001c678
jmp 0x1000d637
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000d65f
mov ecx, eax
call fcn.10007ec4
jmp 0x1000d661
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d67e
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000d680
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d69a
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000d69c
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d6b6
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000d6b8
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.10058769
pop ecx
test eax, eax
je 0x1000d6d2
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000d6d4
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.10058769
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d6f8
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000d6fa
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.10058769
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000d71f
mov ecx, eax
call fcn.1002072f
jmp 0x1000d721
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.10058769
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d760
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000d762
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 0x1000d740
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.10058769
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d7a1
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000d7a3
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000d781
cmp edi, 0xc8cdb8
jl 0x1000d77f
push 0xc
call fcn.10058769
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000d7dc
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000d7de
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.10004408
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.1000d055
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d862
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000d859
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10003b4f
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.10058799
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.10004408
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d055
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d8d7
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000d8ce
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003b4f
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10058799
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.10004408
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d055
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d94c
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000d943
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.10003b4f
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.10058799
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.10004408
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000d055
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000d9be
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000d9b5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10003b4f
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.10058799
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