Function at 0x582710
Capabilities:
Accept command line arguments
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x98
cmp byte [0x6511e8], 0
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0xb4]
jne 0x582749
mov byte [0x6511e8], 1
mov dword [0x6511e4], 0
push 2
push 0
push 0
push 0x2001
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0
push 0x18
call fcn.00584a20
test eax, eax
pop ecx
pop ecx
jne 0x582778
xor eax, eax
add esp, 0x98
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
push ebp
call fcn.00580e40
test eax, eax
pop ecx
jne 0x582792
xor eax, eax
add esp, 0x98
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea edx, [esp + 0x38]
push edx
push eax
call fcn.00582030
cmp dword [esp + 0x40], 1
pop ecx
mov esi, 1
pop ecx
mov edi, eax
jle 0x5827c7
mov eax, dword [edi + esi*4]
push eax
push 0x25
call fcn.00584a20
inc esi
pop ecx
cmp esi, dword [esp + 0x3c]
pop ecx
jl 0x5827b3
push ebp
call fcn.00580eb0
pop ecx
mov ecx, dword [0x8f437c]
mov dword [ecx], eax
mov eax, dword [0x8f437c]
cmp dword [eax], 0
jne 0x5827f0
xor eax, eax
add esp, 0x98
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
mov ecx, 0x8f43a4
mov dword [eax + 4], ebp
call fcn.0058b7a0
mov ecx, 0x8f43a4
call fcn.0058b930
call fcn.005830d0
test eax, eax
jne 0x58281a
call fcn.00583110
call fcn.00583580
lea eax, [esp + 0x88]
mov ecx, 0x95cc8c
push eax
call fcn.00491bd0
lea eax, [esp + 0x88]
mov ecx, 0x8f43a4
push eax
call fcn.0058bd00
mov edx, dword [0x8f437c]
mov eax, dword [edx]
push 0x80000000
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [0x8f437c]
mov eax, dword [ecx]
push 0x27
push 0
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [0x8f437c]
mov eax, dword [edx]
push eax
push 0x15
call fcn.00584a20
test eax, eax
pop ecx
pop ecx
jne 0x5828b0
mov ecx, dword [0x8f437c]
mov eax, dword [ecx]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push 0x19
call fcn.00584a20
pop ecx
pop ecx
xor eax, eax
add esp, 0x98
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
cmp dword [esp + 0x38], 1
mov esi, 1
jle 0x5828d4
lea eax, [eax]
mov eax, dword [edi + esi*4]
push eax
push 1
call fcn.00584a20
inc esi
pop ecx
cmp esi, dword [esp + 0x3c]
pop ecx
jl 0x5828c0
mov eax, dword [0x8f4364]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], eax
mov eax, dword [0x8f4368]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x54], 0
push 0
call fcn.00584a20
pop ecx
pop ecx
push 2
push 0
push 0
push 0x11
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
push 0
push 0
push 0x56
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
push 0
push 0
push 0x55
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov dword [esp + 0x3c], 8
lea eax, [esp + 0x3c]
push 2
push eax
mov dword [esp + 0x4c], 8
push 8
push 0x3a
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
lea eax, [esp + 0x44]
mov dword [esp + 0x48], 0x100
push 2
push eax
push 8
push 0x3b
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov edx, dword [0x8f437c]
push ebx
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x8f437c]
mov eax, dword [ecx]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.00479080
push 0x60fbf8
push str.gta3.set
call fcn.00479100
mov esi, eax
pop ecx
test esi, esi
pop ecx
je 0x5829b5
mov ecx, 0x8f43a4
push esi
call fcn.0058b870
push esi
call fcn.00479200
pop ecx
push 0x60f73c
call fcn.00479020
pop ecx
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
fild dword [0x8f4364]
mov dword [0x885b88], 1
fmul dword [0x60fc08]
fstp dword [esp + 0x30]
fild dword [0x8f4368]
lea eax, [esp + 0x30]
push eax
fmul dword [0x60fc08]
fstp dword [esp + 0x38]
call fcn.005848e0
mov dword [esp + 0x60], 0x2c
pop ecx
jmp case.default.0x582a6e
lea eax, [esp + 0x14]
push 3
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x582a50
cmp dword [esp + 0x18], 0x12
je 0x582f53
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp case.default.0x582a6e
cmp dword [0x60f000], 0
je 0x582f06
mov edx, dword [0x8f5838]
mov eax, edx
cmp eax, 9
ja case.default.0x582a6e
jmp dword [eax*4 + 0x60fcc0]
mov dword [0x8f5838], 1
jmp case.default.0x582a6e
cmp dword [0x8e2878], 0
jne 0x582a9a
push 0x60fc0c
push ebx
call fcn.00582380
pop ecx
pop ecx
mov dword [0x8f5838], 2
jmp case.default.0x582a6e
call fcn.00492720
cmp dword [0x8e2878], 0
jne 0x582bee
mov ecx, 0x8f43a4
call fcn.0058b7d0
test eax, eax
jne 0x582bee
push 0
call fcn.00492f60
pop ecx
xor cl, cl
cmp byte [0x8809f0], 0
je 0x582af2
xor eax, eax
cmp byte [0x8472a0], 0
jne 0x582aec
inc eax
test al, al
je 0x582af2
mov cl, 1
test cl, cl
jne 0x582bee
push 0
call fcn.00492f60
cmp word [0x6e630c], 0
pop ecx
je 0x582b16
cmp word [0x6f20ac], 0
je 0x582b2a
cmp word [0x6e632a], 0
je 0x582b30
cmp word [0x6f20ca], 0
jne 0x582b30
mov al, 1
jmp 0x582b32
xor al, al
test al, al
jne 0x582bee
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6128], 0
pop ecx
je 0x582b61
xor eax, eax
cmp word [0x6f1ec8], 0
jne 0x582b5b
inc eax
test al, al
je 0x582b61
mov dl, 1
test dl, dl
jne 0x582bee
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6336], 0
pop ecx
mov cl, 1
je 0x582b92
xor eax, eax
cmp word [0x6f20d6], 0
jne 0x582b8c
inc eax
test al, al
je 0x582b92
mov dl, 1
test dl, dl
jne 0x582bbb
xor dl, dl
cmp word [0x6e6338], 0
je 0x582bb5
xor eax, eax
cmp word [0x6f20d8], 0
jne 0x582baf
inc eax
test al, al
je 0x582bb5
mov dl, 1
test dl, dl
jne 0x582bbb
xor cl, cl
test cl, cl
jne 0x582bee
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6326], 0
pop ecx
je 0x582be6
xor eax, eax
cmp word [0x6f20c6], 0
jne 0x582be0
inc eax
test al, al
je 0x582be6
mov dl, 1
test dl, dl
je case.default.0x582a6e
inc dword [0x8f5838]
jmp case.default.0x582a6e
call fcn.00582680
call dword [0x61d684]
cmp dword [0x5f2f78], 0xc
je 0x582c16
cmp dword [0x5f2f78], 7
jne 0x582c20
push str.moviesGTAtitlesGER.mpg
jmp 0x582c25
push str.moviesGTAtitles.mpg
push ebx
call fcn.00582380
pop ecx
pop ecx
mov dword [0x8f5838], 4
jmp case.default.0x582a6e
call fcn.00492720
cmp dword [0x8e2878], 0
jne 0x582d7f
mov ecx, 0x8f43a4
call fcn.0058b7d0
test eax, eax
jne 0x582d7f
push 0
call fcn.00492f60
pop ecx
xor cl, cl
cmp byte [0x8809f0], 0
je 0x582c85
xor eax, eax
cmp byte [0x8472a0], 0
jne 0x582c7f
inc eax
test al, al
je 0x582c85
mov cl, 1
test cl, cl
jne 0x582d7f
push 0
call fcn.00492f60
cmp word [0x6e630c], 0
pop ecx
je 0x582ca9
cmp word [0x6f20ac], 0
je 0x582cbd
cmp word [0x6e632a], 0
je 0x582cc1
cmp word [0x6f20ca], 0
jne 0x582cc1
mov al, 1
jmp 0x582cc3
xor al, al
test al, al
jne 0x582d7f
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6128], 0
pop ecx
je 0x582cf2
xor eax, eax
cmp word [0x6f1ec8], 0
jne 0x582cec
inc eax
test al, al
je 0x582cf2
mov dl, 1
test dl, dl
jne 0x582d7f
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6336], 0
pop ecx
mov cl, 1
je 0x582d23
xor eax, eax
cmp word [0x6f20d6], 0
jne 0x582d1d
inc eax
test al, al
je 0x582d23
mov dl, 1
test dl, dl
jne 0x582d4c
xor dl, dl
cmp word [0x6e6338], 0
je 0x582d46
xor eax, eax
cmp word [0x6f20d8], 0
jne 0x582d40
inc eax
test al, al
je 0x582d46
mov dl, 1
test dl, dl
jne 0x582d4c
xor cl, cl
test cl, cl
jne 0x582d7f
push 0
call fcn.00492f60
xor dl, dl
cmp word [0x6e6326], 0
pop ecx
je 0x582d77
xor eax, eax
cmp word [0x6f20c6], 0
jne 0x582d71
inc eax
test al, al
je 0x582d77
mov dl, 1
test dl, dl
je case.default.0x582a6e
inc dword [0x8f5838]
jmp case.default.0x582a6e
call fcn.00582680
call dword [0x61d684]
push str.loadsc0
push 0
push 0
call fcn.0048d770
add esp, 0xc
call fcn.0048bd50
test al, al
jne 0x582db9
mov dword [0x8f4378], 1
mov dword [0x8f5838], 6
jmp case.default.0x582a6e
push str.loadsc0
push 0
push 0
call fcn.0048d770
add esp, 0xc
cmp dword [0x60effc], 0
mov byte [0x8f5aee], 1
mov byte [0x95ccf4], 1
je 0x582e0e
mov eax, dword [0x6510cc]
mov dword [0x60effc], 0
mov dword [0x8f59d8], eax
mov eax, dword [0x6510cc]
mov dword [0x8f59dc], eax
mov dword [0x8f5838], 7
jmp case.default.0x582a6e
mov ecx, dword [0x8f437c]
lea eax, [esp + 0x5c]
push eax
mov eax, dword [ecx]
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
cmp dword [esp + 0x64], 2
je 0x582e43
push 0
push 0x1b
call fcn.00584a20
pop ecx
pop ecx
cmp byte [0x8f5ae9], 0
je 0x582e55
cmp byte [0x8f5e2c], 0
je 0x582e5f
mov dword [0x8f5838], 8
cmp byte [0x8f5e2c], 0
je case.default.0x582a6e
call fcn.0048e7e0
mov byte [0x8f5aee], 0
mov dword [0x8f5838], 9
jmp case.default.0x582a6e
call fcn.004ad3f0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 8], eax
fild qword [esp + 8]
fstp dword [esp + 4]
call fcn.004ad410
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 8], eax
cmp dword [0x885b88], 0
fldz
fild qword [esp + 8]
fdiv dword [esp + 4]
fstp st(1)
je 0x5830c0
cmp byte [0x5f2e60], 0
je 0x582ef7
fild dword [0x8f4374]
fdivr dword [0x60fc54]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5830c7
push 1
push 0x1a
fstp st(0)
call fcn.00584a20
pop ecx
pop ecx
jmp case.default.0x582a6e
mov eax, dword [0x72676c]
push eax
call fcn.005a5030
test eax, eax
pop ecx
je 0x582f37
mov eax, dword [0x72676c]
push eax
call fcn.005a5020
pop ecx
mov dword [0x60f000], 1
push 1
push 0x26
call fcn.00584a20
pop ecx
pop ecx
call dword [sym.imp.USER32.dll_WaitMessage]
cmp dword [0x8f4378], 0
jne 0x582f53
cmp byte [0x8f5aec], 0
je 0x582a10
mov ecx, 0x8f59d8
mov dword [0x885b88], 0
call fcn.0047a440
cmp byte [0x8f5aec], 0
je 0x583015
call fcn.00494450
call fcn.00492f30
mov ecx, 0x95cdbe
push 3
call fcn.0057ccf0
call fcn.004ad480
cmp byte [0x8f5e2c], 0
je 0x582fd0
call fcn.0048c6b0
call fcn.0048c740
mov ecx, 0x95cdbe
push 1
call fcn.0057ccf0
mov eax, dword [0x941514]
push eax
call fcn.0048d750
pop ecx
push eax
call fcn.0048d550
mov byte [0x8f5e2c], 0
pop ecx
jmp 0x583002
cmp dword [0x8f5838], 9
jne 0x582fde
call fcn.0048c3a0
call fcn.004ad480
cmp byte [0x8f5aed], 1
jne 0x582ff8
mov dword [0x8f5838], 6
jmp 0x583002
mov dword [0x8f5838], 8
mov byte [0x8f5aed], 0
mov byte [0x8f5aec], 0
jmp 0x5829c8
cmp dword [0x8f5838], 9
jne 0x583023
call fcn.0048c3a0
mov ecx, 0x95cdbe
call fcn.0057c780
call fcn.00581480
push 0
push 0x16
call fcn.00584a20
mov edx, dword [0x8f437c]
pop ecx
mov eax, dword [edx]
pop ecx
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push 0x19
call fcn.00584a20
pop ecx
pop ecx
push edi
call fcn.005bd530
pop ecx
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
lea eax, [esp + 0x3c]
push 2
push eax
push 8
push 0x3b
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
push 0
push 1
push 0x56
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
push 0
push 1
push 0x55
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
push 0
push 1
push 0x11
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [esp + 0x1c]
add esp, 0x98
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
fstp st(0)
jmp case.default.0x582a6e
fstp st(0)
jmp case.default.0x582a6e