Function at 0x423a00
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x471ebb
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49ab20]
xor eax, esp
push eax
lea eax, [esp + 0x250]
mov dword fs:[0], eax
xor edi, edi
mov dword [esp + 0x2c], edi
call fcn.00424af0
mov esi, dword [esp + 0x264]
push esi
call fcn.0041fb50
add esp, 4
test eax, eax
jne 0x423a5d
push esi
call fcn.0041fde0
add esp, 4
test al, al
je 0x423af2
lea ecx, [esp + 0x14]
call fcn.0040fbe0
mov dword [esp + 0x258], edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0x64
xor esi, esi
nop
push 0x216
lea eax, [esp + 0x3c]
push edi
push eax
call fcn.00451660
mov ecx, dword [esp + esi*4 + 0x3c]
add esp, 0xc
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ecx
push edx
lea ecx, [esp + 0x18]
call fcn.004221f0
inc esi
cmp esi, 2
jb 0x423a80
mov ecx, dword [esp + 0x260]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.0041ffa0
add esp, 8
test eax, eax
jne 0x423af9
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x423ad9
push eax
call fcn.0042eb59
add esp, 4
mov edx, dword [esp + 0x14]
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call fcn.0042eb59
add esp, 4
xor eax, eax
jmp 0x424065
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x423f3f
xor ebx, ebx
cmp edi, eax
jb 0x423b2f
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebx + ecx], 1
je 0x423b5a
inc edi
add ebx, 0x216
cmp edi, eax
jb 0x423b2f
jmp 0x423f3f
cmp edi, eax
jb 0x423b6b
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
mov ebx, edi
imul ebx, ebx, 0x216
mov ebp, dword [ebx + ecx + 4]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423b97
call fcn.004533f0
mov ecx, dword [esp + 0x20]
mov ecx, dword [ebx + ecx + 8]
push 1
push 0x20100506
push ecx
push ebp
call fcn.0041fad0
add esp, 0x10
test eax, eax
je 0x423f37
test ebp, ebp
je 0x423f37
mov ecx, dword [esp + 0x26c]
lea eax, [ebp + 0x1e4]
mov ebp, dword [esp + 0x268]
push ecx
push ebp
push eax
lea edx, [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x26c]
push edx
push eax
call fcn.00420330
add esp, 0x14
test eax, eax
je 0x423f37
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x423d58
xor ebx, ebx
cmp edi, eax
jb 0x423c2c
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx], 1
je 0x423d2d
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423c5c
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx], 0x64
je 0x423d2d
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423c8c
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx + 4], 0
je 0x423d2d
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423cbd
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx + 8], 0
je 0x423d2d
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423cea
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebp, [ebx + ecx]
cmp edi, eax
jb 0x423d0d
call fcn.004533f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + ecx + 4]
push 0x20
push edx
push eax
push ecx
call fcn.00425e20
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add esp, 0x10
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add ebx, 0x216
cmp edi, eax
jb 0x423c2c
mov ebp, dword [esp + 0x268]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x423f2d
xor ebx, ebx
jmp 0x423d87
mov ebp, dword [esp + 0x268]
cmp edi, eax
jb 0x423d98
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx], 0x64
jne 0x423f09
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423dc8
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx + 4], 0
je 0x423ea5
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423df9
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx + 8], 0
je 0x423ea5
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423e2a
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ebp, [ebx + ecx]
cmp edi, eax
jb 0x423e4d
call fcn.004533f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x270]
mov eax, dword [esp + 0x26c]
push edx
mov edx, dword [esp + 0x26c]
push eax
mov eax, dword [esp + 0x26c]
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebx + ecx + 4]
push edx
push eax
call fcn.0041a680
add esp, 0x18
test eax, eax
je 0x423f37
cmp dword [esp + 0x268], 0
je 0x423f01
mov ecx, dword [esp + 0x26c]
push ecx
push 0
push 0
call dword [esp + 0x274]
jmp 0x423efa
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423ec5
call fcn.004533f0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x270]
mov esi, dword [esp + 0x26c]
mov eax, dword [esp + 0x264]
push edx
push esi
push ebp
push eax
lea ecx, [ebx + ecx + 0xc]
push ecx
call fcn.0041a590
add esp, 0x14
test eax, eax
je 0x423f37
test ebp, ebp
je 0x423f01
push esi
push 0
push 0
call ebp
add esp, 0xc
test al, al
je 0x423f37
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add ebx, 0x216
cmp edi, eax
jb 0x423d80
mov dword [esp + 0x2c], 1
jmp 0x423f3f
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
xor edi, edi
add eax, edx
je 0x424039
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ebx, ebx
cmp edi, eax
jb 0x423f75
call fcn.004533f0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp dword [ebx + ecx + 4], 0
je 0x423fb1
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423f9c
call fcn.004533f0
mov ecx, dword [esp + 0x20]
mov ecx, dword [ebx + ecx + 4]
push ecx
call fcn.00451a45
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 4
sub esi, ecx
mov eax, 0x7aba01eb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423fd1
call fcn.004533f0
mov ecx, dword [esp + 0x20]
lea ecx, [ebx + ecx + 0xc]
push ecx
call ebp
test eax, eax
je 0x42400d
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
mov eax, 0x7aba01eb
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x423ffe
call fcn.004533f0
mov ecx, dword [esp + 0x20]
lea edx, [ebx + ecx + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, esi
sub edx, ecx
mov eax, 0x7aba01eb
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add ebx, 0x216
cmp edi, eax
jb 0x423f75
xor esi, esi
cmp ecx, esi
je 0x424048
push ecx
call fcn.0042eb59
add esp, 4
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
call fcn.0042eb59
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x250]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x248
ret