Function at 0x424664
Capabilities:
Delete directory

Disassembly:
push 0x704
mov eax, 0x499ce1
call fcn.00498cce
mov dword [ebp - 0x6e8], edx
mov esi, ecx
mov dword [ebp - 0x6e4], esi
lea ecx, [ebp - 0x8c]
call fcn.0042ec05
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x70]
mov dword [ebp - 0x710], eax
mov byte [ebp - 0x70c], 1
mov byte [ebp - 4], 1
sub esp, 0x58
push 0x16
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x6cc]
call fcn.00423e12
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6cc]
call fcn.00425ac5
mov edi, eax
mov dword [ebp - 0x6d4], edi
test edi, edi
jns 0x4246f1
cmp edi, 0x80004004
je 0x424f03
mov ecx, dword [ebp - 0x6e4]
call fcn.004227e2
jmp 0x424f03
xor eax, eax
cmp byte [ebp - 0x6c8], al
setne al
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x20]
call fcn.00461ca8
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 3
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x70]
call fcn.0042798e
mov esi, eax
test esi, esi
jns 0x424738
mov byte [ebp - 4], 2
xor edx, edx
inc edx
lea ecx, [ebp - 0x20]
call fcn.00462134
mov edi, esi
jmp 0x424f03
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
test eax, eax
je 0x424ed6
cmp word [eax], bx
je 0x424ed6
lea ecx, [ebp - 0x6cc]
call fcn.00423f4d
mov esi, eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], esi
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
mov dword [0x4a77b8], eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
push eax
push 0x404e30
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x4a8384]
call esi
add esp, 0xc
mov byte [ebp - 4], 4
push 0x404eb8
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x4a8384]
call esi
pop ecx
pop ecx
cmp dword [ebp - 0x364], 0
jne 0x4247d4
mov dword [ebp - 0x6e0], ebx
jmp 0x4247ef
cmp dword [ebp - 0x360], 8
mov eax, dword [ebp - 0x374]
jae 0x4247e9
lea eax, [ebp - 0x374]
mov dword [ebp - 0x6e0], eax
cmp dword [ebp - 0x430], 0
jne 0x424800
mov dword [ebp - 0x6d8], ebx
jmp 0x42481b
cmp dword [ebp - 0x42c], 8
mov eax, dword [ebp - 0x440]
jae 0x424815
lea eax, [ebp - 0x440]
mov dword [ebp - 0x6d8], eax
mov al, byte [ebp - 0x6c9]
mov byte [ebp - 0x6cd], al
cmp dword [ebp - 0x1d8], 0
jne 0x424838
mov dword [ebp - 0x6dc], ebx
jmp 0x42485b
cmp dword [ebp - 0x1d4], 8
jb 0x42484f
mov esi, dword [ebp - 0x1e8]
mov dword [ebp - 0x6dc], esi
jmp 0x42485b
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x6dc], eax
push 0x404208
push 0x28
call fcn.00498979
pop ecx
pop ecx
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x424880
mov ecx, eax
call fcn.004352ae
jmp 0x424882
mov eax, ebx
mov dword [ebp - 0x6e4], eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x708], 0x401040
mov dword [ebp - 0x704], eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x634]
cmp byte [ebp - 0x6cd], 0
je 0x4248c8
or eax, 4
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x630]
or ecx, ebx
mov dword [ebp - 0x630], ecx
jmp 0x4248ce
mov ecx, dword [ebp - 0x630]
cmp byte [ebp - 0x6c7], 0
je 0x4248ea
or eax, 0x80
mov dword [ebp - 0x634], eax
or ecx, ebx
mov dword [ebp - 0x630], ecx
mov eax, dword [ebp - 0x60c]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x60c]
call esi
mov ecx, eax
call fcn.00450bf2
test al, al
je 0x4249aa
cmp dword [ebp - 0x2c8], 0
jne 0x42491f
mov esi, ebx
jmp 0x424934
cmp dword [ebp - 0x2c4], 8
mov esi, dword [ebp - 0x2d8]
jae 0x424934
lea esi, [ebp - 0x2d8]
mov dword [ebp - 0x6f4], esi
cmp dword [ebp - 0x6e8], 1
je 0x424961
mov ecx, esi
call fcn.00450bf2
test al, al
je 0x424961
lea ecx, [ebp - 0x6cc]
call fcn.00423f31
mov esi, eax
mov dword [ebp - 0x6f4], esi
mov ecx, esi
call fcn.00450bf2
test al, al
jne 0x4249aa
lea eax, [ebp - 0x70]
push eax
push esi
lea ecx, [ebp - 0x63c]
call fcn.00425575
test al, al
jne 0x4249aa
push esi
push ebx
push 0x142
call fcn.00421d86
add esp, 0xc
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
mov edi, eax
mov dword [ebp - 0x6d4], edi
call fcn.00421f98
test edi, edi
js 0x424e25
mov esi, dword [ebp - 0x6d8]
test esi, esi
je 0x424e06
mov eax, dword [ebp - 0x6e4]
test eax, eax
je 0x424e06
lea ecx, [ebp - 0x70]
push ecx
push 0x404e74
push ebx
push esi
mov ecx, eax
call fcn.004352c7
mov edi, eax
mov dword [ebp - 0x6d4], edi
test edi, edi
js 0x424df3
mov dword [ebp - 0x6f8], ebx
mov eax, dword [ebp - 0x6e4]
mov esi, dword [eax]
mov dword [ebp - 0x6f8], esi
mov dword [ebp - 0x6d4], ebx
test esi, esi
je 0x424dcc
mov dword [ebp - 0x6d8], ebx
mov eax, dword [ebp - 0x6e8]
cmp eax, 1
jne 0x424a8f
mov ecx, dword [ebp - 0x6ac]
test ecx, ecx
jne 0x424a33
inc ecx
mov eax, dword [ebp - 0x6b4]
test eax, eax
jne 0x424a5a
cmp dword [ebp - 0x544], eax
je 0x424a5a
cmp dword [ebp - 0x540], 8
mov eax, dword [ebp - 0x554]
jae 0x424a5a
lea eax, [ebp - 0x554]
lea edx, [ebp - 0x6d8]
push edx
lea edx, [ebp - 0x70]
push edx
push ecx
push eax
push dword [ebp - 0x6dc]
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
push eax
mov edx, dword [ebp - 0x6e0]
mov ecx, esi
call fcn.00436341
jmp 0x424b10
cmp eax, 2
jne 0x424ad0
lea eax, [ebp - 0x6d8]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x6cc]
call fcn.00423f31
push eax
push dword [ebp - 0x6dc]
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
push eax
mov edx, dword [ebp - 0x6e0]
mov ecx, esi
call fcn.004363d3
jmp 0x424b10
cmp eax, 3
jne 0x424b34
lea eax, [ebp - 0x6d8]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x6cc]
call fcn.00423f31
push eax
push ecx
push dword [ebp - 0x6dc]
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
push eax
mov edx, dword [ebp - 0x6e0]
mov ecx, esi
call fcn.0043648b
mov edi, eax
mov dword [ebp - 0x6d4], edi
test edi, edi
jns 0x424b34
push 0x404f80
push edi
push 0xaf
call fcn.00421833
add esp, 0xc
jmp 0x424e25
mov byte [ebp - 0x6cd], bl
lea eax, [ebp - 0x6cd]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x6cc]
call fcn.00423f4d
push eax
mov ecx, dword [ebp - 0x6d8]
call fcn.00436834
mov edi, eax
mov dword [ebp - 0x6d4], edi
test edi, edi
js 0x424dad
cmp byte [ebp - 0x6cd], 0
je 0x424b82
push ebx
push 0x109
call fcn.004219f2
pop ecx
pop ecx
mov ecx, dword [ebp - 0x6e8]
cmp ecx, 1
jne 0x424b91
mov edi, ebx
jmp 0x424ba2
xor eax, eax
cmp ecx, 3
setne al
inc eax
mov dword [ebp - 0x6e8], eax
mov edi, eax
mov esi, dword [ebp - 0x678]
lea ecx, [ebp - 0x17c]
call fcn.0042672c
lea ecx, [ebp - 0x70]
push ecx
push esi
push edi
push eax
mov esi, dword [ebp - 0x6d8]
mov ecx, esi
call fcn.0043651b
mov edi, eax
mov dword [ebp - 0x6d4], edi
lea ecx, [esi + 0x144]
call fcn.00421f3e
test edi, edi
jns 0x424c32
mov edx, edi
mov ecx, 0x404f10
call fcn.00421c9e
cmp edi, 0x80070057
jne 0x424dad
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
test eax, eax
je 0x424dad
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
mov edx, edi
mov ecx, eax
call fcn.00421c9e
jmp 0x424dad
cmp dword [ebp - 0xe8], 0
je 0x424cf6
cmp dword [ebp - 0xe4], 8
mov eax, dword [ebp - 0xf8]
jae 0x424c54
lea eax, [ebp - 0xf8]
test eax, eax
je 0x424cf6
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.0043674a
mov dword [ebp - 0x700], 0x40103c
mov dword [ebp - 0x6fc], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x424cba
lea edx, [eax + 0x3c]
cmp dword [ebp - 0xe8], 0
jne 0x424c8f
mov ecx, ebx
jmp 0x424ca4
cmp dword [ebp - 0xe4], 8
mov ecx, dword [ebp - 0xf8]
jae 0x424ca4
lea ecx, [ebp - 0xf8]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x66c]
push eax
push 2
call fcn.00427c09
test al, al
jne 0x424ce7
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
mov edi, eax
mov dword [ebp - 0x6d4], edi
mov edx, edi
mov ecx, 0x404f3c
call fcn.00421c9e
mov esi, dword [ebp - 0x6d8]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x700]
call fcn.00424f7e
test edi, edi
js 0x424dad
cmp dword [ebp - 0x674], 0
je 0x424d2c
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x6cc]
call fcn.00423f4d
push eax
push dword [ebp - 0x674]
mov ecx, esi
call fcn.004365d2
mov edi, eax
mov dword [ebp - 0x6d4], edi
test edi, edi
js 0x424dad
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x6cb]
lea ecx, [ebp - 0x6f0]
call fcn.00427135
mov edi, eax
mov dword [ebp - 0x6d4], edi
lea edx, [ebp - 0x70]
mov ecx, dword [ebp - 0x6f0]
call fcn.00427809
test eax, eax
js 0x424d6b
push dword [ebp - 0x6f0]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test edi, edi
jns 0x424dad
push 0x404f68
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x4a8384]
call esi
pop ecx
pop ecx
lea ecx, [ebp - 0x6cc]
call fcn.00423f4d
push eax
lea ecx, [ebp - 0x24]
call fcn.0044cb8b
push eax
push edi
push 0xd2
call fcn.00421833
add esp, 0x10
mov eax, dword [ebp - 0x6d8]
test eax, eax
je 0x424e25
mov ecx, eax
call fcn.004397aa
push dword [ebp - 0x6d8]
call sub.msvcrt.dll_free
pop ecx
jmp 0x424e25
mov esi, 0x80070057
mov edi, esi
mov dword [ebp - 0x6d4], edi
mov eax, dword [ebp - 0x6d8]
push eax
push esi
push 0xb0
call fcn.00421833
push 0x404fac
push esi
jmp 0x424e18
push esi
push edi
push 0xb0
call fcn.00421833
push 0x404fac
jmp 0x424e17
push esi
push edi
push 0xb0
call fcn.00421833
push 0x404fd0
push edi
push 0xaf
call fcn.00421833
add esp, 0x18
push edi
push 0x404ff8
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x54]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x708]
call fcn.00424f3f
mov dword [ebp - 4], 3
jmp 0x424eb5
test edi, edi
js 0x424ef4
push 0xb2
call fcn.00421ae6
pop ecx
jmp 0x424ef4
mov edi, 0x80004005
push edi
push 0x404dd0
mov eax, dword [ebp - 0x70]
mov esi, dword [eax + 0x54]
mov ecx, esi
call dword [0x4a8384]
lea ecx, [ebp - 0x70]
call esi
xor edx, edx
mov byte [ebp - 4], 2
inc edx
lea ecx, [ebp - 0x20]
call fcn.00462134
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6cc]
call fcn.00424127
mov byte [ebp - 4], bl
mov byte [ebp - 0x70c], bl
lea ecx, [ebp - 0x70]
call fcn.0042206d
call fcn.00421f98
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call fcn.0042eca3
mov eax, edi
call fcn.00498c20
ret