Function at 0x1000e331
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, 0x1007fc99
call fcn.1005cf54
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.10010b78
add edi, 0x1c
sub ebx, 1
jne 0x1000e357
lea ebx, [esi + 0x1c01e0]
mov dword [ebp - 0x18], ebx
and dword [ebx], 0
and dword [ebx + 4], 0
push ebx
call fcn.1000e14f
pop ecx
mov dword [ebx], eax
lea eax, [ebp - 0x20]
mov dword [0x101228d4], 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.1000f03a
mov edi, eax
cmp edi, 5
je 0x1000e3d2
cmp edi, 0xb
je 0x1000e3cb
cmp edi, 0xf
je 0x1000e3c4
cmp edi, 0x14
jne 0x1000e3d7
call fcn.100046df
jmp 0x1000e3d7
call fcn.100120d4
jmp 0x1000e3d7
call fcn.100120a1
jmp 0x1000e3d7
call fcn.1001206e
mov eax, ebx
lea ecx, [esi + 0x14c]
mov dword [ecx], eax
inc eax
lea ecx, [ecx + 0x1c]
cmp eax, 0xffff
jl 0x1000e3df
push 4
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e400
mov dword [eax], vtable.CAudioSA.0
jmp 0x1000e402
mov eax, ebx
push 4
mov dword [esi + 0x1c01ac], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e41c
mov dword [eax], vtable.CWorldSA.0
jmp 0x1000e41e
mov eax, ebx
push 0x13888
mov dword [esi + 0x1c0160], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x1000e443
mov ecx, eax
call fcn.10015eb4
jmp 0x1000e445
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0128], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e462
mov dword [eax], vtable.CClockSA.0
jmp 0x1000e464
mov eax, ebx
push 4
mov dword [esi + 0x1c013c], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x1000e486
mov ecx, eax
call fcn.100185a6
jmp 0x1000e488
mov eax, ebx
push 0x14
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0134], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x1000e4b2
push 0xb6f028
mov ecx, eax
call fcn.1000b07c
jmp 0x1000e4b4
mov eax, ebx
push 0x104
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0164], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x1000e4dc
mov ecx, eax
call fcn.1000c71f
jmp 0x1000e4de
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0140], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1000e506
mov ecx, eax
call fcn.1000b975
jmp 0x1000e508
mov eax, ebx
push 0x9b4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0144], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x1000e530
mov ecx, eax
call fcn.10014873
jmp 0x1000e532
mov eax, ebx
push 0xc4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c016c], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x1000e55a
mov ecx, eax
call fcn.1000d740
jmp 0x1000e55c
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0174], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e579
mov dword [eax], vtable.CHudSA.0
jmp 0x1000e57b
mov eax, ebx
push 0xf4
mov dword [esi + 0x1c0154], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x1000e5a0
mov ecx, eax
call fcn.1000da14
jmp 0x1000e5a2
mov eax, ebx
push 0x84
mov byte [ebp - 4], bl
mov dword [esi + 0x1c014c], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x1000e5ca
mov ecx, eax
call fcn.10008c24
jmp 0x1000e5cc
mov eax, ebx
push 0x13c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0178], eax
call fcn.1005cd06
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e5f5
push 0xb73458
mov ecx, eax
call fcn.1000ec1f
jmp 0x1000e5f7
mov eax, ebx
push 0x7d0
mov dword [esi + 0x1c01a0], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x1000e61c
mov ecx, eax
call fcn.1001e615
jmp 0x1000e61e
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01a4], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e63b
mov dword [eax], vtable.CAERadioTrackManagerSA.0
jmp 0x1000e63d
mov eax, ebx
push 4
mov dword [esi + 0x1c01a8], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e657
mov dword [eax], vtable.CWeatherSA.0
jmp 0x1000e659
mov eax, ebx
push 8
mov dword [esi + 0x1c015c], eax
call fcn.1005cd06
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e67d
mov dword [eax], vtable.CMenuManagerSA.0
mov dword [eax + 4], 0xba6748
jmp 0x1000e67f
mov eax, ebx
push 4
mov dword [esi + 0x1c01b0], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1000e6a1
mov ecx, eax
call fcn.1001e5b7
jmp 0x1000e6a3
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01b4], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e6c0
mov dword [eax], vtable.CStatsSA.0
jmp 0x1000e6c2
mov eax, ebx
push 4
mov dword [esi + 0x1c01b8], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e6dc
mov dword [eax], vtable.CFontSA.0
jmp 0x1000e6de
mov eax, ebx
push 4
mov dword [esi + 0x1c01bc], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e6f8
mov dword [eax], vtable.CPathFindSA.0
jmp 0x1000e6fa
mov eax, ebx
push 1
mov dword [esi + 0x1c01c0], eax
call fcn.1005cd06
push 8
mov dword [esi + 0x1c01c4], eax
call fcn.1005cd06
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x1000e72a
mov ecx, eax
call fcn.1001a747
jmp 0x1000e72c
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01c8], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x1000e751
mov ecx, eax
call fcn.1001996d
jmp 0x1000e753
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d0], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e770
mov dword [eax], vtable.CCarEnterExitSA.0
jmp 0x1000e772
mov eax, ebx
push 4
mov dword [esi + 0x1c01d4], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x1000e794
mov ecx, eax
call fcn.1000c675
jmp 0x1000e796
mov eax, ebx
push 0x88
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01d8], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x1000e7be
mov ecx, eax
call fcn.1000ec6e
jmp 0x1000e7c0
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0130], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x1000e7e6
push edi
mov ecx, eax
call fcn.1001891a
jmp 0x1000e7e8
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c017c], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x1000e80d
mov ecx, eax
call fcn.10010007
jmp 0x1000e80f
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0180], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e82c
mov dword [eax], vtable.CEventListSA.0
jmp 0x1000e82e
mov eax, ebx
push 0xd0
mov dword [esi + 0x1c0148], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x1000e858
push 0x96c048
mov ecx, eax
call fcn.1000fbb9
jmp 0x1000e85a
mov eax, ebx
push 8
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0150], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x1000e885
push dword [esi + 0x1c01c8]
mov ecx, eax
call fcn.1001d8c8
jmp 0x1000e887
mov eax, ebx
push 0xe1c
mov byte [ebp - 4], bl
mov dword [esi + 0x1c01cc], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x1000e8af
mov ecx, eax
call fcn.1000912c
jmp 0x1000e8b1
mov eax, ebx
push 4
mov byte [ebp - 4], bl
mov dword [esi + 0x1c0184], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e8ce
mov dword [eax], vtable.CStreamingSA.0
jmp 0x1000e8d0
mov eax, ebx
push 4
mov dword [esi + 0x1c0188], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e8ea
mov dword [eax], vtable.CVisibilityPluginsSA.0
jmp 0x1000e8ec
mov eax, ebx
push 4
mov dword [esi + 0x1c018c], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e906
mov dword [eax], vtable.CKeyGenSA.0
jmp 0x1000e908
mov eax, ebx
push 4
mov dword [esi + 0x1c0190], eax
call fcn.1005cd06
pop ecx
test eax, eax
je 0x1000e922
mov dword [eax], vtable.CRopesSA.0
jmp 0x1000e924
mov eax, ebx
push 8
mov dword [esi + 0x1c0194], eax
call fcn.1005cd06
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e948
mov dword [eax], vtable.CFxSA.0
mov dword [eax + 4], 0xa9ae00
jmp 0x1000e94a
mov eax, ebx
push 0xe0cc
mov dword [esi + 0x1c0198], eax
call fcn.1005cd06
pop ecx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x1000e96f
mov ecx, eax
call fcn.1002197c
jmp 0x1000e971
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.1005cd06
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e9b0
lea ecx, [esi + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], ebx
mov dword [eax + 4], ecx
jmp 0x1000e9b2
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 0x1000e990
mov eax, dword [ebp - 0x14]
add eax, 0xc0
mov esi, eax
xor ebx, ebx
push 0xc
call fcn.1005cd06
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000e9f1
lea ecx, [ebx + 0x16]
mov dword [eax], vtable.CWeaponInfoSA.0
mov dword [eax + 8], edi
mov dword [eax + 4], ecx
jmp 0x1000e9f3
xor eax, eax
mov dword [esi], eax
inc ebx
add edi, 0x70
add esi, 4
cmp ebx, 0xb
jl 0x1000e9d1
cmp edi, 0xc8cdb8
jl 0x1000e9cf
push 0xc
call fcn.1005cd06
xor ebx, ebx
mov dword [ebp - 0x18], eax
pop ecx
test eax, eax
je 0x1000ea2c
mov dword [eax], vtable.CPlayerInfoSA.0
mov dword [eax + 4], 0xb7cd98
mov dword [eax + 8], ebx
jmp 0x1000ea2e
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.100049a3
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.1000e2a5
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969152
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eab2
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
cmp eax, 0x1000
jb 0x1000eaa9
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100040ea
mov eax, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
push eax
push ecx
call fcn.1005cd36
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.100049a3
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e2a5
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969160
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eb27
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000eb1e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100040ea
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cd36
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.100049a3
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e2a5
mov byte [ebp - 4], bl
mov eax, dword [eax]
mov dword [eax + 0x28], 0x969161
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000eb9c
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
cmp eax, 0x1000
jb 0x1000eb93
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.100040ea
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
push eax
push ecx
call fcn.1005cd36
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.100049a3
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.1000e2a5
mov eax, dword [eax]
mov dword [eax + 0x28], 0x96916c
mov eax, dword [ebp - 0x24]
cmp eax, 0x10
jb 0x1000ec0e
mov ecx, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x1000ec05
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.100040ea
mov eax, dword [ebp - 0x18]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push ecx
call fcn.1005cd36
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