Function at 0x455fe0
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50efb3
mov eax, dword fs:[0]
push eax
sub esp, 0x734
mov eax, dword [0x58fa2c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x730], esi
mov dword [ebp - 0x73c], esi
mov dword [ebp - 4], esi
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x29e8
push eax
call fcn.004577a0
push 0x104
push esi
lea eax, [ebp - 0x424]
push eax
call fcn.004b8570
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x25d8
push eax
push 0x104
lea eax, [ebp - 0x424]
push eax
call fcn.004c562f
add esp, 0x1c
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
cmp dword [eax + 0x7790], esi
jne 0x456381
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.0041d560
mov byte [ebp - 4], 1
push pe_nt_image_headers32
push esi
lea eax, [ebp - 0x728]
push eax
call fcn.004b8570
add esp, 0xc
push 0x51ce7c
lea ecx, [ebp - 0x558]
call fcn.0041d560
mov byte [ebp - 4], 2
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 0x5a0]
push eax
lea eax, [ebp - 0x570]
push eax
call fcn.0041d700
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x588]
push eax
call fcn.0041dc40
add esp, 0x14
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x4560ff
mov eax, dword [eax]
lea ecx, [ebp - 0x728]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
mov dword [ebp - 0x738], edi
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x588]
call fcn.00405600
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x570]
call fcn.0041d610
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x558]
call fcn.0041d610
mov dword [ebp - 0x734], 0xffffffff
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x734]
call fcn.00454da0
cmp edi, 0xffffffff
je 0x45635e
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
nop word [eax + eax]
lea eax, [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x558]
call fcn.0041d560
mov byte [ebp - 4], 0xa
push 0x568808
lea ecx, [ebp - 0x5d0]
call fcn.0041d560
mov byte [ebp - 4], 0xb
or esi, 1
mov dword [ebp - 0x730], esi
lea eax, [ebp - 0x5d0]
push eax
lea ecx, [ebp - 0x558]
call fcn.0041d690
test al, al
jne 0x4561f6
push 0x51ce58
lea ecx, [ebp - 0x5b8]
call fcn.0041d560
mov dword [ebp - 4], 0xc
or esi, 2
mov dword [ebp - 0x730], esi
lea eax, [ebp - 0x5b8]
push eax
lea ecx, [ebp - 0x558]
call fcn.0041d690
test al, al
mov byte [ebp - 0x729], 0
je 0x4561fd
mov byte [ebp - 0x729], 1
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x730]
test al, 2
je 0x456228
and eax, 0xfffffffd
mov dword [ebp - 0x730], eax
lea ecx, [ebp - 0x5b8]
call fcn.0041d610
mov eax, dword [ebp - 0x730]
mov dword [ebp - 4], 0xa
test al, 1
je 0x456247
and eax, 0xfffffffe
mov dword [ebp - 0x730], eax
lea ecx, [ebp - 0x5d0]
call fcn.0041d610
cmp byte [ebp - 0x729], 0
jne 0x45632e
lea eax, [ebp - 0x6fc]
push eax
lea ecx, [ebp - 0x588]
call fcn.0041d560
mov byte [ebp - 4], 0xd
push 0x568af8
lea ecx, [ebp - 0x570]
call fcn.0041d560
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x5a0]
push eax
lea eax, [ebp - 0x5e8]
push eax
call fcn.0041d700
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x588]
push ecx
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.0041d700
add esp, 0x18
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x5e8]
call fcn.0041d610
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x570]
call fcn.0041d610
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x588]
call fcn.0041d610
lea ecx, [ebp - 0x540]
call fcn.0041d780
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x45631f
lea ecx, [ebp - 0x540]
call fcn.0041d780
push eax
call edi
test eax, eax
jne 0x45631f
push eax
lea ecx, [ebp - 0x540]
call fcn.0041d780
push eax
call fcn.0048d3e0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x540]
call fcn.0041d610
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x558]
call fcn.0041d610
lea eax, [ebp - 0x728]
push eax
push dword [ebp - 0x738]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
mov esi, dword [ebp - 0x730]
jne 0x456170
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x738]
call fcn.00454da0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5a0]
call fcn.0041d610
jmp 0x4569e9
mov ecx, dword [ebx + 0x20]
call fcn.00447270
push eax
lea ecx, [ebp - 0x534]
call fcn.00454ba0
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x534]
mov edi, dword [ebp - 0x530]
mov dword [ebp - 0x740], esi
cmp esi, edi
je 0x4563eb
mov ecx, esi
call fcn.0041d780
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4563e6
mov ecx, esi
call fcn.0041d780
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4563e6
push eax
mov ecx, esi
call fcn.0041d780
push eax
call fcn.0048d3e0
add esp, 8
add esi, 0x18
jmp 0x4563a5
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x25d8
push eax
call fcn.0048b440
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x456430
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x25d8
push eax
call esi
test eax, eax
jne 0x456430
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x25d8
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xf8c
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x45646f
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xf8c
push eax
call esi
test eax, eax
jne 0x45646f
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xf8c
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x1090
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4564ae
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x1090
push eax
call esi
test eax, eax
jne 0x4564ae
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x1090
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2bf0
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4564ed
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2bf0
push eax
call esi
test eax, eax
jne 0x4564ed
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2bf0
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9e34
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x45652c
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9e34
push eax
call esi
test eax, eax
jne 0x45652c
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9e34
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x76c
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x45656b
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x76c
push eax
call esi
test eax, eax
jne 0x45656b
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x76c
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x870
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4565aa
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x870
push eax
call esi
test eax, eax
jne 0x4565aa
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x870
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x974
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4565e9
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x974
push eax
call esi
test eax, eax
jne 0x4565e9
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x974
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xa78
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456628
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xa78
push eax
call esi
test eax, eax
jne 0x456628
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xa78
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xb7c
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456667
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xb7c
push eax
call esi
test eax, eax
jne 0x456667
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xb7c
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xc80
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4566a6
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xc80
push eax
call esi
test eax, eax
jne 0x4566a6
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xc80
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xd84
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4566e5
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xd84
push eax
call esi
test eax, eax
jne 0x4566e5
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xd84
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xe88
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456724
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xe88
push eax
call esi
test eax, eax
jne 0x456724
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xe88
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x89b0
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456763
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x89b0
push eax
call esi
test eax, eax
jne 0x456763
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x89b0
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2efc
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4567a2
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2efc
push eax
call esi
test eax, eax
jne 0x4567a2
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2efc
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x3000
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4567e1
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x3000
push eax
call esi
test eax, eax
jne 0x4567e1
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x3000
push eax
call fcn.0048d3e0
add esp, 8
push 0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x28e4
push eax
call fcn.0048d3e0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x28e4
push eax
call fcn.0048b440
add esp, 0xc
test eax, eax
je 0x45681a
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x28e4
push eax
call esi
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x460
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456859
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x460
push eax
call esi
test eax, eax
jne 0x456859
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x460
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x27e0
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456898
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x27e0
push eax
call esi
test eax, eax
jne 0x456898
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x27e0
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2cf4
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4568d7
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2cf4
push eax
call esi
test eax, eax
jne 0x4568d7
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x2cf4
push eax
call fcn.0048d3e0
add esp, 8
push 0x104
push 0
lea eax, [ebp - 0x6ec]
push eax
call fcn.004b8570
push str.clntprxy.dll
lea eax, [ebp - 0x424]
push eax
push 0x51ce90
lea eax, [ebp - 0x6ec]
push eax
call fcn.004482a0
lea eax, [ebp - 0x6ec]
push eax
call fcn.0048b440
add esp, 0x20
test eax, eax
je 0x456923
lea eax, [ebp - 0x6ec]
push eax
call esi
push str.clntprxyio.dll
lea eax, [ebp - 0x424]
push eax
push 0x51ce90
lea eax, [ebp - 0x6ec]
push eax
call fcn.004482a0
lea eax, [ebp - 0x6ec]
push eax
call fcn.0048b440
add esp, 0x14
test eax, eax
je 0x45695c
lea eax, [ebp - 0x6ec]
push eax
call esi
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9a24
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x45699b
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9a24
push eax
call esi
test eax, eax
jne 0x45699b
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x9a24
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x668
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x4569da
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x668
push eax
call esi
test eax, eax
jne 0x4569da
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x668
push eax
call fcn.0048d3e0
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x534]
call fcn.0041e590
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbe3c
push eax
call fcn.0048b440
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x456a2e
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbe3c
push eax
call esi
test eax, eax
jne 0x456a2e
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbe3c
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbd38
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456a6d
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbd38
push eax
call esi
test eax, eax
jne 0x456a6d
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0xbd38
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x60]
add ecx, 0x26dc
lea edx, [ebp - 0x118]
nop
mov al, byte [ecx]
mov byte [edx], al
lea ecx, [ecx + 1]
lea edx, [edx + 1]
test al, al
jne 0x456a80
push 0x2e
lea eax, [ebp - 0x118]
push eax
call fcn.004b8c50
add esp, 8
mov edi, eax
test edi, edi
je 0x456ba7
mov ecx, dword [str..hlp]
mov dword [edi], ecx
mov cl, byte [0x51b890]
mov byte [edi + 4], cl
lea eax, [ebp - 0x118]
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456aea
lea eax, [ebp - 0x118]
push eax
call esi
test eax, eax
jne 0x456aea
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [str..cnt]
mov dword [edi], eax
mov al, byte [0x51b898]
mov byte [edi + 4], al
lea eax, [ebp - 0x118]
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456b29
lea eax, [ebp - 0x118]
push eax
call esi
test eax, eax
jne 0x456b29
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [str..chm]
mov dword [edi], eax
mov al, byte [0x51b8a0]
mov byte [edi + 4], al
lea eax, [ebp - 0x118]
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456b68
lea eax, [ebp - 0x118]
push eax
call esi
test eax, eax
jne 0x456b68
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [str..gid]
mov dword [edi], eax
mov al, byte [0x51b8a8]
mov byte [edi + 4], al
lea eax, [ebp - 0x118]
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456ba7
lea eax, [ebp - 0x118]
push eax
call esi
test eax, eax
jne 0x456ba7
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x60]
add ecx, 0x26dc
lea edx, [ebp - 0x320]
nop dword [eax]
mov al, byte [ecx]
mov byte [edx], al
lea ecx, [ecx + 1]
lea edx, [edx + 1]
test al, al
jne 0x456bc0
push 0x5c
lea eax, [ebp - 0x320]
push eax
call fcn.004b8c50
add esp, 8
test eax, eax
je 0x456be6
mov byte [eax], 0
lea eax, [ebp - 0x320]
push eax
call fcn.00488700
add esp, 4
lea ecx, [ebp - 0x320]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x456c00
mov eax, dword [str.SpectorCNE.chm]
mov dword [ecx], eax
mov eax, dword [0x51ceac]
mov dword [ecx + 4], eax
mov eax, dword [0x51ceb0]
mov dword [ecx + 8], eax
mov ax, word [0x51ceb4]
mov word [ecx + 0xc], ax
mov al, byte [0x51ceb6]
mov byte [ecx + 0xe], al
lea eax, [ebp - 0x320]
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456c63
lea eax, [ebp - 0x320]
push eax
call esi
test eax, eax
jne 0x456c63
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x26dc
push eax
call fcn.0048b440
add esp, 4
test eax, eax
je 0x456ca2
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x26dc
push eax
call esi
test eax, eax
jne 0x456ca2
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x26dc
push eax
call fcn.0048d3e0
add esp, 8
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x60]
add eax, 0x7de8
cmp byte [eax], 0
je 0x456cbd
push 0
push eax
call fcn.0048b2c0
add esp, 8
push 0x104
lea eax, [ebp - 0x528]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x734]
push eax
mov ecx, dword [ebx + 8]
call fcn.00457740
mov byte [ebp - 4], 0x15
mov ecx, dword [eax]
lea edx, [ebp - 0x21c]
nop word [eax + eax]
mov al, byte [ecx]
mov byte [edx], al
lea ecx, [ecx + 1]
lea edx, [edx + 1]
test al, al
jne 0x456cf0
mov byte [ebp - 4], al
lea ecx, [ebp - 0x734]
call fcn.00488bc0
push 0x5c
lea eax, [ebp - 0x21c]
push eax
call fcn.004b8c50
add esp, 8
test eax, eax
je 0x456d24
mov byte [eax], 0
lea eax, [ebp - 0x528]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004c56c4
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x456d88
lea eax, [ebp - 0x6ec]
push eax
push 0x104
call edi
push 0x51c1c0
mov esi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
call esi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0
lea eax, [ebp - 0x21c]
push eax
call fcn.0048d3e0
add esp, 8
lea eax, [ebp - 0x6ec]
push eax
call esi
jmp 0x456d8e
mov esi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x60]
add ecx, 0x26dc
lea edx, [ebp - 0x21c]
mov al, byte [ecx]
mov byte [edx], al
lea ecx, [ecx + 1]
lea edx, [edx + 1]
test al, al
jne 0x456da0
push 0x5c
lea eax, [ebp - 0x21c]
push eax
call fcn.004b8c50
add esp, 8
test eax, eax
je 0x456dc6
mov byte [eax], 0
lea eax, [ebp - 0x528]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.004c56c4
add esp, 8
test eax, eax
je 0x456e1c
lea eax, [ebp - 0x6ec]
push eax
push 0x104
call edi
push 0x51c1c0
call esi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0
lea eax, [ebp - 0x21c]
push eax
call fcn.0048d3e0
add esp, 8
lea eax, [ebp - 0x6ec]
push eax
call esi
mov eax, 1
mov dword [ebp - 0x73c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x456e54
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a4566
mov esp, ebp
pop ebp
ret