Function at 0x100070f0
Capabilities:
Accept command line arguments
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
lea ebp, [esp - 0x150]
sub esp, 0x150
push 0xffffffffffffffff
push 0x1002fe20
mov eax, dword fs:[0]
push eax
sub esp, 0x26c
mov eax, dword [0x10040054]
xor eax, ebp
mov dword [ebp + 0x14c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
lea eax, [ebp - 0x58]
mov dword [ebp - 0x10], 0
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 0x4a3000
push 0x401000
call ebx
push 0x40
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.1000ec5f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
sub esp, 0x18
mov edx, esp
mov ecx, esi
mov dword [edx], 0
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100071a4
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10001a30
lea ecx, [ebp - 0x60]
call fcn.10001210
mov edx, eax
add esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0x14], edx
cmp eax, edx
je 0x10007236
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], 0
jne 0x10007211
nop dword [eax]
push dword [edi + 8]
lea eax, [ebp - 0x20]
push eax
mov ecx, eax
call fcn.10001fd0
mov esi, edi
mov edi, dword [edi]
lea ecx, [esi + 0x10]
call fcn.10002020
push 0x40
push esi
call fcn.1000efa9
add esp, 8
cmp byte [edi + 0xd], 0
je 0x100071e0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [eax + 4], eax
mov dword [eax], eax
mov dword [eax + 8], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], 0
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
mov eax, dword [edx + 4]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [edx + 4], ecx
lea eax, [ebp - 0x60]
push eax
mov ecx, eax
call fcn.10001d20
push 4
mov dword [ebp + 0x30], 0
lea ecx, [ebp + 0x30]
push str.Host
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x44], 0xf
mov byte [ebp + 0x30], 0
call fcn.10001a30
lea eax, [ebp + 0x30]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x20]
call fcn.100019b0
mov esi, dword [eax + 0x10]
mov byte [ebp - 4], 0
mov edx, dword [ebp + 0x44]
cmp edx, 0x10
jb 0x100072b4
mov ecx, dword [ebp + 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100072aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000884b
push edx
push ecx
call fcn.1000efa9
add esp, 8
test esi, esi
je 0x100072bd
call fcn.1000d5a0
call fcn.1000d2c0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.samp.dll
call esi
test eax, eax
je 0x10007a75
cmp dword [0x550f82], 0x1f40
je 0x100072ed
mov dword [0x550f82], 0x1f40
cmp byte [0x742685], 0x90
je 0x100072fd
mov byte [0x742685], 0x90
cmp byte [0x742686], 0xe9
je 0x1000730d
mov byte [0x742686], 0xe9
cmp byte [0x7399b0], 0xc3
je 0x1000731d
mov byte [0x7399b0], 0xc3
cmp byte [0x4629e0], 0xc3
je 0x1000732d
mov byte [0x4629e0], 0xc3
cmp byte [0x4e8410], 0xc3
je 0x1000733d
mov byte [0x4e8410], 0xc3
cmp byte [0x614720], 0x32
je 0x1000734d
mov byte [0x614720], 0x32
cmp byte [0x614721], 0xc0
je 0x1000735d
mov byte [0x614721], 0xc0
cmp byte [0x614722], 0xc3
je 0x1000736d
mov byte [0x614722], 0xc3
cmp byte [0x61effe], 0xeb
je 0x1000737d
mov byte [0x61effe], 0xeb
cmp byte [0x441770], 0xc3
je 0x1000738d
mov byte [0x441770], 0xc3
cmp byte [0x532010], 0xc3
je 0x1000739d
mov byte [0x532010], 0xc3
mov eax, 0x4dcf87
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
cmp byte [0x6a436c], 0x90
je 0x100073bd
mov byte [0x6a436c], 0x90
cmp byte [0x6a436d], 0x90
je 0x100073cd
mov byte [0x6a436d], 0x90
push 0x53
push 0x90
push 0x738f3a
call fcn.10010b10
mov eax, 0x6b5b17
mov ecx, 0x90909090
add esp, 0xc
mov dword [eax], ecx
mov word [eax + 4], cx
cmp byte [0x5b8342], 0x33
je 0x10007401
mov byte [0x5b8342], 0x33
cmp byte [0x5b8343], 0xc0
je 0x10007411
mov byte [0x5b8343], 0xc0
cmp byte [0x5b8344], 0xb0
je 0x10007421
mov byte [0x5b8344], 0xb0
cmp byte [0x5b8345], 0xff
je 0x10007431
mov byte [0x5b8345], 0xff
cmp byte [0x5b8346], 0x8b
je 0x10007441
mov byte [0x5b8346], 0x8b
cmp byte [0x5b8347], 0xf8
je 0x10007451
mov byte [0x5b8347], 0xf8
mov eax, 0x4486f7
mov dword [eax], ecx
mov eax, 0x559fd5
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
mov eax, 0x559feb
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
mov eax, 0x55b980
mov byte [eax], 0xc3
mov eax, 0x559760
mov byte [eax], 0xc3
cmp byte [0x53bc78], 0
je 0x10007494
mov byte [0x53bc78], 0
cmp byte [0x6f2089], 0x58
je 0x100074a4
mov byte [0x6f2089], 0x58
mov eax, 0x6f208a
mov dword [eax], ecx
cmp byte [0x550fba], 0
je 0x100074bb
mov byte [0x550fba], 0
cmp byte [0x550fbb], 0x10
je 0x100074cb
mov byte [0x550fbb], 0x10
cmp byte [0x5e68a0], 0xeb
je 0x100074db
mov byte [0x5e68a0], 0xeb
cmp byte [0x561fa4], 0x90
je 0x100074eb
mov byte [0x561fa4], 0x90
cmp byte [0x561fa5], 0x90
je 0x100074fb
mov byte [0x561fa5], 0x90
mov eax, 0x53bff6
mov dword [eax], ecx
mov byte [eax + 4], 0x90
mov eax, 0x60ebcc
mov dword [eax], ecx
mov byte [eax + 4], 0x90
cmp byte [0x632140], 0xb0
je 0x10007521
mov byte [0x632140], 0xb0
cmp byte [0x632141], 1
je 0x10007531
mov byte [0x632141], 1
cmp byte [0x632142], 0xc3
je 0x10007541
mov byte [0x632142], 0xc3
cmp byte [0x644c18], 0x90
je 0x10007551
mov byte [0x644c18], 0x90
cmp byte [0x644c19], 0xe9
je 0x10007561
mov byte [0x644c19], 0xe9
mov eax, 0x5e8e84
mov dword [eax], ecx
mov byte [eax + 4], 0x90
mov eax, 0x6d29cb
mov dword [eax], ecx
mov byte [eax + 4], 0x90
cmp byte [0x6872c0], 0xc2
je 0x10007587
mov byte [0x6872c0], 0xc2
cmp byte [0x6872c1], 4
je 0x10007597
mov byte [0x6872c1], 4
cmp byte [0x6872c2], 0
je 0x100075a7
mov byte [0x6872c2], 0
mov eax, 0x6f701d
mov dword [eax], ecx
mov word [eax + 4], cx
cmp byte [0x6f7069], 0xeb
je 0x100075c2
mov byte [0x6f7069], 0xeb
cmp byte [0x73fdf9], 0xeb
je 0x100075d2
mov byte [0x73fdf9], 0xeb
push 0x53
push 0x90
push 0x738f3a
call fcn.10010b10
mov eax, 0x6d65c5
mov ecx, 0x90909090
add esp, 0xc
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov word [eax + 8], cx
mov byte [eax + 0xa], cl
cmp byte [0x547441], 0xe9
je 0x1000760c
mov byte [0x547441], 0xe9
cmp byte [0x547442], 0xfa
je 0x1000761c
mov byte [0x547442], 0xfa
cmp byte [0x547443], 2
je 0x1000762c
mov byte [0x547443], 2
cmp byte [0x547444], 0
je 0x1000763c
mov byte [0x547444], 0
cmp byte [0x547445], 0
je 0x1000764c
mov byte [0x547445], 0
cmp byte [0x522c80], 0xc3
je 0x1000765c
mov byte [0x522c80], 0xc3
cmp byte [0x53a982], 0xeb
je 0x1000766c
mov byte [0x53a982], 0xeb
mov eax, 0x9090
cmp word [0x745bc9], ax
je 0x10007680
mov word [0x745bc9], ax
cmp word [0x7459e1], ax
je 0x1000768f
mov word [0x7459e1], ax
cmp byte [0x4f9cce], 0xce
je 0x1000769f
mov byte [0x4f9cce], 0xce
cmp byte [0x576ccc], 0xeb
je 0x100076af
mov byte [0x576ccc], 0xeb
cmp byte [0x576eba], 0xeb
je 0x100076bf
mov byte [0x576eba], 0xeb
cmp byte [0x576f8a], 0xeb
je 0x100076cf
mov byte [0x576f8a], 0xeb
cmp dword [0x7469a0], 0x909000b0
je 0x100076e5
mov dword [0x7469a0], 0x909000b0
mov dword [0x5effe0], 0x900018c2
cmp byte [0x40e7df], 0xeb
je 0x100076ff
mov byte [0x40e7df], 0xeb
cmp byte [0x611fc0], 0xc3
je 0x1000770f
mov byte [0x611fc0], 0xc3
cmp byte [0x616698], 0x5e
je 0x1000771f
mov byte [0x616698], 0x5e
cmp byte [0x616699], 0xc3
je 0x1000772f
mov byte [0x616699], 0xc3
cmp byte [0x460500], 0xc3
je 0x1000773f
mov byte [0x460500], 0xc3
cmp byte [0x605a30], 0xc3
je 0x1000774f
mov byte [0x605a30], 0xc3
cmp byte [0x446610], 0xc3
je 0x1000775f
mov byte [0x446610], 0xc3
cmp byte [0x43c590], 0xc3
je 0x1000776f
mov byte [0x43c590], 0xc3
cmp byte [0x43b0f0], 0xc3
je 0x1000777f
mov byte [0x43b0f0], 0xc3
cmp byte [0x4322b0], 0xc3
je 0x1000778f
mov byte [0x4322b0], 0xc3
cmp byte [0x40b650], 0xc3
je 0x1000779f
mov byte [0x40b650], 0xc3
cmp dword [0x54f3a1], 0x708
je 0x100077b5
mov dword [0x54f3a1], 0x708
movss xmm0, dword [0x71240e]
ucomiss xmm0, dword [0x1003d0c8]
mov dword [ebp - 0x10], 0x41a00000
lahf
test ah, 0x44
jnp 0x100077d9
mov eax, dword [ebp - 0x10]
mov dword [0x71240e], eax
movss xmm0, dword [0x712413]
ucomiss xmm0, dword [0x1003d0c0]
mov dword [ebp - 0x10], 0x41400000
lahf
test ah, 0x44
jnp 0x100077fd
mov eax, dword [ebp - 0x10]
mov dword [0x712413], eax
movss xmm0, dword [0x712447]
ucomiss xmm0, dword [0x1003d0cc]
mov dword [ebp - 0x10], 0x41b80000
lahf
test ah, 0x44
jnp 0x10007821
mov eax, dword [ebp - 0x10]
mov dword [0x712447], eax
movss xmm0, dword [0x71244c]
ucomiss xmm0, dword [0x1003d0c4]
mov dword [ebp - 0x10], 0x41600000
lahf
test ah, 0x44
jnp 0x10007845
mov eax, dword [ebp - 0x10]
mov dword [0x71244c], eax
mov eax, 0x508450
mov dword [eax], ecx
mov word [eax + 4], cx
mov eax, 0x508817
mov dword [eax], ecx
mov word [eax + 4], cx
cmp byte [0x716380], 0xc3
je 0x1000786b
mov byte [0x716380], 0xc3
cmp byte [0x717180], 0x83
je 0x1000787b
mov byte [0x717180], 0x83
cmp byte [0x717181], 0xec
je 0x1000788b
mov byte [0x717181], 0xec
cmp byte [0x717182], 8
je 0x1000789b
mov byte [0x717182], 8
mov eax, 0x615fe3
mov byte [eax], 0xeb
cmp byte [0x40892a], 0x53
je 0x100078b3
mov byte [0x40892a], 0x53
cmp byte [0x40892b], 0x90
je 0x100078c3
mov byte [0x40892b], 0x90
cmp byte [0x4341c0], 0xc3
je 0x100078d3
mov byte [0x4341c0], 0xc3
cmp byte [0x449c50], 0xc3
je 0x100078e3
mov byte [0x449c50], 0xc3
cmp byte [0x449d10], 0xc3
je 0x100078f3
mov byte [0x449d10], 0xc3
cmp byte [0x40892a], 0x53
je 0x10007903
mov byte [0x40892a], 0x53
cmp byte [0x40892b], 0x90
je 0x10007913
mov byte [0x40892b], 0x90
push str.shadows.asi
call esi
test eax, eax
jne 0x1000792e
cmp byte [0x706ab0], 0xc3
je 0x1000792e
mov byte [0x706ab0], 0xc3
cmp byte [0x542483], 0xeb
je 0x1000793e
mov byte [0x542483], 0xeb
cmp byte [0x5e1e72], 0xe9
je 0x1000794e
mov byte [0x5e1e72], 0xe9
cmp byte [0x5e1e73], 0xb9
je 0x1000795e
mov byte [0x5e1e73], 0xb9
cmp byte [0x5e1e74], 0
je 0x1000796e
mov byte [0x5e1e74], 0
cmp byte [0x5e1e77], 0x90
je 0x1000797e
mov byte [0x5e1e77], 0x90
mov eax, 0x6e1dbc
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
cmp byte [0x6e1d4f], 2
je 0x100079a0
mov byte [0x6e1d4f], 2
cmp byte [0x53a982], 0xeb
je 0x100079b0
mov byte [0x53a982], 0xeb
mov eax, 0x590d7c
mov ecx, 0x590d9f
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
mov eax, 0x590db3
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
mov eax, dword [0x1003c738]
mov dword [ecx], eax
mov al, byte [0x1003c73c]
mov byte [ecx + 4], al
cmp dword [0x54f3a1], 0x708
je 0x100079f8
mov dword [0x54f3a1], 0x708
sub esp, 8
mov edx, 0x1003c758
mov ecx, 0x82c5cc
push 2
call fcn.1000cec0
add esp, 0xc
mov byte [0xbab318], 0
mov edx, str.xxxxxxx
mov byte [0x53e94c], 0
mov ecx, 0x1003c704
call fcn.1000d4b0
mov dword [0x10041f9c], eax
test eax, eax
je 0x10007a75
lea ecx, [ebp - 0x10]
push ecx
push 0x40
push 5
push eax
call ebx
mov esi, dword [0x10041f9c]
lea eax, [ebp - 0x54]
push 0x32
push 0x90
push eax
call fcn.10010b10
mov eax, 0x10006a30
mov byte [ebp - 0x54], 0xe9
sub eax, esi
add esp, 0xc
sub eax, 5
mov dword [ebp - 0x53], eax
mov eax, dword [ebp - 0x54]
mov dword [esi], eax
mov al, byte [ebp - 0x50]
mov byte [esi + 4], al
call fcn.10006270
push 0x32
lea eax, [ebp - 0x54]
push 0x90
push eax
call fcn.10010b10
mov ecx, 0x49ea50
mov byte [ebp - 0x54], 0xe9
mov eax, 0x1000ccd0
sub eax, 0x49ea55
mov dword [ebp - 0x53], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov al, byte [ebp - 0x50]
push 0x32
mov byte [ecx + 4], al
lea eax, [ebp - 0x54]
push 0x90
push eax
call fcn.10010b10
mov eax, 0x1000ccf0
mov byte [ebp - 0x54], 0xe9
sub eax, 0x70bda5
mov ecx, 0x70bda0
mov dword [ebp - 0x53], eax
movq xmm0, qword [ebp - 0x54]
mov al, byte [ebp - 0x4c]
movq qword [ecx], xmm0
push 0x32
mov byte [ecx + 8], al
lea eax, [ebp - 0x54]
push 0x90
push eax
call fcn.10010b10
mov ecx, 0x49f3e8
mov byte [ebp - 0x54], 0xe9
mov eax, 0x1000cd80
sub eax, 0x49f3ed
mov dword [ebp - 0x53], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
mov al, byte [ebp - 0x50]
push 0x32
mov byte [ecx + 4], al
lea eax, [ebp - 0x54]
push 0x90
push eax
call fcn.10010b10
add esp, 0x30
mov byte [ebp - 0x54], 0xe9
mov eax, 0x1000cd10
sub eax, 0x745428
mov dword [ebp - 0x53], eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [0x745423], eax
lea eax, [ebp + 0x48]
push 0x104
push eax
push dword [ebp - 0x18]
mov dword [0x745427], ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp + 0x48]
mov dword [ebp], 0
mov dword [ebp + 0x10], 0
lea edx, [ecx + 1]
mov dword [ebp + 0x14], 0xf
mov byte [ebp], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10007b77
sub ecx, edx
lea eax, [ebp + 0x48]
push ecx
push eax
lea ecx, [ebp]
call fcn.10001a30
mov byte [ebp - 4], 2
lea ecx, [ebp]
push dword [ebp - 0x58]
cmp dword [ebp + 0x14], 0x10
mov esi, dword [ebp + 0x10]
mov edx, esi
cmovae ecx, dword [ebp]
push 1
sub esp, 8
call fcn.10008de0
add esp, 0x10
mov dword [ebp + 0x18], 0
cmp esi, eax
mov dword [ebp + 0x28], 0
lea ecx, [ebp]
mov dword [ebp + 0x2c], 0xf
cmovb eax, esi
mov byte [ebp + 0x18], 0
cmp dword [ebp + 0x14], 0x10
push eax
cmovae ecx, dword [ebp]
push ecx
lea ecx, [ebp + 0x18]
call fcn.10001a30
mov byte [ebp - 4], 3
mov edx, dword [ebp + 0x2c]
mov eax, edx
mov ecx, dword [ebp + 0x28]
sub eax, ecx
push 0xc
push str.crashes.cfg
cmp eax, 0xc
jb 0x10007c1f
cmp edx, 0x10
lea esi, [ebp + 0x18]
lea eax, [ecx + 0xc]
cmovae esi, dword [ebp + 0x18]
add esi, ecx
mov dword [ebp + 0x28], eax
push esi
call fcn.10010580
add esp, 0xc
mov byte [esi + 0xc], 0
jmp 0x10007c30
mov byte [ebp - 0x18], 0
lea ecx, [ebp + 0x18]
push dword [ebp - 0x18]
push 0xc
call fcn.10005610
cmp dword [ebp + 0x2c], 0x10
lea esi, [ebp + 0x18]
mov dword [ebp - 0x118], 0x1003d058
cmovae esi, dword [ebp + 0x18]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x108]
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x10], 3
push eax
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0xac], 0x58
movlpd qword [ebp - 0x110], xmm0
call fcn.10004b20
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x11c], eax
lea ecx, [ebp - 0x108]
call fcn.100046c0
push ecx
push 1
push esi
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 7
call fcn.10004600
test eax, eax
jne 0x10007d1c
mov eax, dword [ebp - 0x118]
lea ecx, [ebp - 0x118]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.10002c10
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x11c], eax
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x30]
push 0
mov dword [ebp + 0x30], 0
push 0x1003c55b
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x44], 0xf
mov byte [ebp + 0x30], 0
call fcn.10001a30
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x10c], 6
jne 0x10008253
lea edx, [ebp + 0x30]
lea ecx, [ebp - 0x118]
call fcn.1000c4f0
mov esi, eax
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.10008b70
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
test byte [ecx + esi + 0xc], 6
jne 0x100086e7
nop dword [eax]
mov esi, dword [ebp + 0x44]
lea ecx, [ebp + 0x30]
mov edi, dword [ebp + 0x30]
cmp esi, 0x10
mov edx, dword [ebp + 0x40]
push 0xa
cmovae ecx, edi
push str.brightness
call fcn.100021c0
add esp, 8
test eax, eax
je 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 8
cmovae ecx, edi
push str.mousefix
call fcn.100021c0
add esp, 8
test eax, eax
je 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 7
cmovae ecx, edi
push str.shadows
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007e35
cmp dword [ebp - 0x14], 1
sete byte [0x10041fbc]
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 8
cmovae ecx, edi
push str.heathaze
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007e89
cmp dword [ebp - 0x14], 1
jne 0x10007e70
cmp byte [0x701780], 0x83
je 0x10008223
mov byte [0x701780], 0x83
jmp 0x10008223
cmp byte [0x701780], 0xc3
je 0x10008223
mov byte [0x701780], 0xc3
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 5
cmovae ecx, edi
push str.sound
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007ecd
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp dword [0x507750], 0xc3
je 0x10008223
mov dword [0x507750], 0xc3
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 0xf
cmovae ecx, edi
push str.vehiclelighting
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007f08
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp byte [0x5d9a8f], al
je 0x10008223
mov byte [0x5d9a8f], al
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 0xf
cmovae ecx, edi
push str.specularvehicle
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007f43
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp byte [0x5d9abe], al
je 0x10008223
mov byte [0x5d9abe], al
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 0xa
cmovae ecx, edi
push str.targetblip
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007f81
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp byte [0x53e1ec], 0xeb
je 0x10008223
mov byte [0x53e1ec], 0xeb
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 6
cmovae ecx, edi
push str.clouds
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10007fd5
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp dword [0x53e1b4], 0x90909090
je 0x10007fbc
mov dword [0x53e1b4], 0x90909090
cmp byte [0x53e1b8], 0x90
je 0x10008223
mov byte [0x53e1b8], 0x90
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 7
cmovae ecx, edi
push str.flashes
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10008013
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp byte [0x7000e0], 0xc3
je 0x10008223
mov byte [0x7000e0], 0xc3
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 0xd
cmovae ecx, edi
push str.fixblackroads
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x1000804f
cmp dword [ebp - 0x14], 1
jne 0x10008223
cmp byte [0x884984], al
je 0x10008223
mov byte [0x884984], al
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 0x13
cmovae ecx, edi
push str.interiorreflections
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x100080a3
cmp dword [ebp - 0x14], eax
jne 0x10008223
cmp dword [0x555854], 0x90909090
je 0x1000808a
mov dword [0x555854], 0x90909090
cmp byte [0x555858], 0x90
je 0x10008223
mov byte [0x555858], 0x90
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 8
cmovae ecx, edi
push str.fpslimit
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x100081df
cmp dword [ebp - 0x14], eax
je 0x10008223
push str.samp.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x10008223
mov edx, str.xxxx____xxx
mov ecx, 0x1003d07c
call fcn.1000d4b0
mov edx, str.xxxxxxx
mov ecx, 0x1003d088
lea edi, [eax + 0xa]
call fcn.1000d4b0
mov edx, str.xxxxxx
mov ecx, 0x1003d098
lea esi, [eax + 5]
call fcn.1000d4b0
mov edx, str.xxxxxxx
mov ecx, 0x1003d0a0
lea ebx, [eax + 5]
call fcn.1000d4b0
add eax, 0xfffffff9
mov dword [ebp - 0x18], eax
lea eax, [ebx - 5]
mov dword [0x10040b88], eax
lea eax, [ebx - 9]
mov dword [0x10040b84], eax
test esi, esi
je 0x10008223
lea eax, [ebp - 0x10]
push eax
push 0x40
push 7
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0x32
lea eax, [ebp - 0x54]
push 0x90
push eax
call fcn.10010b10
mov eax, 0x1000d580
mov byte [ebp - 0x54], 0xe9
sub eax, edi
add esp, 0xc
sub eax, 5
mov dword [ebp - 0x53], eax
mov eax, dword [ebp - 0x54]
mov dword [edi], eax
mov ax, word [ebp - 0x50]
mov word [edi + 4], ax
mov al, byte [ebp - 0x4e]
mov byte [edi + 6], al
lea eax, [ebp - 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 7
push esi
call edi
cmp byte [esi + 2], 0
je 0x100081a3
mov byte [esi + 2], 0
cmp byte [esi + 4], 0x90
je 0x100081ad
mov byte [esi + 4], 0x90
lea eax, [ebp - 0x10]
push eax
push 0x40
push 5
push ebx
call edi
mov eax, dword [0x1003d0a8]
mov dword [ebx], eax
mov al, byte [0x1003d0ac]
mov byte [ebx + 4], al
lea eax, [ebp - 0x10]
mov ebx, dword [ebp - 0x18]
push eax
push 0x40
push 1
push ebx
call edi
cmp byte [ebx], 0
je 0x10008223
mov byte [ebx], 0
jmp 0x10008223
cmp esi, 0x10
lea ecx, [ebp + 0x30]
push 8
cmovae ecx, edi
push str.nopostfx
call fcn.100021c0
add esp, 8
test eax, eax
jne 0x10008223
cmp dword [ebp - 0x14], eax
je 0x10008223
lea eax, [ebp - 0x5c]
push eax
push 0x40
push 1
push 0x53e227
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp byte [0x53e227], 0xc3
je 0x10008223
mov byte [0x53e227], 0xc3
lea edx, [ebp + 0x30]
lea ecx, [ebp - 0x118]
call fcn.1000c4f0
mov esi, eax
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.10008b70
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
test byte [ecx + esi + 0xc], 6
je 0x10007dc0
jmp 0x100086e7
sub esp, 0xc
lea eax, [ebp + 0x18]
lea ecx, [ebp - 0x278]
push eax
call fcn.100088f0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x228], 0
jne 0x10008286
push 0
push str.CRASHES.ASI_Error
push str.Error:_Failed_to_create_crashes.cfg_configuration_file._Please_verify_the_file_permissions_in_the_GTA:SA_folder_and_run_gta_sa.exe__or_samp.exe__as_an_administrator.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edx, str.brightness__1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.mousefix_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.shadows_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.heathaze_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.sound_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.vehiclelighting_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.specularvehicle_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.targetblip_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.clouds_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.flashes_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.fixblackroads_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.interiorreflections_1
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.fpslimit_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.nopostfx_0
lea ecx, [ebp - 0x278]
call fcn.10004e00
push eax
call fcn.10005060
add esp, 0x38
lea ecx, [ebp - 0x274]
call fcn.10004530
test eax, eax
jne 0x100083f7
mov eax, dword [ebp - 0x278]
lea ecx, [ebp - 0x278]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.10002c10
mov edx, dword [ebp + 0x2c]
mov eax, edx
mov ecx, dword [ebp + 0x28]
sub eax, ecx
push 0xb
push str._readme.txt
cmp eax, 0xb
jb 0x1000842e
cmp edx, 0x10
lea esi, [ebp + 0x18]
lea eax, [ecx + 0xb]
cmovae esi, dword [ebp + 0x18]
add esi, ecx
mov dword [ebp + 0x28], eax
push esi
call fcn.10010580
add esp, 0xc
mov byte [esi + 0xb], 0
jmp 0x1000843f
mov byte [ebp - 0x18], 0
lea ecx, [ebp + 0x18]
push dword [ebp - 0x18]
push 0xb
call fcn.10005610
sub esp, 0xc
lea eax, [ebp + 0x18]
lea ecx, [ebp - 0x1c8]
push eax
call fcn.100088f0
mov edx, str.brightness___the_brightness_setting_can_adjust_your_brightness_at_a_much_higher_and_lower_rate_than_the_regular_ingame_brightness__thats_why_it_was_added.
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.if_its_set_to__1__it_will_use_your_ingame_brightness_bar_to_adjust_your_brightness__only_change_it_from__1_if_setting_to_the_max_brightness_ingame_is_not_bright_enough__or_you_want_to_fine_tune_it_more_than_the_ingame_setting_can_provide
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.this_also_fixes_brightness_not_working_in_Windows_8
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
push eax
call fcn.10005060
mov edx, str.mousefix___this_setting_fixes_a_windows_8_only_problem_of_sometimes_after_an_alt_tab_being_able_to_see_the_mouse_cursor_over_GTA:SA__disable_if_youre_not_using_windows_8
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.shadows___enable_or_disables_volumetric_shadows__AKA_the_shitty_shadows_that_lag_even_the_best_of_PCs._run_your_game_on_very_high_FX_quality_without_those_shadows_that_looked_ugly__and_lagged_your_game_anyway_
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.heathaze___enable_or_disable_heat_haze.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.sound___set_to_0_to_disable_all_ingame_sound.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.vehiclelighting___set_to_0_to_disable_vehicle_lighting.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.specularvehicle___set_to_0_to_disable_specular_vehicle_lighting.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.targetblip___set_to_0_to_disable_target_blip_above_peds_heads_when_aiming_at_them.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.clouds___set_to_0_to_disable_all_clouds
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.flashes___set_to_0_to_disable_flashes
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.fixblackroads___set_to_1_to_fix_black_roads_on_some_PCs_off_in_the_distance
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.interiorreflections___set_to_0_to_disable_interior_reflections
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
mov edx, str.fpslimit___set_to_1_to_enable_the_removal_of_SA_MPs_internal_FPS_limiting_code._By_default__you_cant_get_over_100_fps._set_to_0_to_disable_this.__NOTE:_This_may_cause_issues_with_newer_SA_MP_releases_.
lea ecx, [ebp - 0x1c8]
call fcn.10004e00
push eax
call fcn.10005060
add esp, 0x40
lea ecx, [ebp - 0x1c8]
mov edx, str.nopostfx___set_to_1_to_disable_post_effects.
call fcn.10004e00
push eax
call fcn.10005060
add esp, 4
lea ecx, [ebp - 0x1c4]
call fcn.10004530
test eax, eax
jne 0x100085fb
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x1c8]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.10002c10
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1cc], eax
lea ecx, [ebp - 0x1c4]
call fcn.10003a00
mov eax, dword [ebp - 0x1c8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1cc], eax
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.1000e053
mov eax, dword [ebp - 0x278]
add esp, 4
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x27c], eax
lea ecx, [ebp - 0x274]
call fcn.10003a00
mov eax, dword [ebp - 0x278]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x27c], eax
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.1000e053
add esp, 4
mov byte [ebp - 4], 8
mov edx, dword [ebp + 0x44]
cmp edx, 0x10
jb 0x1000871f
mov ecx, dword [ebp + 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10008715
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008850
push edx
push ecx
call fcn.1000efa9
add esp, 8
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x11c], eax
lea ecx, [ebp - 0x108]
call fcn.10003a00
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0x11c], eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0xe
push eax
mov dword [ebp - 0xa8], vtable.std::ios_base.0
call fcn.1000e053
mov edx, dword [ebp + 0x2c]
add esp, 4
cmp edx, 0x10
jb 0x100087c9
mov ecx, dword [ebp + 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100087bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008850
push edx
push ecx
call fcn.1000efa9
add esp, 8
mov edx, dword [ebp + 0x14]
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x2c], 0xf
mov byte [ebp + 0x18], 0
cmp edx, 0x10
jb 0x1000880b
mov ecx, dword [ebp]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10008801
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10008850
push edx
push ecx
call fcn.1000efa9
add esp, 8
lea eax, [ebp - 0x20]
mov dword [ebp + 0x10], 0
push eax
mov ecx, eax
mov dword [ebp + 0x14], 0xf
mov byte [ebp], 0
call fcn.10001d20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x14c]
xor ecx, ebp
call fcn.1000ec51
lea esp, [ebp + 0x150]
pop ebp
ret
call fcn.1001339f
call fcn.1001339f
int3