Function at 0x476a75
Capabilities:
Delete file

Disassembly:
mov eax, 0x56d0bc
call fcn.00524444
sub esp, 0x25c
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
cmp esi, ebx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 0x164], bl
mov byte [ebp - 0x268], bl
mov byte [ebp - 0x60], bl
jne 0x476ac5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x60]
lea ecx, [ebp + 0x10]
mov dword [ebp + 0x10], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x64]
mov esi, eax
cmp esi, ebx
je 0x476dc4
cmp dword [edi + 0x498], ebx
je 0x476ad6
cmp dword [ebp + 0x18], ebx
jne 0x476dc4
push 0xffffffffffffffff
push ebx
push ebx
mov ecx, edi
call fcn.0050ddcb
cmp dword [ebp + 0x18], ebx
je 0x476b49
push ebx
push ebx
mov ecx, edi
call fcn.0046de5a
cmp dword [edi + 0x188], ebx
jne 0x476b21
mov eax, dword [edi + 0x20]
push 0x622c94
push eax
call fcn.00524dbe
pop ecx
test eax, eax
pop ecx
je 0x476b21
push dword [edi + 0x20]
lea eax, [ebp - 0x268]
push eax
call fcn.005254b0
mov eax, dword [edi + 0x20]
pop ecx
pop ecx
jmp 0x476b3b
push dword [edi + 0x158]
lea eax, [ebp - 0x268]
push eax
call fcn.005254b0
mov eax, dword [edi + 0x158]
pop ecx
pop ecx
mov dword [ebp + 0x14], eax
mov eax, dword [edi + 0x20c]
mov dword [ebp - 0x10], eax
jmp 0x476b5a
push dword [ebp + 0x14]
lea eax, [ebp - 0x268]
push eax
call fcn.005254b0
pop ecx
pop ecx
lea eax, [ebp - 0x268]
push eax
call fcn.00525390
pop ecx
dec eax
cmp eax, ebx
jle 0x476b7d
cmp byte [ebp + eax - 0x268], 0x5c
jne 0x476b67
mov byte [ebp + eax - 0x267], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0xf4240
div ecx
lea eax, [ebp - 0x60]
push 0x10
push eax
push edx
call fcn.00525629
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.005254b0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.005254c0
lea eax, [ebp - 0x164]
push str.atu.tmp
push eax
call fcn.005254c0
lea eax, [ebp - 0x164]
push eax
call fcn.004ac72a
add esp, 0x28
test eax, eax
je 0x476db7
mov ecx, edi
call fcn.0046ca72
push dword [ebp + 0x20]
mov eax, dword [eax]
lea ecx, [ebp - 0x164]
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp + 0x1c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push ebx
push ecx
push eax
push dword [ebp + 8]
mov ecx, esi
call fcn.004ac8fd
test eax, eax
je 0x476dad
lea ecx, [ebp - 0x3c]
call fcn.00479de5
push ebx
lea eax, [ebp - 0x164]
push 0x40
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], ebx
call fcn.0053f31e
cmp eax, ebx
je 0x476c66
lea eax, [edi + 0x208]
push ebx
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x164]
mov ecx, esi
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push ebx
push dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.004ac8fd
test eax, eax
jne 0x476c99
lea ecx, [ebp - 0x3c]
call fcn.0047a07c
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
push 0x30
push 0x5c4f44
call fcn.0054ed65
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00479e1c
jmp 0x476dc4
cmp dword [ebp + 0x18], ebx
je 0x476ca8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb0]
lea ecx, [ebp - 0x3c]
call fcn.0047a07c
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, ebx
je 0x476c88
mov ecx, dword [esi + 0xe0]
xor eax, eax
cmp ecx, ebx
jle 0x476cf4
mov ecx, dword [esi + 0xdc]
cmp dword [ebp + 0x1c], 1
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
jne 0x476ce5
lea edx, [edx + edx + 2]
jmp 0x476ce9
dec edx
dec edx
shr edx, 1
inc eax
mov dword [ecx], edx
cmp eax, dword [esi + 0xe0]
jl 0x476ccd
cmp dword [ebp + 0x18], ebx
je 0x476c88
lea eax, [edi + 0x248]
push eax
lea eax, [edi + 0x208]
push eax
call fcn.00479ea2
push 1
push ebx
mov ecx, edi
call fcn.004762d8
cmp dword [esi + 0x1f4], ebx
je 0x476d27
mov dword [esi + 0x20c], ebx
push ebx
jmp 0x476d3b
mov ecx, dword [edi + 0x18c]
lea eax, [edi + 0x18c]
mov dword [esi + 0x20c], ecx
push dword [eax]
push dword [esi + 0x1c]
call fcn.0044a35e
mov eax, dword [edi + 0x1f4]
lea ecx, [edi + 0x1f4]
cdq
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], edx
mov eax, dword [ecx]
cdq
mov dword [esi + 0x228], eax
mov dword [esi + 0x22c], edx
mov eax, dword [ecx]
mov ecx, esi
cdq
mov dword [esi + 0x218], eax
mov dword [esi + 0x21c], edx
mov dword [esi + 0x238], 1
call fcn.004afb02
push dword [edi + 0x190]
mov ecx, dword [0x62ae3c]
push dword [edi + 0x18c]
push dword [edi + 0x164]
call fcn.00480b1d
jmp 0x476c88
push ebx
push 0x30
push 0x5c4f1c
jmp 0x476dbf
push ebx
push 0x30
push 0x5c4ef4
call fcn.0054ed65
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret