Function at 0x4768a5
Capabilities:
Check if file exists
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56ded0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x41230
call fcn.005374e0
push 0
mov eax, dword [0x5c3074]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4768de
jmp 0x4775b0
call fcn.0055f60b
mov ecx, dword [eax + 4]
mov dword [ebp - 0x410ac], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x41150], edx
mov eax, dword [ebp - 0x41150]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x41154], edx
mov eax, dword [ebp - 0x41154]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x41158], edx
mov eax, dword [ebp - 0x41158]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x4115c], edx
mov eax, dword [ebp - 0x4115c]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x18]
mov dword [ebp - 0x41160], edx
mov eax, dword [ebp - 0x41160]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
mov dword [ebp - 4], 0
push 0x5b1230
push 0x9a
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b6118
test eax, eax
je 0x476996
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b5e28
push 0x5b1238
mov ecx, dword [0x5c3070]
add ecx, 0x16cc
call fcn.00551562
lea ecx, [ebp - 0x410a4]
call fcn.004e70a0
mov byte [ebp - 4], 1
mov edx, dword [0x5be480]
mov dword [ebp - 0x410b0], edx
mov byte [ebp - 4], 2
mov eax, dword [0x5be480]
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 3
push 0x5b123c
lea ecx, [ebp - 0x34]
call fcn.0054d4bf
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x410ec], esp
lea edx, [ebp - 0x34]
push edx
call fcn.0054d095
mov dword [ebp - 0x41188], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410a4]
call fcn.004e75e4
mov dword [ebp - 0x4118c], eax
cmp dword [ebp - 0x4118c], 0
jne 0x476b04
push 0x5b12c0
call fcn.0053842e
add esp, 4
push eax
lea ecx, [ebp - 0x410b4]
call fcn.0054d39c
mov byte [ebp - 4], 4
push 0x5c
lea ecx, [ebp - 0x410b4]
call fcn.0054a7e6
cmp eax, 1
jle 0x476aa1
push 0x5b12d0
lea eax, [ebp - 0x410b4]
push eax
lea ecx, [ebp - 0x410f0]
push ecx
call fcn.0054d5cd
mov dword [ebp - 0x41190], eax
mov edx, dword [ebp - 0x41190]
mov dword [ebp - 0x41194], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x41194]
push eax
lea ecx, [ebp - 0x410b4]
call fcn.0054d46f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x410f0]
call fcn.0054d328
push 0x5b12d4
lea ecx, [ebp - 0x410b4]
push ecx
lea edx, [ebp - 0x410f4]
push edx
call fcn.0054d5cd
mov dword [ebp - 0x41198], eax
mov eax, dword [ebp - 0x41198]
mov dword [ebp - 0x4119c], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x4119c]
push ecx
lea ecx, [ebp - 0x410b0]
call fcn.0054d46f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x410f4]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410b4]
call fcn.0054d328
jmp 0x476cc2
push ecx
mov ecx, esp
mov dword [ebp - 0x410f8], esp
push 0x5b12e4
call fcn.0054d39c
mov dword [ebp - 0x411a0], eax
mov edx, dword [ebp - 0x411a0]
mov dword [ebp - 0x411a4], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x410ac]
add eax, 0x1a4
push ecx
mov ecx, esp
mov dword [ebp - 0x410fc], esp
push eax
call fcn.0054d095
mov dword [ebp - 0x411a8], eax
lea ecx, [ebp - 0x41100]
push ecx
lea ecx, [ebp - 0x410a4]
mov byte [ebp - 4], 3
call fcn.00425c70
mov dword [ebp - 0x411ac], eax
mov edx, dword [ebp - 0x411ac]
mov dword [ebp - 0x411b0], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x411b0]
push eax
lea ecx, [ebp - 0x410b0]
call fcn.0054d46f
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x41100]
call fcn.0054d328
mov ecx, dword [ebp - 0x410b0]
mov edx, dword [ecx - 8]
mov dword [ebp - 0x41164], edx
cmp dword [ebp - 0x41164], 0
je 0x476be6
push 0x5b12ec
mov eax, dword [ebp - 0x410b0]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x41168], eax
xor ecx, ecx
cmp dword [ebp - 0x41168], 0
sete cl
and ecx, 0xff
test ecx, ecx
je 0x476cc2
push 0x5b12f4
call fcn.0053842e
add esp, 4
push eax
lea ecx, [ebp - 0x410b8]
call fcn.0054d39c
mov byte [ebp - 4], 9
push 0x5c
lea ecx, [ebp - 0x410b8]
call fcn.0054a7e6
cmp eax, 1
jle 0x476c64
push 0x5b1304
lea edx, [ebp - 0x410b8]
push edx
lea eax, [ebp - 0x41104]
push eax
call fcn.0054d5cd
mov dword [ebp - 0x411b4], eax
mov ecx, dword [ebp - 0x411b4]
mov dword [ebp - 0x411b8], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x411b8]
push edx
lea ecx, [ebp - 0x410b8]
call fcn.0054d46f
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x41104]
call fcn.0054d328
push 0x5b1308
lea eax, [ebp - 0x410b8]
push eax
lea ecx, [ebp - 0x41108]
push ecx
call fcn.0054d5cd
mov dword [ebp - 0x411bc], eax
mov edx, dword [ebp - 0x411bc]
mov dword [ebp - 0x411c0], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x411c0]
push eax
lea ecx, [ebp - 0x410b0]
call fcn.0054d46f
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x41108]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410b8]
call fcn.0054d328
push 0x5c
lea ecx, [ebp - 0x410b0]
call fcn.0054a7e6
cmp eax, 1
je 0x476ce4
push 0x5b1318
lea ecx, [ebp - 0x410b0]
call fcn.0054d719
push 0x5b131c
lea ecx, [ebp - 0x14]
call fcn.0054d39c
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x410a8], 1
mov ecx, dword [0x5be480]
mov dword [ebp - 0x10], ecx
mov byte [ebp - 4], 0xd
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x4110c], esp
lea edx, [ebp - 0x14]
push edx
call fcn.0054d095
mov dword [ebp - 0x411c4], eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x410a4]
call fcn.004e75e4
mov dword [ebp - 0x411c8], eax
cmp dword [ebp - 0x411c8], 0
je 0x47744a
lea ecx, [ebp - 0x410cc]
call fcn.0054c3ab
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x410cc]
push eax
lea ecx, [ebp - 0x410a4]
call fcn.004e9b9e
mov ecx, dword [ebp - 0x410c4]
mov dword [ebp - 0x410d4], ecx
mov dword [ebp - 0x410d0], 0
jmp 0x476d93
mov edx, dword [ebp - 0x410d0]
add edx, 1
mov dword [ebp - 0x410d0], edx
mov eax, dword [ebp - 0x410d0]
cmp eax, dword [ebp - 0x410d4]
jge 0x47743b
push 0
mov ecx, dword [0x5c3074]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x476e54
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x410cc]
call fcn.0054c3de
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410b0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410a4]
call fcn.004e71cb
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0054d328
jmp 0x4775b0
mov edx, dword [ebp - 0x410d0]
push edx
lea eax, [ebp - 0x410d8]
push eax
lea ecx, [ebp - 0x410cc]
call fcn.00419890
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x410d8]
mov edx, dword [ecx - 8]
mov dword [ebp - 0x4116c], edx
cmp dword [ebp - 0x4116c], 0
je 0x477427
mov eax, dword [ebp - 0x410d8]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xb14
call fcn.00551562
mov dword [ebp - 0x410dc], 0
lea ecx, [ebp - 0x410dc]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x41110], esp
lea edx, [ebp - 0x410d8]
push edx
call fcn.0054d095
mov dword [ebp - 0x411cc], eax
lea ecx, [ebp - 0x410a4]
call fcn.004e99fe
mov dword [ebp - 0x411d0], eax
mov eax, dword [ebp - 0x411d0]
mov dword [ebp - 0x410e0], eax
cmp dword [ebp - 0x410e0], 1
jne 0x477427
mov ecx, dword [0x5be480]
mov dword [ebp - 0x410e8], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [0x5be480]
mov dword [ebp - 0x410e4], edx
mov byte [ebp - 4], 0x15
push ecx
mov ecx, esp
mov dword [ebp - 0x41114], esp
push 0x5b1384
call fcn.0054d39c
mov dword [ebp - 0x411d4], eax
mov eax, dword [ebp - 0x411d4]
mov dword [ebp - 0x411d8], eax
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x41118], esp
lea edx, [ebp - 0x410d8]
push edx
call fcn.0054d095
mov dword [ebp - 0x411dc], eax
lea eax, [ebp - 0x4111c]
push eax
lea ecx, [ebp - 0x410a4]
mov byte [ebp - 4], 0x15
call fcn.00425c70
mov dword [ebp - 0x411e0], eax
mov ecx, dword [ebp - 0x411e0]
mov dword [ebp - 0x411e4], ecx
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x411e4]
push edx
lea ecx, [ebp - 0x410e8]
call fcn.0054d46f
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4111c]
call fcn.0054d328
push 0x5b138c
mov eax, dword [ebp - 0x410e8]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x41170], eax
xor ecx, ecx
cmp dword [ebp - 0x41170], 0
setne cl
and ecx, 0xff
test ecx, ecx
je 0x477409
mov edx, dword [ebp - 0x410e8]
mov eax, dword [edx - 8]
mov dword [ebp - 0x41174], eax
cmp dword [ebp - 0x41174], 0
je 0x477409
push 0x5b1394
lea ecx, [ebp - 0x410e8]
call fcn.0054a808
cmp eax, 0xffffffff
jne 0x477062
lea ecx, [ebp - 0x410e8]
push ecx
lea edx, [ebp - 0x410b0]
push edx
lea eax, [ebp - 0x41120]
push eax
call fcn.0054d567
mov dword [ebp - 0x411e8], eax
mov ecx, dword [ebp - 0x411e8]
mov dword [ebp - 0x411ec], ecx
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x411ec]
push edx
lea ecx, [ebp - 0x410e8]
call fcn.0054d46f
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x41120]
call fcn.0054d328
mov eax, dword [ebp - 0x410e8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x477409
push ecx
mov ecx, esp
mov dword [ebp - 0x41124], esp
push 0x5c3318
call fcn.0054d39c
mov dword [ebp - 0x411f0], eax
mov ecx, dword [ebp - 0x411f0]
mov dword [ebp - 0x411f4], ecx
mov byte [ebp - 4], 0x19
push ecx
mov ecx, esp
mov dword [ebp - 0x41128], esp
lea edx, [ebp - 0x410d8]
push edx
call fcn.0054d095
mov dword [ebp - 0x411f8], eax
mov eax, dword [ebp - 0x411f8]
mov dword [ebp - 0x411fc], eax
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, esp
mov dword [ebp - 0x4112c], esp
push 0x5c331c
call fcn.0054d39c
mov dword [ebp - 0x41200], eax
mov ecx, dword [ebp - 0x41200]
mov dword [ebp - 0x41204], ecx
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x410a4]
call fcn.00486080
push eax
mov byte [ebp - 4], 0x15
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x41208], eax
cmp dword [ebp - 0x41208], 0
jne 0x477409
mov dword [ebp - 0x30], 1
mov edx, dword [ebp - 0x1054]
mov dword [ebp - 0x41178], edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x41178]
push ecx
lea edx, [ebp - 0x41130]
push edx
call fcn.00485900
add esp, 8
mov dword [ebp - 0x4120c], eax
mov eax, dword [ebp - 0x4120c]
mov dword [ebp - 0x41210], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x41210]
mov edx, dword [ecx]
push edx
push 0x5b1398
lea eax, [ebp - 0x10]
push eax
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x41130]
call fcn.0054d328
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0054d46f
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x2c]
call fcn.0054d46f
lea eax, [ebp - 0x410d8]
push eax
lea ecx, [ebp - 0x24]
call fcn.0054d46f
push ecx
mov ecx, esp
mov dword [ebp - 0x41134], esp
push 0x5b13a4
call fcn.0054d39c
mov dword [ebp - 0x41214], eax
mov ecx, dword [ebp - 0x41214]
mov dword [ebp - 0x41218], ecx
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, esp
mov dword [ebp - 0x41138], esp
lea edx, [ebp - 0x410d8]
push edx
call fcn.0054d095
mov dword [ebp - 0x4121c], eax
lea eax, [ebp - 0x4113c]
push eax
lea ecx, [ebp - 0x410a4]
mov byte [ebp - 4], 0x15
call fcn.00425c70
mov dword [ebp - 0x41220], eax
mov ecx, dword [ebp - 0x41220]
mov dword [ebp - 0x41224], ecx
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x41224]
push edx
lea ecx, [ebp - 0x20]
call fcn.0054d46f
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4113c]
call fcn.0054d328
mov dword [ebp - 0x1c], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41140], esp
push str.REGISTRY_ERROR_24
call fcn.0054d39c
mov dword [ebp - 0x41228], eax
lea eax, [ebp - 0x41144]
push eax
mov ecx, dword [ebp - 0x410ac]
call fcn.004be333
mov dword [ebp - 0x4122c], eax
mov ecx, dword [ebp - 0x4122c]
mov dword [ebp - 0x41230], ecx
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x41230]
push edx
lea ecx, [ebp - 0x18]
call fcn.0054d46f
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x41144]
call fcn.0054d328
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x41148], esp
mov dword [ebp - 0x4117c], eax
mov ecx, dword [ebp - 0x4117c]
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x4117c]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x4117c]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x21
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x4117c]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4117c]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x4117c]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 0x14], edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4117c]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x4117c]
mov dword [ebp - 0x41234], ecx
mov ecx, dword [ebp - 0x410ac]
add ecx, 0x24c
call fcn.0045ada0
push 1
push 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4114c], esp
lea edx, [ebp - 0x30]
push edx
call fcn.0045ac60
mov dword [ebp - 0x41238], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [ebp - 0x410a8]
push eax
push 0x5b13d0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x16cc
call fcn.00551562
mov eax, dword [ebp - 0x410ac]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5b13d8
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410ac]
mov edx, dword [ecx + 0x588]
add edx, 1
mov eax, dword [ebp - 0x410ac]
mov dword [eax + 0x588], edx
mov ecx, dword [ebp - 0x410a8]
add ecx, 1
mov dword [ebp - 0x410a8], ecx
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x410e4]
call fcn.0054d328
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x410e8]
call fcn.0054d328
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x410d8]
call fcn.0054d328
jmp 0x476d84
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x410cc]
call fcn.0054c3de
mov edx, dword [0x5c3070]
add edx, 0xe30
mov dword [ebp - 0x41180], edx
cmp dword [ebp - 0x41180], 0
jne 0x477471
mov dword [ebp - 0x4123c], 0
jmp 0x477480
mov eax, dword [ebp - 0x41180]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x4123c], ecx
cmp dword [ebp - 0x4123c], 0
je 0x47752c
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b7291
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b5bcf
mov edx, dword [ebp - 0x410ac]
mov eax, dword [edx + 0x254]
mov dword [ebp - 0x41184], eax
cmp dword [ebp - 0x41184], 0
jne 0x4774fc
push 0x5b13e0
push 0x114
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b6118
test eax, eax
je 0x4774fa
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b5e28
jmp 0x47752c
push 0x5b13e8
push 0x113
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b6118
test eax, eax
je 0x47752c
mov ecx, dword [0x5c3070]
add ecx, 0xe30
call fcn.004b5e28
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x410b0]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410a4]
call fcn.004e71cb
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret