Function at 0x748710
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x84
push ebx
push 2
xor ebx, ebx
push ebx
push ebx
push 0x2001
mov byte [esp + 0x17], 1
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
call fcn.007468e0
test eax, eax
jne 0x748745
push ebx
push 0x18
call fcn.00619b60
add esp, 8
test eax, eax
jne 0x748751
xor eax, eax
pop ebx
add esp, 0x84
ret 0x10
push ebp
push esi
mov esi, dword [esp + 0x94]
push edi
call fcn.007486a0
test eax, eax
je 0x74886c
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea ecx, [esp + 0x14]
push ecx
call fcn.00746480
mov ebp, dword [esp + 0x18]
mov edi, 1
add esp, 4
cmp ebp, edi
mov dword [esp + 0x18], eax
jle 0x7487a7
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + edi*4]
push eax
push 0x25
call fcn.00619b60
add esp, 8
inc edi
cmp edi, ebp
jl 0x748790
push esi
call fcn.00745560
mov ecx, dword [0xc17054]
mov dword [ecx], eax
mov eax, dword [0xc17054]
mov ecx, dword [eax]
add esp, 4
cmp ecx, ebx
je 0x74886c
mov ecx, 0xb70198
mov dword [eax + 4], esi
call fcn.00530500
mov ecx, 0xb70198
call fcn.00530640
mov eax, dword [0xc17054]
mov ecx, dword [eax + 0x18]
add eax, 0x18
cmp ecx, ebx
jne 0x74880a
push ebx
push eax
push 0x8588b4
push 0x800
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call sub.DINPUT8.dll_DirectInput8Create
cmp eax, ebx
jl 0x748818
push ebx
call fcn.007469a0
add esp, 4
call fcn.007485c0
cmp byte [0xba6818], bl
sete dl
lea eax, [esp + 0x34]
mov ecx, 0xba6744
push edx
push eax
call fcn.0053f2d0
push eax
mov ecx, 0xb70198
call fcn.0052f6f0
mov ecx, dword [0xc17054]
mov edx, dword [ecx]
push edx
push 0x15
call fcn.00619b60
add esp, 8
test eax, eax
jne 0x74887b
mov eax, dword [0xc17054]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
push ebx
push 0x19
call fcn.00619b60
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x84
ret 0x10
cmp dword [0xc92118], ebx
je 0x7488ae
mov eax, dword [0xc17054]
cmp dword [eax + 8], ebx
je 0x7488da
mov edx, dword [eax]
push 0x80000000
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [0xc17054]
mov ecx, dword [eax]
push 0x27
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
jmp 0x7488d4
mov edx, dword [0xc17054]
mov eax, dword [edx]
push 0x80000000
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0xc17054]
mov edx, dword [ecx]
push 0x27
push ebx
push ebx
push ebx
push ebx
push ebx
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, 1
cmp ebp, edi
mov esi, edi
jle 0x7488fb
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + esi*4]
push ecx
push edi
call fcn.00619b60
add esp, 8
inc esi
cmp esi, ebp
jl 0x7488e5
mov edx, dword [0xc17044]
mov eax, dword [0xc17048]
lea ecx, [esp + 0x34]
push ecx
push ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
call fcn.00619b60
mov ebp, dword [sym.imp.USER32.dll_SystemParametersInfoA]
add esp, 8
push 2
push ebx
push ebx
push 0x11
call ebp
push 2
push ebx
push ebx
push 0x56
call ebp
push 2
push ebx
push ebx
push 0x55
call ebp
push 2
lea edx, [esp + 0x28]
mov esi, 8
push edx
push esi
push 0x3a
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], esi
call ebp
push 2
lea eax, [esp + 0x20]
push eax
push esi
push 0x3b
mov dword [esp + 0x30], 0x100
call ebp
mov ecx, dword [esp + 0xa4]
mov edx, dword [0xc17054]
mov eax, dword [edx]
push ecx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0xc17054]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.00538860
push 0x859c6c
push str.gta_sa.set
call fcn.00538900
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x7489d4
push esi
mov ecx, 0xb70198
call fcn.00530530
test al, al
jne 0x7489cb
mov ecx, 0xb70198
call fcn.00531f20
push esi
call fcn.005389d0
add esp, 4
push 0x858b54
call fcn.005387d0
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov esi, dword [esp + 0xa4]
nop
fild dword [0xc17044]
lea eax, [esp + 0x2c]
push eax
mov dword [0xc920e8], edi
fmul dword [0x858b8c]
fstp dword [esp + 0x30]
fild dword [0xc17048]
fmul dword [0x858b8c]
fstp dword [esp + 0x34]
call fcn.006194a0
add esp, 4
mov ecx, 0xc92134
mov dword [esp + 0x68], 0x2c
call fcn.00747180
cmp dword [0xc17050], ebx
jne 0x748dd5
cmp byte [0xba67a5], bl
jne 0x748dd5
push 3
push ebx
push ebx
push ebx
lea ecx, [esp + 0x5c]
push ecx
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x748a87
cmp dword [esp + 0x50], 0x12
je 0x748dd5
lea edx, [esp + 0x4c]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x748dc9
cmp dword [0x8d621c], ebx
je 0x748db3
mov eax, dword [0xc8d4c0]
cmp eax, 9
ja case.default.0x748aa1
jmp dword [eax*4 + 0x748ef8]
push ebx
push edi
call fcn.005900b0
push edi
push edi
call fcn.005902b0
call fcn.00590860
call fcn.00590990
push ebx
call fcn.0058ff10
push edi
push edi
call fcn.005900b0
push edi
push edi
call fcn.005902b0
call fcn.00590860
call fcn.00590990
push ebx
call fcn.0058ff10
add esp, 0x28
mov dword [0xc8d4c0], edi
jmp case.default.0x748aa1
cmp dword [0xc920cc], ebx
jne 0x748b08
push str.moviesLogo.mpg
push esi
call fcn.00747660
add esp, 8
mov dword [0xc8d4c0], 2
jmp case.default.0x748aa1
call fcn.00541dd0
cmp dword [0xc920cc], ebx
jne 0x748bbe
mov ecx, 0xb70198
call fcn.0052d1e0
test eax, eax
jne 0x748bbe
push ebx
call fcn.0053fb70
mov ecx, eax
add esp, 4
call fcn.0053eff0
test al, al
jne 0x748bbe
push ebx
call fcn.0053fb70
mov al, byte [0xb73418]
add esp, 4
cmp al, bl
je 0x748b68
cmp byte [0xb7342c], bl
je 0x748bbe
push ebx
call fcn.0053fb70
add esp, 4
mov ecx, eax
call fcn.004d5980
test al, al
jne 0x748bbe
push 0x20
push ebx
call fcn.0053fb70
add esp, 4
mov ecx, eax
call fcn.004d59b0
test al, al
jne 0x748bbe
push ebx
call fcn.0053fb70
add esp, 4
mov ecx, eax
call fcn.00744d50
test al, al
jne 0x748bbe
push ebx
call fcn.0053fb70
add esp, 4
mov ecx, eax
call fcn.00744d90
test al, al
je case.default.0x748aa1
inc dword [0xc8d4c0]
jmp case.default.0x748aa1
mov eax, dword [0xc920d8]
cmp eax, ebx
je 0x748bd8
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
call fcn.00746740
mov eax, dword [0xba67c4]
cmp eax, 0xc
je 0x748bf3
cmp eax, 7
je 0x748bf3
push str.moviesGTAtitles.mpg
jmp 0x748bf8
push str.moviesGTAtitlesGER.mpg
push esi
call fcn.00747660
mov dword [0xc8d4c0], 4
jmp 0x748da0
mov eax, dword [0xc920d8]
cmp eax, ebx
je 0x748c1c
mov edx, dword [eax]
push eax
call dword [edx + 0x24]
call fcn.00746740
push ebx
push edi
call fcn.005902b0
add esp, 8
call fcn.00590860
call fcn.005ba160
test al, al
jne 0x748c3f
mov dword [0xc17050], edi
call fcn.005bfa90
mov dword [0xc8d4c0], 6
call fcn.007fad20
mov eax, dword [eax + 0x24]
shr eax, 0x11
and al, 1
mov byte [0xc87ffc], al
jmp case.default.0x748aa1
cmp dword [0x8d6218], ebx
mov byte [0xba677b], 1
mov byte [0xba6831], 1
je 0x748c90
mov eax, dword [0x8d6220]
mov dword [0xba681c], eax
mov dword [0xba6820], eax
mov dword [0x8d6218], ebx
mov dword [0xc8d4c0], 7
call fcn.00590990
jmp case.default.0x748aa1
mov edx, dword [0xc17054]
mov eax, dword [edx]
lea ecx, [esp + 0x68]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
cmp dword [esp + 0x70], 2
je 0x748cca
push ebx
push 0x1b
call fcn.00619b60
add esp, 8
cmp byte [0xba67a4], bl
mov al, byte [0xba67a8]
je 0x748cdf
cmp al, bl
je case.default.0x748aa1
cmp al, bl
mov dword [0xc8d4c0], 8
je case.default.0x748aa1
mov ecx, 0xb6bc90
call fcn.00507410
call fcn.0053e580
mov ecx, 0xb6bc90
mov dword [0xc8d4c0], 9
mov byte [0xba6831], bl
call fcn.005078f0
jmp case.default.0x748aa1
call fcn.00561a80
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x748d36
fadd dword [0x858c54]
fstp dword [esp + 0x14]
call fcn.00561a40
test eax, eax
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
jge 0x748d51
fadd dword [0x858c54]
fdivr dword [esp + 0x14]
mov eax, dword [0xc920e8]
cmp eax, ebx
fstp dword [esp + 0x14]
je case.default.0x748aa1
cmp byte [0xba6794], bl
jne 0x748d81
cmp byte [0xa43088], 1
je 0x748d81
mov ecx, 0xb6bc90
call fcn.005071d0
test al, al
je 0x748d98
fild dword [0xc1704c]
fdivr dword [0x858c4c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp case.default.0x748aa1
push edi
push 0x1a
call fcn.00619b60
add esp, 8
cmp dword [0xc920ec], ebx
jne 0x748dc9
mov dword [0xc920ec], edi
jmp 0x748dc9
cmp dword [0xc920ec], edi
jne 0x748dc1
mov dword [0xc920ec], ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0xc17050], ebx
je 0x748a41
mov ecx, 0xba6748
mov dword [0xc920e8], ebx
call fcn.00574630
cmp byte [0xba67a5], bl
je 0x748e62
call fcn.00438450
call fcn.00541d70
call fcn.00561aa0
cmp byte [0xba67a8], bl
je 0x748e16
call fcn.0053c550
call fcn.0053c680
mov byte [0xba67a8], bl
jmp 0x748e4d
cmp byte [esp + 0x13], bl
je 0x748e39
call fcn.00561aa0
mov al, byte [0xba67a6]
xor ecx, ecx
cmp al, 1
setne cl
lea ecx, [ecx + ecx + 6]
mov dword [0xc8d4c0], ecx
jmp 0x748e4d
call fcn.00438450
call fcn.0053c550
call fcn.00561aa0
call fcn.0053c680
mov byte [esp + 0x13], bl
mov byte [0xba67a6], bl
mov byte [0xba67a5], bl
jmp 0x7489f0
cmp dword [0xc8d4c0], 9
jne 0x748e70
call fcn.0053c900
mov ecx, 0xb6bc90
call fcn.00507cb0
call fcn.00745a80
push ebx
push 0x16
call fcn.00619b60
mov edx, dword [0xc17054]
mov eax, dword [edx]
add esp, 8
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push ebx
push 0x19
call fcn.00619b60
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0082413f
add esp, 0xc
push edi
call dword [sym.imp.USER32.dll_ShowCursor]
push 2
lea edx, [esp + 0x28]
push edx
push 8
push 0x3b
call ebp
push 2
push ebx
push edi
push 0x56
call ebp
push 2
push ebx
push edi
push 0x55
call ebp
push 2
push ebx
push edi
push 0x11
call ebp
call fcn.0072f3c0
push ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 0x10