Function at 0x407b30
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x434065
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa40
mov eax, dword [0x445164]
mov dword [esp + 0xa38], eax
push ebx
xor eax, eax
push esi
push edi
mov esi, ecx
xor ebx, ebx
mov word [esp + 0x428], bx
mov ecx, 0x81
lea edi, [esp + 0x42a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [esp + 0x220], bx
mov ecx, 0x81
lea edi, [esp + 0x222]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [esp + 0x18], bx
mov ecx, 0x81
lea edi, [esp + 0x1a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [esp + 0x838], bx
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x83a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, dword [ebp + 8]
push edi
lea ecx, [esp + 0x18]
call fcn.00401920
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebx
mov dword [esp + 0xa54], ebx
jl 0x407c31
push 0x437080
push eax
call fcn.00419d40
add esp, 8
cmp eax, ebx
je 0x407c31
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, ebx
jl 0x407c31
push 0x437068
call fcn.0041924a
lea eax, [edi + eax*2]
push eax
lea ecx, [esp + 0x430]
push ecx
call fcn.004197f7
lea edx, [esp + 0x22c]
push 0x43705c
push edx
call fcn.004197f7
add esp, 0x14
jmp 0x407c97
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x224]
push ecx
lea edx, [esp + 0x840]
push edx
push 0x43704c
push edi
call fcn.0041a458
lea eax, [esp + 0x84c]
push eax
call fcn.0041924a
lea ecx, [esp + 0x238]
mov edi, eax
push ecx
inc edi
call fcn.0041924a
lea edx, [esp + 0x34]
push edx
lea edi, [edi + eax + 1]
call fcn.0041924a
mov ecx, dword [ebp + 8]
lea eax, [edi + eax + 1]
lea edx, [ecx + eax*2]
push edx
lea eax, [esp + 0x44c]
push eax
call fcn.004197f7
add esp, 0x28
lea ecx, [esp + 0x18]
push ecx
call fcn.0041924a
add esp, 4
cmp eax, ebx
jne 0x407cba
lea edx, [esp + 0x18]
push 0x437040
push edx
call fcn.004197f7
add esp, 8
lea eax, [esp + 0x220]
push eax
lea edi, [esi + 0xc]
call fcn.0041924a
add esp, 4
push eax
lea ecx, [esp + 0x224]
push ecx
mov ecx, edi
call fcn.00401670
lea edx, [esp + 0x18]
push edx
lea edi, [esi + 8]
call fcn.0041924a
add esp, 4
push eax
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call fcn.00401670
push 0xc4
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 1
je 0x407d20
mov ecx, eax
call fcn.0040e990
jmp 0x407d22
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x40], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 2
je 0x407d52
mov ecx, eax
call fcn.0040e990
jmp 0x407d54
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x2c], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 3
je 0x407d84
mov ecx, eax
call fcn.0040e990
jmp 0x407d86
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x30], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 4
je 0x407db6
mov ecx, eax
call fcn.0040e990
jmp 0x407db8
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x3c], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 5
je 0x407de8
mov ecx, eax
call fcn.0040e990
jmp 0x407dea
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x34], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 6
je 0x407e1a
mov ecx, eax
call fcn.0040e990
jmp 0x407e1c
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x38], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 7
je 0x407e4c
mov ecx, eax
call fcn.0040e990
jmp 0x407e4e
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x44], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 8
je 0x407e7e
mov ecx, eax
call fcn.0040e990
jmp 0x407e80
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x48], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 9
je 0x407eb0
mov ecx, eax
call fcn.0040e990
jmp 0x407eb2
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x4c], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 0xa
je 0x407ee2
mov ecx, eax
call fcn.0040e990
jmp 0x407ee4
xor eax, eax
push 0xc4
mov byte [esp + 0xa58], bl
mov dword [esi + 0x50], eax
call fcn.0042749d
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0xa54], 0xb
je 0x407f14
mov ecx, eax
call fcn.0040e990
jmp 0x407f16
xor eax, eax
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x54], eax
mov dword [ecx + 0x3c], 0x5de
mov edx, dword [esi + 0x2c]
mov dword [edx + 0x3c], 0x5dd
mov eax, dword [esi + 0x30]
mov dword [eax + 0x3c], 0x5dc
mov ecx, dword [esi + 0x3c]
mov dword [ecx + 0x3c], 0x5df
mov edx, dword [esi + 0x34]
mov dword [edx + 0x3c], 0x5e0
mov eax, dword [esi + 0x38]
mov dword [eax + 0x3c], 0x5e1
mov ecx, dword [esi + 0x44]
mov dword [ecx + 0x3c], 0x5e2
mov edx, dword [esi + 0x48]
mov dword [edx + 0x3c], 0x5e3
mov eax, dword [esi + 0x4c]
mov dword [eax + 0x3c], 0x5e4
mov ecx, dword [esi + 0x50]
mov dword [ecx + 0x3c], 0x5e5
mov edx, dword [esi + 0x54]
mov dword [edx + 0x3c], 0x5e6
mov eax, dword [esi + 0x30]
mov dword [eax + 0x40], 1
mov ecx, dword [esi + 0x2c]
mov dword [ecx + 0x40], 2
mov edx, dword [esi + 0x40]
mov dword [edx + 0x40], 3
mov eax, dword [esi + 0x3c]
mov dword [eax + 0x40], 4
mov ecx, dword [esi + 0x34]
mov dword [ecx + 0x40], 5
mov edx, dword [esi + 0x38]
mov dword [edx + 0x40], 6
mov eax, dword [esi + 0x44]
mov dword [eax + 0x40], 7
mov ecx, dword [esi + 0x48]
mov dword [ecx + 0x40], 8
mov edx, dword [esi + 0x4c]
mov dword [edx + 0x40], 9
mov eax, dword [esi + 0x50]
mov dword [eax + 0x40], 0xa
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x40], 0xb
mov ecx, esi
mov byte [esp + 0xa54], bl
call fcn.00405d40
mov ecx, esi
call fcn.00406170
lea edx, [esp + 0x428]
push edx
lea edi, [esi + 0x14]
call fcn.0041924a
add esp, 4
push eax
lea eax, [esp + 0x42c]
push eax
mov ecx, edi
call fcn.00401670
mov ecx, dword [esi + 0x10]
push ecx
lea edx, [esp + 0x634]
push 0x4365fc
push edx
call fcn.00419260
lea eax, [esp + 0x63c]
push 0x43702c
push eax
call fcn.004197cd
add esp, 0x14
push 0x85
lea ecx, [esp + 0x634]
push ecx
mov ecx, esi
call fcn.00405c30
test eax, eax
je 0x40808d
lea eax, [esp + 0x630]
push eax
mov ecx, esi
call fcn.004065c0
lea ecx, [esp + 0x630]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0xa54], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4080b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0xa4c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xa44]
call fcn.0041923c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4