Function at 0x100f686d
Capabilities:
Allocate or change rwx memory
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
pushfd
push ebp
mov ebp, esp
sub esp, 0x154
mov dword [ebp - 0x150], eax
lea eax, [ebp + 4]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x144], edi
mov esi, dword [0x1007b9bc]
mov ebx, dword [eax + 4]
sub eax, 4
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx]
shr eax, 1
and eax, 0xfffffff
lea ecx, [esi + eax - 1]
xor edx, edx
mov eax, ecx
div esi
sub ecx, edx
mov eax, dword [0x1007b9bc]
mov dword [ebp - 0x78], ecx
mov eax, dword [0x10012044]
mov dword [ebp - 0x70], eax
mov eax, dword [0x1007b9bc]
mov eax, dword [0x10012044]
test eax, eax
je 0x100f695f
mov eax, dword [0x10012044]
xor edi, edi
dec eax
lea ecx, [eax + 1]
mov edx, ecx
xor eax, eax
test ecx, ecx
je 0x100f691c
mov esi, dword [0x1012ee38]
imul esi, esi, 0x343fd
add esi, 0x269ec3
mov dword [0x1012ee38], esi
shr esi, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, esi
test edx, edx
jne 0x100f68f5
xor edx, edx
div ecx
cmp dword [ebp - 0x70], 0
jbe 0x100f6959
mov ecx, 0xffffc390
lea esi, [edx*4 + 0x1012ee90]
inc edi
mov eax, 0x3c6f
lock cmpxchg dword [esi], ecx
cmp eax, 0x3c6f
je 0x100f6b4d
mov ecx, dword [0x10012044]
lea eax, [edx + 1]
xor edx, edx
div ecx
cmp edi, dword [ebp - 0x70]
jb 0x100f6926
xor edi, edi
test edi, edi
jne 0x100f69d5
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
xor edi, edi
push 0x40
push 0x1000
push dword [ebp - 0x78]
inc edi
push 0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
jne 0x100f6b61
push eax
call dword [sym.imp.kernel32.dll_Sleep]
cmp edi, 0x11
jb 0x100f6969
xor edi, edi
cmp dword [0x1011fbc8], edi
ja 0x100f69a2
test edi, 3
je 0x100f69b6
test edi, edi
je 0x100f69b4
push 0x8000
push 0
push edi
call dword [sym.imp.kernel32.dll_VirtualFree]
xor edi, edi
push esi
call dword [sym.imp.kernel32.dll_SetLastError]
test edi, edi
je 0x100f68cc
mov ecx, dword [ebp - 0x78]
test ecx, ecx
mov eax, edi
je 0x100f69d5
mov byte [eax], 0
inc eax
dec ecx
jne 0x100f69ce
mov eax, 0x25275a9e
mov eax, dword [ebx]
mov esi, 0x10000000
mov ecx, eax
shr eax, 1
and eax, 0xfffffff
shr ecx, 0x1d
lea ecx, [ecx + ebx + 8]
mov ebx, eax
lea eax, [ebx + ecx]
mov dword [ebp - 0xc4], eax
mov eax, dword [0x1007b9bc]
sub eax, ebx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0xcc], ecx
sub dword [ebp - 0x74], esi
lea ecx, [eax + 1]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x5c], ecx
xor eax, eax
test ecx, ecx
je 0x100f6a4b
mov edx, dword [0x1012ee38]
shr dword [ebp - 0x5c], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x1012ee38], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x5c], 0
jne 0x100f6a21
xor edx, edx
div ecx
add edi, edx
push edi
push ebx
push dword [ebp - 0x74]
mov dword [ebp - 0xc0], edi
mov eax, 0x9c2ec01
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xcc]
add esp, 0xc
mov dword [ebp - 0x70], edi
mov edi, 0xfffff000
test ebx, ebx
mov dword [ebp - 0xf0], ecx
mov byte [ebp - 0x55], 0
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x78], eax
je 0x100f71c7
lea eax, [ebp - 0xf0]
push eax
mov eax, 0xed5ceeb6
mov eax, 0xfffffff
mov ebx, dword [ebp - 0xf0]
pop ecx
mov ecx, dword [ebp - 0xec]
and ecx, eax
mov dword [ebp - 0x5c], ecx
mov ecx, dword [0x1001256c]
and ebx, eax
mov eax, esi
xor edx, edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
add ebx, esi
sub eax, ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0xfc], eax
jne 0x100f6b68
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x5c], edx
jbe 0x100f6ded
mov esi, 0x7fffffff
mov edi, 0x72122ba9
mov ecx, 0x8dedd457
mov edx, ecx
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax + ebx]
sub eax, edi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
add eax, edx
mov edx, ecx
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, esi
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, esi
add eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0x64], eax
inc dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x5c]
jb 0x100f6b01
jmp 0x100f6ded
mov edi, dword [0x1007b9bc]
imul edi, edx
lea edi, [edi + section..data]
jmp 0x100f695b
mov edi, eax
jmp 0x100f6992
mov edx, dword [0x1000003c]
lea edx, [edx + 0x100000a0]
mov eax, dword [ebp - 0x5c]
mov ecx, ebx
add eax, ebx
mov dword [ebp - 0x6c], eax
mov eax, dword [edx]
add eax, esi
sub ecx, esi
mov edx, dword [edx + 4]
mov dword [ebp - 0xf4], edx
mov esi, ecx
mov edx, ecx
and edx, edi
sub esi, edx
mov dword [ebp - 0xe4], esi
mov esi, dword [ebp - 0x5c]
add ecx, esi
mov esi, ecx
and esi, edi
mov dword [ebp - 0xe0], esi
sub ecx, esi
mov esi, dword [ebp - 0xf4]
add esi, eax
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], esi
cmp eax, esi
mov ecx, eax
jmp 0x100f6bcf
cmp dword [ecx], edx
jae 0x100f6bd7
add ecx, dword [ecx + 4]
cmp ecx, esi
mov dword [ebp - 0xd4], ecx
jne 0x100f6bc6
and dword [ebp - 0xd0], 0
cmp ecx, esi
je 0x100f6c14
cmp dword [ecx], edx
jne 0x100f6c14
mov edx, dword [ecx + 4]
sub edx, 8
shr edx, 1
je 0x100f6c14
lea eax, [ecx + 8]
movzx ecx, word [eax]
and ecx, 0xfff
cmp ecx, dword [ebp - 0xe4]
jae 0x100f6c14
inc dword [ebp - 0xd0]
inc eax
inc eax
cmp dword [ebp - 0xd0], edx
jne 0x100f6bf3
mov edi, 0x72122ba9
mov ecx, 0x8dedd457
mov esi, 0x7fffffff
mov edx, dword [ebp - 0xd4]
jmp 0x100f6c2e
mov ebx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0xd8]
je 0x100f6d98
mov eax, dword [ebp - 0xe0]
cmp dword [edx], eax
ja 0x100f6d98
mov edx, dword [edx + 4]
add edx, 0xfffffff8
shr edx, 1
cmp dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xd4]
jne 0x100f6c8a
add edx, dword [edx + 4]
mov dword [ebp - 0xd4], edx
cmp edx, dword [ebp - 0xd8]
je 0x100f6d98
mov eax, dword [ebp - 0xe0]
cmp dword [edx], eax
ja 0x100f6d98
and dword [ebp - 0xd0], 0
jmp 0x100f6c48
mov eax, dword [ebp - 0xe0]
cmp dword [edx], eax
jne 0x100f6cb0
mov eax, dword [ebp - 0xd0]
movzx eax, word [edx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xdc]
jae 0x100f6d98
mov ebx, 0xf000
mov eax, dword [ebp - 0xd0]
inc dword [ebp - 0xd0]
test word [edx + eax*2 + 8], bx
je 0x100f6c2b
movzx eax, word [edx + eax*2 + 8]
mov edx, dword [edx]
and eax, 0xfff
xor ebx, ebx
lea eax, [eax + edx + 0x10000000]
mov dword [ebp - 0x5c], eax
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0xe4], eax
je 0x100f6d34
mov eax, dword [ebp - 0x68]
mov edx, ecx
movzx eax, byte [eax + ebx]
sub eax, edi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
add eax, edx
mov edx, ecx
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, esi
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, esi
add eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0x64], eax
inc ebx
mov dword [ebp - 0x60], eax
cmp ebx, dword [ebp - 0xe4]
jb 0x100f6cef
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf8], eax
xor ebx, ebx
mov edx, ecx
movzx eax, byte [ebp + ebx - 0xf8]
sub eax, edi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
add eax, edx
mov edx, ecx
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, esi
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, esi
add eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0x64], eax
inc ebx
mov dword [ebp - 0x60], eax
cmp ebx, 4
jb 0x100f6d47
mov ebx, dword [ebp - 0x5c]
add ebx, 4
mov dword [ebp - 0x68], ebx
jmp 0x100f6c23
mov eax, dword [ebp - 0x6c]
and dword [ebp - 0x5c], 0
sub eax, ebx
mov dword [ebp - 0x6c], eax
je 0x100f6ded
mov edx, ecx
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax + ebx]
sub eax, edi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
add eax, edx
mov edx, ecx
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, esi
sub edx, eax
mov eax, edx
sar eax, 0x1f
and eax, esi
add eax, edx
mov edx, ecx
mul edx
add eax, edx
add dword [ebp - 0x64], eax
inc dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x6c]
jb 0x100f6da6
xor edi, edi
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0x64]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 0x10
jb 0x100f6df1
mov eax, 0xe44a9a7f
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x110], eax
mov eax, dword [0x10120760]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x128], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xc0]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x6c], eax
lea esi, [ebp - 0x13c]
lea edi, [ebp - 0xb8]
push 0x10
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x5c], 2
mov ebx, dword [ebp - 0xb4]
lea edi, [edx + esi]
rol edi, 7
xor eax, edi
lea edi, [esi + eax]
rol edi, 9
xor ecx, edi
lea edi, [ecx + eax]
rol edi, 0xd
xor edx, edi
lea edi, [ecx + edx]
ror edi, 0xe
xor esi, edi
mov edi, dword [ebp - 0xa4]
add ebx, edi
rol ebx, 7
xor dword [ebp - 0x94], ebx
mov ebx, dword [ebp - 0x94]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x84], edi
mov edi, ebx
mov ebx, dword [ebp - 0x84]
add ebx, edi
mov edi, dword [ebp - 0x84]
rol ebx, 0xd
xor dword [ebp - 0xb4], ebx
mov ebx, dword [ebp - 0xb4]
add edi, ebx
mov ebx, dword [ebp - 0x90]
ror edi, 0xe
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xa0]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x80], edi
mov edi, ebx
mov ebx, dword [ebp - 0x80]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xb0], edi
mov edi, ebx
mov ebx, dword [ebp - 0xb0]
add ebx, edi
mov edi, dword [ebp - 0xb0]
rol ebx, 0xd
xor dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xa0]
add edi, ebx
ror edi, 0xe
mov ebx, dword [ebp - 0x7c]
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x8c]
add edi, ebx
rol edi, 7
xor dword [ebp - 0xac], edi
mov edi, ebx
mov ebx, dword [ebp - 0xac]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x9c], edi
mov edi, ebx
mov ebx, dword [ebp - 0x9c]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0x9c]
xor dword [ebp - 0x8c], ebx
mov ebx, dword [ebp - 0x8c]
add edi, ebx
ror edi, 0xe
xor dword [ebp - 0x7c], edi
mov edi, dword [ebp - 0xac]
add edi, esi
rol edi, 7
xor dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0xb4]
add edi, esi
rol edi, 9
xor dword [ebp - 0xb0], edi
mov ebx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xb4]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0xb0]
xor dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0xac]
add ebx, edi
mov edi, dword [ebp - 0xa4]
add edi, eax
ror ebx, 0xe
xor esi, ebx
rol edi, 7
xor dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa0]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0xa0]
xor dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0x9c]
add ebx, edi
mov edi, dword [ebp - 0x9c]
rol ebx, 0xd
xor eax, ebx
add edi, eax
ror edi, 0xe
mov ebx, dword [ebp - 0x94]
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x90]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x8c], edi
mov ebx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x90]
add ebx, edi
mov edi, dword [ebp - 0x8c]
rol ebx, 9
xor ecx, ebx
mov ebx, dword [ebp - 0x80]
add edi, ecx
rol edi, 0xd
xor dword [ebp - 0x94], edi
mov edi, dword [ebp - 0x94]
add edi, ecx
ror edi, 0xe
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x7c]
add edi, ebx
rol edi, 7
xor edx, edi
mov edi, dword [ebp - 0x7c]
add edi, edx
rol edi, 9
xor dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x84]
add edi, edx
rol edi, 0xd
xor dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x80]
add ebx, edi
ror ebx, 0xe
xor dword [ebp - 0x7c], ebx
dec dword [ebp - 0x5c]
jne 0x100f6ed2
mov dword [ebp - 0x88], edx
push 0x40
xor edx, edx
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xb8], esi
pop ebx
mov ecx, dword [ebp + eax - 0x13c]
add dword [ebp + eax - 0xb8], ecx
add eax, 4
cmp eax, ebx
jl 0x100f7126
lea edi, [ebp - 0x44]
inc dword [ebp - 0x11c]
push 0x10
lea esi, [ebp - 0xb8]
pop ecx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0xc8], ebx
jbe 0x100f718a
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
lea edi, [esi + eax]
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + edi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
inc edx
mov byte [ecx + esi], al
cmp edx, ebx
jb 0x100f7160
sub dword [ebp - 0xc8], ebx
add dword [ebp - 0x70], ebx
add esi, ebx
add dword [ebp - 0x78], ebx
mov dword [ebp - 0x68], esi
jmp 0x100f6ea2
cmp dword [ebp - 0xc8], edx
jbe 0x100f71b7
lea eax, [ebp - 0x44]
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x78]
sub esi, eax
sub edi, eax
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + esi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
mov byte [ecx + edi], al
inc edx
cmp edx, dword [ebp - 0xc8]
jb 0x100f719f
mov ebx, dword [ebp - 0xbc]
mov esi, 0x10000000
mov edi, 0xfffff000
mov eax, dword [ebp - 0xc4]
mov al, byte [eax + 8]
xor al, byte [ebp - 0x55]
je 0x100f7262
call fcn.1005aa5d
mov edx, 0xffff
mov ebx, eax
mov eax, dword [ebp - 0xe8]
lea ecx, [eax + 0xc]
and ecx, 0xfffffffc
mov dword [eax + 8], 0x100f1b6e
lea esi, [ecx + 0xfff]
and ebx, edi
and esi, edi
xor eax, eax
mov edi, dword [0x1012ee38]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov dword [0x1012ee38], edi
shr edi, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, edi
test edx, edx
jne 0x100f7204
mov edi, 0xffff
div edi
mov eax, ecx
inc edx
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x148], edx
cmp ecx, esi
mov dword [ebp - 0x6c], 0
jae 0x100f7258
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
add eax, 4
cmp eax, esi
jb 0x100f724c
mov eax, 0x100f1b6e
jmp 0x100f734d
mov ecx, dword [0x1001256c]
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], eax
sub esi, ecx
mov dword [ebp - 0xc4], esi
jne 0x100f728c
test eax, eax
je 0x100f733d
mov ecx, dword [0x10103928]
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0xc0]
sub esi, dword [ebp - 0xcc]
add eax, ebx
xor ebx, ebx
dec ecx
mov dword [ebp - 0x6c], eax
js 0x100f72d3
lea eax, [ebx + ecx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x1010392c]
and edx, 0xfffffff
cmp dword [ebp - 0x74], edx
jae 0x100f72ca
lea ecx, [eax - 1]
jmp 0x100f72cf
jbe 0x100f72d7
lea ebx, [eax + 1]
cmp ecx, ebx
jge 0x100f72ab
mov edi, ebx
jmp 0x100f7335
mov edi, eax
jmp 0x100f7335
mov eax, dword [edi*4 + 0x1010392c]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0x6c]
jae 0x100f733d
lea ebx, [ecx + esi + 0x10000000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x100f7322
dec ecx
je 0x100f731a
dec ecx
jne 0x100f732e
mov edx, dword [ebp - 0xc4]
jmp 0x100f732e
mov edx, dword [ebp - 0xbc]
jmp 0x100f732e
mov edx, dword [ebp - 0xc4]
sub edx, dword [ebp - 0xbc]
dec eax
dec eax
jne 0x100f7334
add dword [ebx], edx
inc edi
cmp edi, dword [0x10103928]
jb 0x100f72db
mov eax, dword [0x1007b9bc]
mov eax, 0x6922080c
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 8], eax
mov edi, dword [ebp - 0x144]
mov edx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x150]
mov ebx, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
popfd
ret