Function at 0x100126c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e66b4
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x10112200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x184]
movq qword [ebp - 0x18], xmm0
push eax
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm0
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.56_8B_F1_8B_86_1E_01_00_00_85_C0_0F]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x23
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x101064c4]
movups xmmword [edx + 0x10], xmm0
mov ax, word [0x101064d4]
mov word [edx + 0x20], ax
mov al, byte [0x101064d6]
mov byte [edx + 0x22], al
mov byte [edx + 0x23], 0
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov edi, eax
mov dword [ebp - 0x38], edi
cmp ecx, 0xf
jbe 0x1001280b
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012801
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c7f
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10012867
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001285d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c7f
push ecx
push edx
call fcn.100bb2c5
add esp, 8
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.50_FF_51_08_C7_86_B6_63_00_00_00_00_00_00_5E_C3]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x2f
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x101064f4]
movups xmmword [edx + 0x10], xmm0
movq xmm0, qword [0x10106504]
movq qword [edx + 0x20], xmm0
mov eax, dword [0x1010650c]
mov dword [edx + 0x28], eax
mov ax, word [0x10106510]
mov word [edx + 0x2c], ax
mov al, byte [0x10106512]
mov byte [edx + 0x2e], al
mov byte [edx + 0x2f], 0
mov dword [ebp - 4], 2
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 2
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x34], eax
cmp ecx, 0xf
jbe 0x1001298b
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012981
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c84
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp eax, 0xf
jbe 0x100129ce
push eax
push dword [ebp - 0x184]
lea eax, [ebp - 0x184]
push eax
call fcn.10005ea0
add esp, 0xc
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.83_EC_20_53_55_56_8B_F1_8B_86_BE_63_00_00_85_C0]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x2f
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x10106524]
movups xmmword [edx + 0x10], xmm0
movq xmm0, qword [0x10106534]
movq qword [edx + 0x20], xmm0
mov eax, dword [0x1010653c]
mov dword [edx + 0x28], eax
mov ax, word [0x10106540]
mov word [edx + 0x2c], ax
mov al, byte [0x10106542]
mov byte [edx + 0x2e], al
mov byte [edx + 0x2f], 0
mov dword [ebp - 4], 4
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 4
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x30], eax
cmp ecx, 0xf
jbe 0x10012af2
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012ae8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c89
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10012b4e
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012b44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c89
push ecx
push edx
call fcn.100bb2c5
add esp, 8
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.83_EC_10_56_8B_F1_8B_86_E0_14_00_00_85_C0]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x29
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x10106554]
movups xmmword [edx + 0x10], xmm0
movq xmm0, qword [0x10106564]
movq qword [edx + 0x20], xmm0
mov al, byte [0x1010656c]
mov byte [edx + 0x28], al
mov byte [edx + 0x29], 0
mov dword [ebp - 4], 6
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 6
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x2c], eax
cmp ecx, 0xf
jbe 0x10012c60
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012c56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c8e
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10012cbc
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012cb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c8e
push ecx
push edx
call fcn.100bb2c5
add esp, 8
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.56_8B_F1_8B_86_E0_14_00_00_85_C0_74]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x23
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x10106580]
movups xmmword [edx + 0x10], xmm0
mov ax, word [0x10106590]
mov word [edx + 0x20], ax
mov al, byte [0x10106592]
mov byte [edx + 0x22], al
mov byte [edx + 0x23], 0
mov dword [ebp - 4], 8
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 8
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x28], eax
cmp ecx, 0xf
jbe 0x10012dcb
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012dc1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c93
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10012e27
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012e1d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c93
push ecx
push edx
call fcn.100bb2c5
add esp, 8
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.8B_0D_____________8B_81_E0_14_00_00_85_C0_0F_85]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x2f
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x101065a4]
movups xmmword [edx + 0x10], xmm0
movq xmm0, qword [0x101065b4]
movq qword [edx + 0x20], xmm0
mov eax, dword [0x101065bc]
mov dword [edx + 0x28], eax
mov ax, word [0x101065c0]
mov word [edx + 0x2c], ax
mov al, byte [0x101065c2]
mov byte [edx + 0x2e], al
mov byte [edx + 0x2f], 0
mov dword [ebp - 4], 0xa
xorps xmm0, xmm0
mov eax, dword [str.samp.dll]
mov ecx, dword [0x101064dc]
movlpd qword [ebp - 0x164], xmm0
mov dword [ebp - 0x15c], 8
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 0x164], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0xa
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x24], eax
cmp ecx, 0xf
jbe 0x10012f4b
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012f41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c98
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10012fa7
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10012f9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c98
push ecx
push edx
call fcn.100bb2c5
add esp, 8
xor eax, eax
nop dword [eax]
cmp dword [ebp + eax*4 - 0x38], 0
je 0x10013c53
inc eax
cmp eax, 6
jl 0x10012fb0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x10012fe9
mov eax, 0x100112b0
mov byte [edi], 0xe9
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
mov edi, dword [ebp - 0x34]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
add edi, 0xf
push edi
call esi
test eax, eax
je 0x10013011
mov eax, 0x1000ff90
mov byte [edi], 0xe9
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x1001302d
mov al, byte [0x101065ec]
mov byte [edi], al
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x10013052
mov eax, 0x100118c0
mov byte [edi], 0xe9
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x10013077
mov eax, 0x100118e0
mov byte [edi], 0xe9
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0x188]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x10013093
mov al, byte [0x101065ec]
mov byte [edi], al
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x1f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.83____FB_81____01_01_00_00]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x1a
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movq xmm0, qword [0x10106600]
movq qword [edx + 0x10], xmm0
movzx eax, word [0x10106608]
mov word [edx + 0x18], ax
mov byte [edx + 0x1a], 0
mov dword [ebp - 4], 0xc
xor eax, eax
movq xmm0, qword [str.vorbisFile.dll]
mov word [ebp - 0x15e], ax
mov eax, dword [0x10106614]
mov dword [ebp - 0x164], eax
movzx eax, word [0x10106618]
mov dword [ebp - 0x15c], 0xe
mov dword [ebp - 0x158], 0xf
movq qword [ebp - 0x16c], xmm0
mov word [ebp - 0x160], ax
mov byte [ebp - 0x15e], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0xc
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov edi, eax
cmp ecx, 0xf
jbe 0x100131ac
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100131a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c9d
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x10013208
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100131fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013c9d
push ecx
push edx
call fcn.100bb2c5
add esp, 8
test edi, edi
je 0x10013228
lea eax, [ebp - 0x188]
add edi, 2
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x10013228
mov al, byte [0x1010661c]
mov byte [edi], al
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x3f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.8B_0D_____________83_C4_0C_8B_49_08_E8_____________85_C0]
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x184], eax
movups xmmword [eax], xmm0
mov dword [ebp - 0x174], 0x38
movups xmm0, xmmword [0x10106630]
mov dword [ebp - 0x170], ecx
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x10106640]
movups xmmword [eax + 0x20], xmm0
movq xmm0, qword [0x10106650]
movq qword [eax + 0x30], xmm0
mov byte [eax + 0x38], 0
mov dword [ebp - 4], 0xe
xorps xmm0, xmm0
mov eax, dword [0x10106664]
movups xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x164], eax
movq xmm0, qword [str.SAMPFUNCS.asi]
mov al, byte [0x10106668]
mov dword [ebp - 0x15c], 0xd
mov dword [ebp - 0x158], 0xf
movq qword [ebp - 0x16c], xmm0
mov byte [ebp - 0x160], al
mov byte [ebp - 0x15f], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0xe
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x18c], eax
cmp ecx, 0xf
jbe 0x1001334c
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10013342
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013ca2
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x100133a8
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001339e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013ca2
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov eax, dword [ebp - 0x18c]
mov edi, 0x10012420
test eax, eax
je 0x1001344a
lea ecx, [ebp - 0x188]
push ecx
push 0x40
push 5
push eax
call esi
mov ecx, dword [ebp - 0x18c]
test eax, eax
je 0x100133e4
mov ax, word [0x101064b0]
mov word [ecx], ax
mov al, byte [0x101064b2]
mov byte [ecx + 2], al
lea eax, [ecx + 3]
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x188], eax
push ecx
push 0x40
push 5
push eax
call esi
test eax, eax
je 0x10013412
mov ecx, dword [ebp - 0x188]
mov eax, edi
sub eax, ecx
sub eax, 5
mov byte [ecx], 0xe8
mov dword [ecx + 1], eax
mov eax, dword [ebp - 0x18c]
lea ecx, [ebp - 0x190]
push ecx
push 0x40
add eax, 8
push 9
push eax
mov dword [ebp - 0x188], eax
call esi
test eax, eax
je 0x1001344a
mov eax, dword [ebp - 0x188]
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
mov byte [eax + 8], 0x90
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x3f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.8B_0D_____________83_C4_0C_8B_49_08_E8_____________85_C0]
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x184], eax
movups xmmword [eax], xmm0
mov dword [ebp - 0x174], 0x38
movups xmm0, xmmword [0x10106630]
mov dword [ebp - 0x170], ecx
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x10106640]
movups xmmword [eax + 0x20], xmm0
movq xmm0, qword [0x10106650]
movq qword [eax + 0x30], xmm0
mov byte [eax + 0x38], 0
mov dword [ebp - 4], 0x10
xorps xmm0, xmm0
mov eax, dword [0x10106664]
movups xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x164], eax
movq xmm0, qword [str.SAMPFUNCS.asi]
mov al, byte [0x10106668]
mov dword [ebp - 0x15c], 0xd
mov dword [ebp - 0x158], 0xf
movq qword [ebp - 0x16c], xmm0
mov byte [ebp - 0x160], al
mov byte [ebp - 0x15f], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0x10
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x18c], eax
cmp ecx, 0xf
jbe 0x1001356e
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10013564
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013ca7
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x100135ca
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100135c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013ca7
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x10013659
lea ecx, [ebp - 0x190]
push ecx
push 0x40
push 5
push eax
call esi
mov ecx, dword [ebp - 0x18c]
test eax, eax
je 0x10013601
mov ax, word [0x101064b0]
mov word [ecx], ax
mov al, byte [0x101064b2]
mov byte [ecx + 2], al
lea eax, [ebp - 0x190]
add ecx, 3
push eax
push 0x40
push 5
push ecx
mov dword [ebp - 0x188], ecx
call esi
test eax, eax
je 0x1001362d
mov eax, dword [ebp - 0x188]
sub edi, eax
sub edi, 5
mov byte [eax], 0xe8
mov dword [eax + 1], edi
mov edi, dword [ebp - 0x18c]
lea eax, [ebp - 0x190]
push eax
push 0x40
push 9
add edi, 8
push edi
call esi
test eax, eax
je 0x10013659
mov dword [edi], 0x90909090
mov dword [edi + 4], 0x90909090
mov byte [edi + 8], 0x90
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x3f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.A1_____________6A_00_FF_74_24_08_05_____________FF_D0_C2_04_00]
mov edx, eax
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x3e
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x1010667c]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [0x1010668c]
movups xmmword [edx + 0x20], xmm0
movq xmm0, qword [0x1010669c]
movq qword [edx + 0x30], xmm0
mov eax, dword [0x101066a4]
mov dword [edx + 0x38], eax
mov ax, word [0x101066a8]
mov word [edx + 0x3c], ax
mov byte [edx + 0x3e], 0
mov dword [ebp - 4], 0x12
xorps xmm0, xmm0
mov eax, dword [0x10106664]
movups xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x164], eax
movq xmm0, qword [str.SAMPFUNCS.asi]
mov al, byte [0x10106668]
mov dword [ebp - 0x15c], 0xd
mov dword [ebp - 0x158], 0xf
movq qword [ebp - 0x16c], xmm0
mov byte [ebp - 0x160], al
mov byte [ebp - 0x15f], 0
push 0
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0x12
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov edi, eax
cmp ecx, 0xf
jbe 0x1001378d
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10013783
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013cac
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x100137e9
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100137df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013cac
push ecx
push edx
call fcn.100bb2c5
add esp, 8
test edi, edi
je 0x1001380f
lea eax, [ebp - 0x190]
push eax
push 0x40
push 5
push edi
call esi
test eax, eax
je 0x1001380f
mov eax, 0x100125a0
mov byte [edi], 0xe9
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0x2f
push eax
lea eax, [ebp - 0x184]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x184], xmm0
call fcn.10008330
movups xmm0, xmmword [str.55_8B_EC_51_83_EC_18_8B_CC_FF_75_08_E8]
mov ecx, dword [ebp - 0x188]
mov edx, eax
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], 0x26
mov dword [ebp - 0x170], ecx
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x101066bc]
movups xmmword [edx + 0x10], xmm0
mov eax, dword [0x101066cc]
mov dword [edx + 0x20], eax
mov ax, word [0x101066d0]
mov word [edx + 0x24], ax
mov byte [edx + 0x26], 0
mov dword [ebp - 4], 0x14
xorps xmm0, xmm0
mov eax, dword [0x10106664]
movups xmmword [ebp - 0x16c], xmm0
mov dword [ebp - 0x164], eax
movq xmm0, qword [str.SAMPFUNCS.asi]
mov al, byte [0x10106668]
mov dword [ebp - 0x15c], 0xd
mov dword [ebp - 0x158], 0xf
movq qword [ebp - 0x16c], xmm0
mov byte [ebp - 0x160], al
mov byte [ebp - 0x15f], 0
push 0x80000
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x16c]
call fcn.10020810
mov byte [ebp - 4], 0x14
add esp, 0xc
mov ecx, dword [ebp - 0x158]
mov esi, eax
cmp ecx, 0xf
jbe 0x1001392e
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10013924
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013cb1
push ecx
push edx
call fcn.100bb2c5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
cmp ecx, 0xf
jbe 0x1001398a
mov edx, dword [ebp - 0x184]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10013980
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013cb1
push ecx
push edx
call fcn.100bb2c5
add esp, 8
test esi, esi
je 0x10013994
mov dword [0x101151b0], esi
push 0x4c
call fcn.100bb295
mov edx, eax
add esp, 4
mov dword [ebp - 0x190], edx
push 1
push 0xffffffffffffffff
mov dword [ebp - 4], 0x16
sub esp, 0x18
mov ecx, esp
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0xa
mov dword [ecx + 0x14], 0xf
movq xmm0, qword [str.SA:MP_Chat]
movq qword [ecx], xmm0
mov ax, word [0x101066dc]
mov word [ecx + 8], ax
mov byte [ecx + 0xa], 0
mov ecx, edx
call fcn.1000e9f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
push 0xa
xorps xmm0, xmm0
mov dword [0x101151b4], eax
push str._chat.json
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
call fcn.10014cd0
lea edx, [ebp - 0x184]
mov dword [ebp - 4], 0x17
call fcn.100172b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x170]
cmp ecx, 7
jbe 0x10013a80
mov edx, dword [ebp - 0x184]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10013a76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013cb6
push ecx
push edx
call fcn.100bb2c5
add esp, 8
push 0
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x18c], 0
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push str.SoftwareSAMPci_chat
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10013c38
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x194]
push eax
push 0x10112ca0
push 0
push 0
push str.config
push dword [ebp - 0x18c]
mov dword [ebp - 0x194], 0x28
call esi
test eax, eax
jne 0x10013bdb
mov eax, dword [0x10112ca8]
cmp eax, 0xa
jge 0x10013b03
mov dword [0x10112ca8], 0xa
jmp 0x10013b12
cmp eax, 0x48
jle 0x10013b12
mov dword [0x10112ca8], 0x48
mov eax, dword [0x10112ca4]
cmp eax, 0x64
jge 0x10013b28
mov dword [0x10112ca4], 0x64
jmp 0x10013b39
cmp eax, 0x3e8
jle 0x10013b39
mov dword [0x10112ca4], 0x3e8
mov eax, dword [0x10112cac]
cmp eax, 1
jge 0x10013b4f
mov dword [0x10112cac], 1
jmp 0x10013b5e
cmp eax, 0xa
jle 0x10013b5e
mov dword [0x10112cac], 0xa
movss xmm0, dword [0x10108764]
movss xmm1, dword [0x10112cb0]
comiss xmm0, xmm1
jbe 0x10013b7f
mov dword [0x10112cb0], 0x3f000000
jmp 0x10013b92
comiss xmm1, dword [0x101087f0]
jbe 0x10013b92
mov dword [0x10112cb0], 0x40000000
mov eax, dword [0x10112cb8]
cmp eax, 5
jge 0x10013ba8
mov dword [0x10112cb8], 5
jmp 0x10013bb7
cmp eax, 0x28
jle 0x10013bb7
mov dword [0x10112cb8], 0x28
mov eax, dword [0x10112cc0]
test eax, eax
jns 0x10013bcc
mov dword [0x10112cc0], 0
jmp 0x10013bdb
cmp eax, 2
jle 0x10013bdb
mov dword [0x10112cc0], 2
lea eax, [ebp - 0x198]
mov dword [ebp - 0x198], 0x104
push eax
lea eax, [ebp - 0x154]
push eax
push 0
push 0
push str.fontpath
push dword [ebp - 0x18c]
call esi
test eax, eax
jne 0x10013c2c
lea ecx, [ebp - 0x154]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10013c11
sub ecx, edx
lea eax, [ebp - 0x154]
push ecx
push eax
mov ecx, 0x10112f68
call fcn.100073b0
push dword [ebp - 0x18c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100bb287
mov esp, ebp
pop ebp
ret
push eax
lea eax, [ebp - 0x50]
push str.Failed_to_setup_patch__d
push eax
call fcn.10014cb0
add esp, 0xc
lea eax, [ebp - 0x50]
push 0
push 0x101065e0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.100c4430
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
call fcn.100c0e7a
int3