Function at 0x1003d482
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov edx, 0x1003d7dc
mov ecx, 0x60f08a
call fcn.10001d14
mov edx, 0x1003d85f
mov ecx, 0x60f0c5
call fcn.10001d14
mov edx, 0x1003d848
mov ecx, 0x60f0e7
call fcn.10001d14
push 0
push 0x1003d7be
call fcn.1003d2a1
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esi, 0x6d7720
mov dword [esp + 0x14], eax
lea eax, [esp + 0xc]
push eax
push 0x40
push 4
push esi
call ebx
test eax, eax
setne al
xor ebp, ebp
inc ebp
cmp byte [0x100d5818], 0
jne 0x1003d53d
cmp byte [0x100eb4f4], 0
jne 0x1003d53d
cmp al, 1
je 0x1003d53d
push esi
push str.VirtualProtect_failed_to_change_permissions_at_0x_p_
push 0x100eb4f6
push 0x100eb4f5
push 0x100eb4f4
push str.Change_Virtual_Address
push 0xbd
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.success__true
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4f5], 0
je 0x1003d536
int3
mov ecx, ebp
call fcn.100750ee
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x1c]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x100d5818], 0
jne 0x1003d5b9
cmp byte [0x100eb4f7], 0
jne 0x1003d5b9
cmp dword [esp + 0x18], 4
je 0x1003d5b9
push 0x6d7720
push str.Failed_to_patch_dword_at_0x_p_
push 0x100eb4f9
push 0x100eb4f8
push 0x100eb4f7
push str.Change_Virtual_Address
push 0xc2
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.bytes_written__sizeof_uint32_t_
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4f8], 0
je 0x1003d5b2
int3
mov ecx, ebp
call fcn.100750ee
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x10]
push 4
push 0x6d7720
call ebx
test eax, eax
setne al
cmp byte [0x100d5818], 0
jne 0x1003d62d
cmp byte [0x100eb4fa], 0
jne 0x1003d62d
cmp al, 1
je 0x1003d62d
push 0x6d7720
push str.VirtualProtect_failed_to_restore_permissions_at_0x_p_
push 0x100eb4fc
push 0x100eb4fb
push 0x100eb4fa
push str.Change_Virtual_Address
push 0xc5
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.success__true
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4fb], 0
je 0x1003d626
int3
mov ecx, ebp
call fcn.100750ee
push 0
push 0x1003d7a4
call fcn.1003d29a
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
push eax
push 0x40
push 4
push 0x6d7730
call ebx
test eax, eax
setne al
cmp byte [0x100d5818], 0
jne 0x1003d6af
cmp byte [0x100eb4f4], 0
jne 0x1003d6af
cmp al, 1
je 0x1003d6af
push 0x6d7730
push str.VirtualProtect_failed_to_change_permissions_at_0x_p_
push 0x100eb4f6
push 0x100eb4f5
push 0x100eb4f4
push str.Change_Virtual_Address
push 0xbd
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.success__true
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4f5], 0
je 0x1003d6a8
int3
mov ecx, ebp
call fcn.100750ee
lea eax, [esp + 0x1c]
push eax
push 4
lea eax, [esp + 0x20]
push eax
push 0x6d7730
call esi
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x100d5818], 0
jne 0x1003d729
cmp byte [0x100eb4f7], 0
jne 0x1003d729
cmp dword [esp + 0x1c], 4
je 0x1003d729
push 0x6d7730
push str.Failed_to_patch_dword_at_0x_p_
push 0x100eb4f9
push 0x100eb4f8
push 0x100eb4f7
push str.Change_Virtual_Address
push 0xc2
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.bytes_written__sizeof_uint32_t_
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4f8], 0
je 0x1003d722
int3
mov ecx, ebp
call fcn.100750ee
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push 4
push 0x6d7730
call ebx
test eax, eax
setne al
cmp byte [0x100d5818], 0
jne 0x1003d79d
cmp byte [0x100eb4fa], 0
jne 0x1003d79d
cmp al, 1
je 0x1003d79d
push 0x6d7730
push str.VirtualProtect_failed_to_restore_permissions_at_0x_p_
push 0x100eb4fc
push 0x100eb4fb
push 0x100eb4fa
push str.Change_Virtual_Address
push 0xc5
push str.D:_aViniferaVinifera_srchookerhooker.h
push str.success__true
push ebp
call fcn.10006081
add esp, 0x28
cmp byte [0x100eb4fb], 0
je 0x1003d796
int3
mov ecx, ebp
call fcn.100750ee
pop esi
pop ebp
pop ebx
add esp, 0x14
ret