Function at 0x100080e0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x10054010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 8]
push 4
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp + 0x10]
push 0x1000
mov dword [ebp - 0x1cc], eax
lea eax, [ebx + 0x1b8]
push eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, eax
mov dword [ebp - 0x1c4], esi
test esi, esi
je 0x1000835a
push 0x40
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x1c0], 0
push 0
push eax
call fcn.1000bc40
add esp, 0xc
mov dword [ebp - 0x88], 0x40
mov eax, 0x5a4d
mov word [ebp - 0xc4], ax
lea eax, [ebp - 0x1c0]
push eax
push 0x40
lea eax, [ebp - 0xc4]
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], 0x40
jne 0x1000835a
push 0xf8
lea eax, [ebp - 0x1bc]
add esi, 0x40
push 0
push eax
call fcn.1000bc40
add esp, 0xc
mov dword [ebp - 0x1bc], 0x4550
mov eax, 1
mov dword [ebp - 0x1a8], 0x200000e0
mov word [ebp - 0x1b6], ax
mov eax, 0x10b
mov word [ebp - 0x1a4], ax
lea eax, [ebp - 0x1c0]
push eax
push 0xf8
lea eax, [ebp - 0x1bc]
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], 0xf8
jne 0x1000835a
mov eax, dword [str..detour]
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x44], eax
add esi, 0xf8
mov eax, dword [0x10049498]
mov dword [ebp - 0x40], eax
mov eax, esi
sub eax, dword [ebp - 0x1c4]
add eax, 0x28
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x38], eax
lea eax, [ebx + 0x58]
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1c0]
push eax
push 0x28
lea eax, [ebp - 0x44]
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], 0x28
jne 0x1000835a
push 0x40
lea eax, [ebp - 0x84]
add esi, 0x28
push 0
push eax
call fcn.1000bc40
add esp, 0xc
mov dword [ebp - 0x84], 0x40
lea eax, [ebx + 0x58]
mov dword [ebp - 0x80], 0x727444
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x7c], 0x40
push eax
push 0x40
lea eax, [ebp - 0x84]
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], 0x40
jne 0x1000835a
xorps xmm0, xmm0
lea eax, [ebx + 0x18]
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], eax
add esi, 0x40
mov eax, dword [ebp - 0x1c8]
movq qword [ebp - 0xc], xmm0
mov dword [ebp - 0x18], 0
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x1c0]
push eax
push 0x18
lea eax, [ebp - 0x1c]
push eax
push esi
push edi
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], 0x18
jne 0x1000835a
lea eax, [ebp - 0x1c0]
push eax
push ebx
push dword [ebp - 0x1cc]
lea ecx, [esi + 0x18]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1000835a
cmp dword [ebp - 0x1c0], ebx
jne 0x1000835a
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100093a1
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100093a1
mov esp, ebp
pop ebp
ret 0x10