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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1000c00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000c698]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1000c6c8]
cmp eax, dword [ecx + 4]
jle 0x10003b23
push 0x1000c6c8
call fcn.10006b21
add esp, 4
cmp dword [0x1000c6c8], 0xffffffff
jne 0x10003b23
push 0x10007c40
mov dword [0x1000c6cc], 0x1000886c
call fcn.10006efc
push 0x1000c6c8
call fcn.10006ad7
add esp, 8
movq xmm0, qword [str.With_Your_GOLD]
mov ecx, 0x5ce7dc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
movq qword [ecx], xmm0
mov eax, dword [0x10008968]
mov dword [ecx + 8], eax
movzx eax, word [0x1000896c]
mov word [ecx + 0xc], ax
movzx eax, byte [0x1000896e]
mov byte [ecx + 0xe], al
mov ecx, 0x5be9a4
movq xmm0, qword [str.With_Your_GOLD]
push edi
mov dword [ebp - 8], 0
movq qword [ecx], xmm0
mov eax, dword [0x10008968]
mov dword [ecx + 8], eax
movzx eax, word [0x1000896c]
mov word [ecx + 0xc], ax
movzx eax, byte [0x1000896e]
mov byte [ecx + 0xe], al
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x55a0a9
call esi
test eax, eax
je 0x10003bb9
lea eax, [ebp - 8]
mov byte [0x55a0a9], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x55a0a9
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x55a1d5
call esi
test eax, eax
je 0x10003bea
lea eax, [ebp - 8]
mov byte [0x55a1d5], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x55a1d5
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x559fc1
call esi
test eax, eax
je 0x10003c1b
lea eax, [ebp - 8]
mov byte [0x559fc1], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x559fc1
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x42979b
call esi
test eax, eax
je 0x10003c4f
lea eax, [ebp - 8]
mov dword [0x42979b], 0
push eax
push dword [ebp - 8]
push 4
push 0x42979b
call esi
push 0x10008228
push 9
mov dword [ebp - 8], 0
call fcn.10006f45
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
add esp, 8
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003ce0
mov ecx, 0x100041d0
mov byte [eax], 0xe9
sub ecx, 0x41f610
mov dword [eax + 1], ecx
mov dword [eax + 5], 0x90909090
lea eax, [ebp - 8]
push eax
push 0x40
push 9
push 0x41f60b
call esi
test eax, eax
je 0x10003ce0
mov eax, dword [ebp - 0xc]
mov ecx, 0x41f60b
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov al, byte [eax + 8]
mov byte [ecx + 8], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 9
push ecx
call esi
test eax, eax
je 0x10003ce0
push 9
push 0x41f60b
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 6
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003d60
mov ecx, 0x100041a0
mov byte [eax], 0xe9
sub ecx, 0x41ff8b
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x41ff86
call esi
test eax, eax
je 0x10003d60
mov ecx, dword [ebp - 0xc]
mov edx, 0x41ff86
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003d60
push 6
push 0x41ff86
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 6
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003dde
mov ecx, 0x10004180
mov word [eax], 0x8d0f
sub ecx, 0x426dcf
mov dword [eax + 2], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x426dc9
call esi
test eax, eax
je 0x10003dde
mov ecx, dword [ebp - 0xc]
mov edx, 0x426dc9
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003dde
push 6
push 0x426dc9
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 5
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003e58
mov ecx, 0x10004150
mov byte [eax], 0xe9
sub ecx, 0x427212
mov dword [eax + 1], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x42720d
call esi
test eax, eax
je 0x10003e58
mov ecx, dword [ebp - 0xc]
mov edx, 0x42720d
mov eax, dword [ecx]
mov dword [edx], eax
mov al, byte [ecx + 4]
mov byte [edx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push edx
call esi
test eax, eax
je 0x10003e58
push 5
push 0x42720d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 5
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003ed2
mov ecx, 0x10004470
mov byte [eax], 0xe9
sub ecx, 0x465ac0
mov dword [eax + 1], ecx
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x465abb
call esi
test eax, eax
je 0x10003ed2
mov ecx, dword [ebp - 0xc]
mov edx, 0x465abb
mov eax, dword [ecx]
mov dword [edx], eax
mov al, byte [ecx + 4]
mov byte [edx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push edx
call esi
test eax, eax
je 0x10003ed2
push 5
push 0x465abb
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 6
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003f52
mov ecx, 0x100040b0
mov byte [eax], 0xe9
sub ecx, 0x4af8b4
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x4af8af
call esi
test eax, eax
je 0x10003f52
mov ecx, dword [ebp - 0xc]
mov edx, 0x4af8af
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003f52
push 6
push 0x4af8af
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 6
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10003fd2
mov ecx, 0x10004070
mov byte [eax], 0xe9
sub ecx, 0x478c62
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x478c5d
call esi
test eax, eax
je 0x10003fd2
mov ecx, dword [ebp - 0xc]
mov edx, 0x478c5d
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10003fd2
push 6
push 0x478c5d
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
push 0x10008228
push 6
mov dword [ebp - 8], 0
call fcn.10006f45
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10004052
mov ecx, 0x10004120
mov byte [eax], 0xe9
sub ecx, 0x45135e
mov dword [eax + 1], ecx
mov byte [eax + 5], 0x90
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x451359
call esi
test eax, eax
je 0x10004052
mov ecx, dword [ebp - 0xc]
mov edx, 0x451359
mov eax, dword [ecx]
mov dword [edx], eax
mov ax, word [ecx + 4]
mov word [edx + 4], ax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push edx
call esi
test eax, eax
je 0x10004052
push 6
push 0x451359
call ebx
push eax
call edi
push dword [ebp - 0xc]
call fcn.10006f40
add esp, 4
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100069a3
mov esp, ebp
pop ebp
ret