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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
mov ecx, str.r_jj
push edi
push dword [esi + 0x68]
movzx eax, byte [esi + 0xc]
push dword [esi + 0x64]
push dword [esi + 0x60]
push dword [esi + 0x5c]
push dword [esi + 0x58]
push dword [esi + 0x54]
push dword [esi + 0x50]
push dword [esi + 0x4c]
push eax
movzx eax, byte [esi + 0xb]
push eax
movzx eax, byte [esi + 0xa]
push eax
movzx eax, byte [esi + 9]
push eax
movzx eax, byte [esi + 8]
push eax
movzx eax, byte [esi + 7]
push eax
movzx eax, byte [esi + 6]
push eax
movzx eax, byte [esi + 5]
push eax
movzx eax, byte [esi + 4]
push eax
call fcn.1000fb90
push eax
push 0
push 0x1011b140
call fcn.10008a00
mov al, byte [esi + 4]
add esp, 0x50
test al, al
jne 0x10004e27
mov dword [0x10125c38], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x10125c44], eax
movzx eax, byte [esi + 5]
mov dword [0x10125c40], eax
movzx eax, byte [esi + 6]
mov dword [0x10125c3c], eax
movzx eax, byte [esi + 8]
mov dword [0x10125bf8], eax
movzx eax, byte [esi + 0x26]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [0x10125c0c], eax
movzx eax, byte [esi + 9]
mov dword [0x10125c08], eax
movzx eax, byte [esi + 0xa]
mov dword [0x10125c04], eax
movzx eax, byte [esi + 0xb]
mov dword [0x10125c00], eax
movzx eax, byte [esi + 0xc]
mov dword [0x10125bfc], eax
movzx eax, byte [esi + 0xce]
mov dword [0x10125b90], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 8
push 0x10125030
call edi
movq xmm0, qword [esi + 0xd]
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
movq qword [0x10125030], xmm0
push 8
push 0x10125030
call edi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x11
push 0x10125038
call edi
movups xmm0, xmmword [esi + 0x15]
movups xmmword [0x10125038], xmm0
mov al, byte [esi + 0x25]
mov byte [0x10125048], al
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x11
push 0x10125038
call edi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x20
push 0x10124fa4
call edi
push 0x20
lea eax, [esi + 0x27]
push eax
push 0x10124fa4
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x20
push 0x10124fa4
call edi
mov eax, dword [esi + 0x48]
test eax, eax
mov ecx, dword [0x10124fc4]
cmovne ecx, eax
mov dword [0x10124fc4], ecx
call fcn.1000fe10
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x10004c8b
mov dword [0x10125be0], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 0x20
push 0x10125bb8
call edi
push 0x20
push 0x1012017c
push 0x10125bb8
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x20
push 0x10125bb8
call edi
mov eax, dword [esi + 0x50]
test eax, eax
je 0x10004cce
mov dword [0x10125bdc], eax
movzx eax, byte [esi + 0xd]
inc al
mov byte [0x10125bb0], al
movzx eax, byte [esi + 0xf]
add al, 2
mov byte [0x10125bb1], al
movzx eax, byte [esi + 0x10]
add al, 3
mov byte [0x10125bb2], al
movzx eax, byte [esi + 0x12]
add al, 4
mov byte [0x10125bb3], al
movzx eax, byte [esi + 0x13]
add al, 5
mov byte [0x10125bb4], al
mov eax, dword [esi + 0x54]
test eax, eax
je 0x10004d0c
mov dword [0x10125bd8], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 0x11
push 0x10125b9c
call edi
movups xmm0, xmmword [esi + 0x15]
movups xmmword [0x10125b9c], xmm0
mov al, byte [esi + 0x25]
mov byte [0x10125bac], al
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x11
push 0x10125b9c
call edi
mov eax, dword [esi + 0x58]
test eax, eax
mov ecx, dword [0x10125bec]
cmovne ecx, eax
mov eax, dword [esi + 0x5c]
test eax, eax
mov dword [0x10125bec], ecx
mov ecx, dword [0x10125be8]
cmovne ecx, eax
mov eax, dword [esi + 0x60]
test eax, eax
mov dword [0x10125be8], ecx
mov ecx, dword [0x10125be4]
cmovne ecx, eax
mov eax, dword [esi + 0x64]
test eax, eax
mov dword [0x10125be4], ecx
mov ecx, dword [0x10125b98]
cmovne ecx, eax
mov eax, dword [esi + 0x68]
test eax, eax
mov dword [0x10125b98], ecx
mov ecx, dword [0x10125b94]
cmovne ecx, eax
movzx eax, byte [esi + 0x6c]
mov dword [0x10124fc8], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 0x20
push 0x10124fcc
mov dword [0x10125b94], ecx
call edi
push 0x20
lea eax, [esi + 0x6d]
push eax
push 0x10124fcc
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x20
push 0x10124fcc
call edi
movzx eax, byte [esi + 0x8d]
mov dword [0x10124fec], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 0x20
push 0x10124ff0
call edi
push 0x20
lea eax, [esi + 0x8e]
push eax
push 0x10124ff0
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x20
push 0x10124ff0
call edi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x20
push 0x10125010
call edi
push 0x20
lea eax, [esi + 0xae]
push eax
push 0x10125010
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x20
push 0x10125010
call edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movzx eax, al
dec eax
cmp eax, 4
ja case.default.0x10004e30
jmp dword [eax*4 + 0x10004e8c]
push 0x1388
push 8
jmp 0x10004e6b
push 0x1388
push 9
jmp 0x10004e6b
push 0x1388
push 0xa
jmp 0x10004e6b
push 0x1388
push 0xb
jmp 0x10004e6b
push 0x1388
push 0xc
jmp 0x10004e6b
push 0x1388
push 0xd
call fcn.100091d0
push eax
push ecx
mov edx, 1
mov ecx, 0x10125188
call fcn.1000fa00
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret