Function at 0x417e20
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58a4ad
mov eax, dword fs:[0]
push eax
sub esp, 0x72c
mov eax, dword [0x5f0a00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x738], eax
call fcn.0040d9d0
mov ecx, eax
call fcn.0041eee0
call fcn.0040d9d0
mov ecx, eax
call fcn.00423150
call fcn.0040d9d0
add eax, 0x1b8
push 0
push eax
call fcn.00431920
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.00557d70
add esp, 0x14
lea eax, [ebp - 0x210]
push 0
push 2
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x434], 0
movups xmmword [ebp - 0x448], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417ed0
sub ecx, edx
lea eax, [ebp - 0x210]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.0040b6c0
mov dword [ebp - 4], 0
call fcn.0040d9d0
mov edx, dword [eax + 0xa8]
add eax, 0x98
mov edi, SysReAllocString
mov ecx, edi
sub ecx, edx
cmp ecx, 1
jb 0x418b85
cmp dword [eax + 0x14], 7
mov ecx, eax
jbe 0x417f25
mov ecx, dword [eax]
push edx
push ecx
push 1
push 0x59a5d0
push eax
push dword [ebp - 0x724]
lea ecx, [ebp - 0x430]
call fcn.004159b0
cmp dword [ebp - 0x41c], 7
lea eax, [ebp - 0x430]
push dword [ebp - 0x420]
cmova eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x448]
push eax
mov byte [ebp - 4], 1
call fcn.00410b40
mov ecx, dword [ebp - 0x41c]
mov byte [ebp - 4], 0
cmp ecx, 7
jbe 0x417fae
mov edx, dword [ebp - 0x430]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417fa4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418ba3
push ecx
push edx
call fcn.0055241f
add esp, 8
call fcn.0040d9d0
mov ecx, dword [ebp - 0x438]
lea esi, [eax + 0x80]
mov eax, edi
sub eax, ecx
cmp eax, 1
jb 0x418b8a
cmp dword [ebp - 0x434], 7
lea eax, [ebp - 0x448]
push 1
cmova eax, dword [ebp - 0x448]
push 0x59a5d0
push ecx
push eax
lea eax, [ebp - 0x448]
push eax
push dword [ebp - 0x724]
lea ecx, [ebp - 0x4c8]
call fcn.004159b0
cmp dword [esi + 0x14], 7
mov eax, dword [esi + 0x10]
mov byte [ebp - 4], 2
jbe 0x418010
mov esi, dword [esi]
push eax
push esi
lea ecx, [ebp - 0x4c8]
call fcn.00410b40
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x478], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x468], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov ecx, dword [ebp - 0x4b4]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x41808b
mov edx, dword [ebp - 0x4c8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418081
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b8f
push ecx
push edx
call fcn.0055241f
add esp, 8
xor eax, eax
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 7
mov word [ebp - 0x4c8], ax
call fcn.0040d9d0
cmp dword [ebp - 0x464], 7
lea edi, [ebp - 0x478]
push ecx
cmova edi, dword [ebp - 0x478]
mov ecx, esp
mov dword [ebp - 0x71c], eax
mov eax, dword [0x5f0130]
mov dword [ebp - 0x720], ecx
mov dword [ecx], eax
test edi, edi
je 0x418131
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4180e0
sub esi, ecx
sar esi, 1
je 0x418131
lea eax, [esi*2 + 0xe]
push eax
call fcn.00440020
add esp, 4
test eax, eax
je 0x418131
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + esi*2 + 0xc], cx
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x720]
mov dword [eax], ecx
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.005577f0
add esp, 0xc
mov ecx, dword [ebp - 0x71c]
call fcn.00420460
call fcn.0040d9d0
cmp dword [ebp - 0x434], 7
lea edi, [ebp - 0x448]
push ecx
cmova edi, dword [ebp - 0x448]
mov ecx, esp
mov dword [ebp - 0x71c], eax
mov eax, dword [0x5f0130]
mov dword [ebp - 0x720], ecx
mov dword [ecx], eax
test edi, edi
je 0x4181c5
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x418174
sub esi, ecx
sar esi, 1
je 0x4181c5
lea eax, [esi*2 + 0xe]
push eax
call fcn.00440020
add esp, 4
test eax, eax
je 0x4181c5
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + esi*2 + 0xc], cx
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x720]
mov dword [eax], ecx
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.005577f0
add esp, 0xc
mov ecx, dword [ebp - 0x71c]
call fcn.00420460
push 0
push 0x17
lea eax, [ebp - 0x210]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4181f0
sub ecx, edx
lea eax, [ebp - 0x210]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x448]
call fcn.00418d10
call fcn.0040d9d0
mov edx, dword [eax + 0xa8]
add eax, 0x98
mov edi, SysReAllocString
mov ecx, edi
sub ecx, edx
cmp ecx, 1
jb 0x418b94
cmp dword [eax + 0x14], 7
mov ecx, eax
jbe 0x41823e
mov ecx, dword [eax]
push edx
push ecx
push 1
push 0x59a5d0
push eax
push dword [ebp - 0x724]
lea ecx, [ebp - 0x430]
call fcn.004159b0
cmp dword [ebp - 0x41c], 7
lea eax, [ebp - 0x430]
push dword [ebp - 0x420]
cmova eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x448]
push eax
mov byte [ebp - 4], 5
call fcn.00410b40
mov ecx, dword [ebp - 0x41c]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x4182c7
mov edx, dword [ebp - 0x430]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4182bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418ba3
push ecx
push edx
call fcn.0055241f
add esp, 8
call fcn.0040d9d0
mov ecx, dword [ebp - 0x438]
sub edi, ecx
lea esi, [eax + 0x80]
cmp edi, 1
jb 0x418b99
cmp dword [ebp - 0x434], 7
lea eax, [ebp - 0x448]
push 1
cmova eax, dword [ebp - 0x448]
push 0x59a5d0
push ecx
push eax
lea eax, [ebp - 0x448]
push eax
push dword [ebp - 0x724]
lea ecx, [ebp - 0x494]
call fcn.004159b0
cmp dword [esi + 0x14], 7
mov eax, dword [esi + 0x10]
mov byte [ebp - 4], 6
jbe 0x418327
mov esi, dword [esi]
push eax
push esi
lea ecx, [ebp - 0x494]
call fcn.00410b40
xor ecx, ecx
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov eax, dword [ebp - 0x464]
movq qword [ebp - 0x728], xmm1
movups xmmword [ebp - 0x428], xmm0
cmp eax, 7
jbe 0x4183ad
mov edx, dword [ebp - 0x478]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418394
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b9e
push ecx
push edx
call fcn.0055241f
movups xmm0, xmmword [ebp - 0x428]
add esp, 8
movq xmm1, qword [ebp - 0x728]
mov ecx, dword [ebp - 0x480]
movq qword [ebp - 0x468], xmm1
mov byte [ebp - 4], 4
movups xmmword [ebp - 0x478], xmm0
cmp ecx, 7
jbe 0x418400
mov edx, dword [ebp - 0x494]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4183f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b9e
push ecx
push edx
call fcn.0055241f
add esp, 8
call fcn.0040d9d0
cmp dword [ebp - 0x464], 7
lea edi, [ebp - 0x478]
push ecx
cmova edi, dword [ebp - 0x478]
mov ecx, esp
mov dword [ebp - 0x71c], eax
mov eax, dword [0x5f0130]
mov dword [ebp - 0x720], ecx
mov dword [ecx], eax
test edi, edi
je 0x418491
mov esi, edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x418440
sub esi, ecx
sar esi, 1
je 0x418491
lea eax, [esi*2 + 0xe]
push eax
call fcn.00440020
add esp, 4
test eax, eax
je 0x418491
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + esi*2 + 0xc], cx
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x720]
mov dword [eax], ecx
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.005577f0
add esp, 0xc
mov ecx, dword [ebp - 0x71c]
call fcn.00420460
call fcn.0040d9d0
cmp dword [ebp - 0x434], 7
lea edi, [ebp - 0x448]
push ecx
cmova edi, dword [ebp - 0x448]
mov ecx, esp
mov dword [ebp - 0x71c], eax
mov eax, dword [0x5f0130]
mov dword [ebp - 0x720], ecx
mov dword [ecx], eax
test edi, edi
je 0x418525
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4184d4
sub esi, ecx
sar esi, 1
je 0x418525
lea eax, [esi*2 + 0xe]
push eax
call fcn.00440020
add esp, 4
test eax, eax
je 0x418525
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + esi*2 + 0xc], cx
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x720]
mov dword [eax], ecx
lea eax, [esi + esi]
push eax
push edi
push ecx
call fcn.005577f0
add esp, 0xc
mov ecx, dword [ebp - 0x71c]
call fcn.00420460
mov dword [ebp - 0x72c], 0
call fcn.0040d9d0
mov ecx, dword [eax + 0x228]
sub ecx, dword [eax + 0x224]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [ebp - 0x720], esi
call fcn.0040d9d0
push 0xffffffffffffffff
mov ecx, eax
call fcn.00423870
lea edi, [esi - 1]
mov dword [ebp - 0x71c], edi
test edi, edi
js 0x41888c
lea esi, [edi + edi*2]
shl esi, 3
mov dword [ebp - 0x734], esi
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x450], 0
xor eax, eax
mov dword [ebp - 0x44c], 7
movups xmmword [ebp - 0x460], xmm0
mov word [ebp - 0x460], ax
mov byte [ebp - 4], 7
call fcn.0040d9d0
lea ecx, [ebp - 0x460]
mov eax, dword [eax + 0x224]
add eax, esi
cmp ecx, eax
je 0x4185ea
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4185dd
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x460]
call fcn.00418d10
cmp dword [ebp - 0x44c], 7
lea edi, [ebp - 0x460]
mov esi, dword [ebp - 0x450]
xorps xmm0, xmm0
cmova edi, dword [ebp - 0x460]
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
movups xmmword [ebp - 0x430], xmm0
cmp esi, 0x7ffffffe
ja 0x418b85
cmp esi, 7
ja 0x418655
mov dword [ebp - 0x420], esi
lea eax, [ebp - 0x430]
mov dword [ebp - 0x41c], 7
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x430], xmm0
jmp 0x4186ca
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x418668
mov eax, SysReAllocString
jmp 0x418673
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x730], eax
lea eax, [ebp - 0x730]
push eax
lea eax, [ebp - 0x430]
push eax
call fcn.0040b660
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x41c], ecx
lea ecx, [esi*2 + 2]
push ecx
push edi
push eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x420], esi
call fcn.005577f0
add esp, 0x14
lea eax, [ebp - 0x430]
cmp dword [ebp - 0x41c], 7
cmova eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x718]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp esi, 0xffffffff
je 0x4186ff
test byte [ebp - 0x718], 0x10
je 0x4186ff
lea ecx, [ebp - 0x430]
call fcn.0040bf90
jmp 0x418824
lea ecx, [ebp - 0x430]
call fcn.0040bf90
cmp dword [ebp - 0x44c], 7
lea eax, [ebp - 0x460]
cmova eax, dword [ebp - 0x460]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x41872f
call dword [sym.imp.KERNEL32.dll_GetLastError]
call fcn.0040d9d0
mov esi, eax
mov dword [ebp - 0x724], esi
call fcn.0040d9d0
mov edi, dword [ebp - 0x734]
add edi, dword [eax + 0x224]
mov eax, dword [esi + 0x228]
mov dword [ebp - 0x730], eax
lea esi, [edi + 0x18]
cmp esi, eax
je 0x41879e
cmp edi, esi
je 0x418794
mov ecx, edi
call fcn.0040bf90
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov word [esi], ax
mov eax, dword [ebp - 0x730]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
add esi, 0x18
add edi, 0x18
cmp esi, eax
jne 0x418760
mov edi, dword [ebp - 0x724]
mov esi, dword [edi + 0x228]
mov ecx, dword [esi - 4]
cmp ecx, 7
jbe 0x4187e4
mov eax, dword [esi - 0x18]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x4187da
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b8f
mov eax, edx
push ecx
push eax
call fcn.0055241f
add esp, 8
push dword [ebp - 0x720]
mov dword [esi - 8], 0
xor eax, eax
mov dword [esi - 4], 7
mov word [esi - 0x18], ax
mov esi, dword [ebp - 0x72c]
add dword [edi + 0x228], 0xffffffe8
inc esi
push esi
push 0x403
push dword [ebp - 0x738]
mov dword [ebp - 0x72c], esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0x44c]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x418868
mov edx, dword [ebp - 0x460]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41885e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b8f
push ecx
push edx
call fcn.0055241f
add esp, 8
mov edi, dword [ebp - 0x71c]
mov esi, dword [ebp - 0x734]
dec edi
sub esi, 0x18
mov dword [ebp - 0x71c], edi
mov dword [ebp - 0x734], esi
test edi, edi
jns 0x418590
xor edi, edi
call fcn.0040d9d0
mov ecx, dword [eax + 0x228]
sub ecx, dword [eax + 0x224]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4189c0
xor esi, esi
nop dword [eax + eax]
xorps xmm0, xmm0
mov dword [ebp - 0x4a0], 0
xor eax, eax
mov dword [ebp - 0x49c], 7
movups xmmword [ebp - 0x4b0], xmm0
mov word [ebp - 0x4b0], ax
mov byte [ebp - 4], 8
call fcn.0040d9d0
lea ecx, [ebp - 0x4b0]
mov eax, dword [eax + 0x224]
add eax, esi
cmp ecx, eax
je 0x41891a
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41890d
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00418d10
lea eax, [ebp - 0x4b0]
push eax
call fcn.00430d20
mov eax, dword [ebp - 0x72c]
add esp, 4
inc eax
mov dword [ebp - 0x72c], eax
push dword [ebp - 0x720]
push eax
push 0x403
push dword [ebp - 0x738]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0x49c]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x418992
mov edx, dword [ebp - 0x4b0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418988
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b8f
push ecx
push edx
call fcn.0055241f
add esp, 8
inc edi
add esi, 0x18
call fcn.0040d9d0
mov ecx, dword [eax + 0x228]
sub ecx, dword [eax + 0x224]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4188c0
call fcn.0040d9d0
cmp dword [eax + 0x16c], 0
je 0x418aca
push 0x104
lea eax, [ebp - 0x418]
mov dword [ebp - 0x486], 0
push 0
push eax
call fcn.00557d70
add esp, 0xc
call fcn.0040d9d0
add eax, 0x68
cmp dword [eax + 0x14], 7
jbe 0x418a02
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x418]
push 0x104
push eax
call fcn.005611a7
lea ecx, [ebp - 0x418]
add esp, 0xc
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x418a20
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 + 2]
cmp ecx, 0x208
jae 0x418ba8
xor eax, eax
mov dword [ebp - 0x482], 0
mov word [ebp + ecx - 0x418], ax
mov eax, 0x414
mov word [ebp - 0x488], ax
lea eax, [ebp - 0x418]
mov dword [ebp - 0x490], eax
lea eax, [ebp - 0x498]
push eax
mov dword [ebp - 0x498], 0
mov dword [ebp - 0x47e], 0
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x494], 3
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
jne 0x418aca
call fcn.0040d9d0
mov esi, eax
call fcn.0040d9d0
sub esp, 0x18
mov edx, esp
lea ecx, [eax + 0x68]
push ecx
mov ecx, edx
call fcn.00415900
mov ecx, esi
call fcn.0041ef70
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0x404
push dword [ebp - 0x738]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x464]
cmp eax, 7
jbe 0x418b2a
mov edx, dword [ebp - 0x478]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418b20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418ba3
push ecx
push edx
call fcn.0055241f
add esp, 8
mov ecx, dword [ebp - 0x434]
cmp ecx, 7
jbe 0x418b66
mov edx, dword [ebp - 0x448]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418b5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418ba3
push ecx
push edx
call fcn.0055241f
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00551e44
mov esp, ebp
pop ebp
ret 4
call fcn.0040c990
call fcn.0040c990
call fcn.0055bf8b
call fcn.0040c990
call fcn.0040c990
call fcn.0055bf8b
call fcn.0055bf8b
call fcn.005522ef
int3