Function at 0x424950
Capabilities:
Create directory
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59e6f1
mov eax, dword fs:[0]
push eax
mov eax, 0xb4c0
call fcn.005965e0
mov eax, dword [0x601018]
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 eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0xb4a0], eax
push 2
lea eax, [ebp - 0x6484]
mov dword [ebp - 0xb4a4], ecx
mov dword [ebp - 0xb4bc], ebx
mov dword [ebp - 0xb4b0], edx
mov dword [ebp - 0xb4b8], esi
call fcn.004fa870
push 1
lea eax, [ebp - 0xb49c]
mov dword [ebp - 4], 0
call fcn.004fa870
mov edx, str.resource.info
mov ecx, 0x60e4da
lea edi, [ebp - 0x6484]
mov byte [ebp - 4], 1
call fcn.004fd830
mov ecx, dword [ebp - 0xb4b0]
mov eax, edi
push eax
mov edx, str.request.path
call fcn.004fd6f0
mov edx, esi
mov ecx, 0x60e5cc
call fcn.004fd830
mov eax, dword [ebp - 0x6480]
test eax, eax
je 0x424a16
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
lea eax, [ebp - 0x6484]
call fcn.004faf40
push 0xffffffffffffffff
push str.request.log
xor edi, edi
push edi
mov esi, eax
push esi
lea edx, [ebp - 0x6484]
push edx
call fcn.004fea10
push 0xffffffffffffffff
lea eax, [ebp - 0x16]
push eax
push 1
push esi
lea ecx, [ebp - 0x6484]
push ecx
mov word [ebp - 0x16], 0x30
call fcn.004fea10
mov esi, dword [ebp - 0xb4a0]
mov ecx, dword [esi + 0x834]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [ebp - 0xb49c]
push eax
lea eax, [ebp - 0x6484]
push eax
mov eax, dword [ebp - 0xb4a4]
push eax
call edx
mov dword [ebp - 0xb4b4], eax
cmp eax, edi
je 0x424ae7
push ebx
xor edx, edx
mov ecx, 0x60ee80
lea edi, [ebp - 0x6484]
call fcn.004fdda0
push ebx
xor edx, edx
mov ecx, 0x60ee9c
call fcn.004fdda0
push 0x60ee80
mov ecx, ebx
call fcn.004fc850
test eax, eax
jns 0x424abc
xor esi, esi
jmp 0x424aca
push eax
push ebx
mov edx, 1
call fcn.004fcb20
mov esi, eax
lea eax, [ebp - 0xb49c]
call fcn.004fa960
lea eax, [ebp - 0x6484]
call fcn.004fa960
mov eax, esi
jmp 0x4250ab
push 0x60eff8
lea ecx, [ebp - 0x6484]
call fcn.004fc850
cmp eax, edi
jl 0x42500e
push eax
lea eax, [ebp - 0x6484]
push eax
mov edx, 1
call fcn.004fcb20
cmp eax, edi
je 0x42500e
push edi
lea ecx, [ebp - 0x6484]
push ecx
mov ecx, str.result.directory
call fcn.004fd0e0
cmp eax, edi
jne 0x42500e
push 0x60f02c
lea ecx, [ebp - 0x6484]
call fcn.004fc850
cmp eax, edi
jge 0x424b55
mov dword [ebp - 0xb4ac], edi
mov dword [ebp - 0xb4a8], edi
jmp 0x424b73
push eax
lea edx, [ebp - 0x6484]
push edx
mov edx, 1
call fcn.004fcdb0
mov dword [ebp - 0xb4ac], eax
mov dword [ebp - 0xb4a8], edx
add esi, 0x185c
mov dword [ebp - 0xb4c0], 0x1000
cmp esi, edi
jne 0x424b8d
call dword [sym.imp.MSVCR100.dll_abort]
lea eax, [ebp - 0x834]
mov ecx, eax
sub esi, ecx
mov cl, byte [esi + eax]
test cl, cl
je 0x424bab
mov byte [eax], cl
inc eax
lea edx, [ebp - 0x435]
cmp eax, edx
jb 0x424b97
mov ebx, dword [ebp - 0xb4b0]
cmp byte [ebx], 0
mov byte [eax], 0
je 0x424bcc
push 0x400
lea eax, [ebp - 0x834]
call fcn.00401570
add esp, 4
lea esi, [ebp - 0x834]
call fcn.004feec0
push 0
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0xc34]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov edi, edi
mov cl, byte [edx + eax]
test cl, cl
je 0x424c04
mov byte [eax], cl
inc eax
lea ecx, [ebp - 0x835]
cmp eax, ecx
jb 0x424bf0
mov ebx, dword [ebp - 0xb4b8]
mov byte [eax], 0
push 0x400
lea eax, [ebp - 0xc34]
call fcn.00401570
add esp, 4
call dword [sym.imp.MSVCR100.dll__getpid]
mov edx, dword [ebp - 0xb4a0]
mov esi, eax
mov eax, dword [edx + 0x430]
call fcn.00402ba0
push eax
push esi
push str.temp__d__d_
mov esi, 0x400
lea edi, [ebp - 0x1034]
call fcn.00401880
lea eax, [ebp - 0x434]
lea edx, [ebp - 0x834]
mov ecx, eax
add esp, 0xc
sub edx, ecx
mov cl, byte [edx + eax]
test cl, cl
je 0x424c74
mov byte [eax], cl
inc eax
lea ecx, [ebp - 0x35]
cmp eax, ecx
jb 0x424c63
mov byte [eax], 0
push 0x400
lea ebx, [ebp - 0x1034]
lea eax, [ebp - 0x434]
call fcn.00401570
mov ebx, dword [ebp - 0xb4b8]
add esp, 4
push 0x400
lea eax, [ebp - 0x434]
call fcn.00401570
xor ebx, ebx
mov esi, vtable.WindowsFile.0
add esp, 4
mov dword [ebp - 0x1468], ebx
mov dword [ebp - 0x146c], esi
mov dword [ebp - 0x1464], 0xffffffff
mov dword [ebp - 0x1460], ebx
mov byte [ebp - 0x1458], bl
mov byte [ebp - 0x1058], bl
lea edx, [ebp - 0x434]
push edx
push 0x5c7d4c
push str.cotrw
lea edi, [ebp - 0x146c]
mov byte [ebp - 4], 2
call fcn.00508fc0
mov eax, dword [ebp - 0x145c]
add esp, 0xc
cmp eax, ebx
je 0x424d3d
mov edx, dword [ebp - 0xb4a4]
mov ecx, dword [ebp - 0xb4a0]
mov ebx, dword [ebp - 0xb4bc]
push eax
lea eax, [ebp - 0x434]
push eax
push str.unable_to_open_temporary___s___reason___d_
push 0x11248
add ecx, 0x434
push edx
call fcn.0042c130
add esp, 0x14
jmp 0x425076
mov dword [ebp - 0xb4c8], ebx
cmp dword [ebp - 0xb4a8], ebx
jb 0x424f97
mov ecx, dword [ebp - 0xb4ac]
ja 0x424d67
cmp ecx, ebx
jbe 0x424f97
jmp 0x424d67
mov ecx, dword [ebp - 0xb4ac]
mov eax, dword [ebp - 0xb4c0]
cdq
add eax, ebx
adc edx, dword [ebp - 0xb4c8]
cmp edx, dword [ebp - 0xb4a8]
jb 0x424d8e
ja 0x424d84
cmp eax, ecx
jbe 0x424d8e
mov eax, ecx
sub eax, ebx
mov dword [ebp - 0xb4c0], eax
push 2
lea esi, [ebp - 0x6484]
call fcn.004fa9f0
mov edx, str.resource.data
mov ecx, 0x60e4da
mov edi, esi
call fcn.004fd830
mov ecx, dword [ebp - 0xb4b0]
mov eax, esi
push eax
mov edx, str.request.path
call fcn.004fd6f0
mov edx, dword [ebp - 0xb4b8]
mov ecx, 0x60e5cc
call fcn.004fd830
mov eax, dword [ebp - 0x6480]
test eax, eax
je 0x424de3
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
lea eax, [ebp - 0x6484]
call fcn.004faf40
push 0xffffffffffffffff
push 0x60e61a
push 0
mov esi, eax
push esi
lea edx, [ebp - 0x6484]
push edx
call fcn.004fac50
mov eax, dword [ebp - 0xb4c8]
push eax
push ebx
push 1
push esi
lea ecx, [ebp - 0x6484]
push ecx
call fcn.004fcbb0
mov eax, dword [ebp - 0x6480]
test eax, eax
je 0x424e32
mov edx, dword [eax + 8]
push edx
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
lea eax, [ebp - 0x6484]
call fcn.004faf40
push 0xffffffffffffffff
push 0x60ecf2
mov esi, eax
push 0
push esi
lea eax, [ebp - 0x6484]
push eax
call fcn.004fac50
mov edi, dword [ebp - 0xb4c0]
push 1
push esi
lea ecx, [ebp - 0x6484]
push ecx
call fcn.004fca80
mov eax, dword [ebp - 0x6480]
test eax, eax
je 0x424e7f
mov edx, dword [eax + 8]
push edx
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
lea eax, [ebp - 0x6484]
call fcn.004faf40
push 0xffffffffffffffff
push str.request.log
mov esi, eax
push 0
push esi
lea eax, [ebp - 0x6484]
push eax
call fcn.004fea10
push 0xffffffffffffffff
lea ecx, [ebp - 0x16]
push ecx
push 1
push esi
lea edx, [ebp - 0x6484]
push edx
mov word [ebp - 0x16], 0x30
call fcn.004fea10
mov eax, dword [ebp - 0xb4a0]
mov ecx, dword [eax + 0x834]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea eax, [ebp - 0xb49c]
push eax
lea eax, [ebp - 0x6484]
push eax
mov eax, dword [ebp - 0xb4a4]
push eax
call edx
mov edi, eax
test edi, edi
jne 0x424f4b
push eax
lea eax, [ebp - 0xb49c]
call fcn.004fe230
mov esi, eax
push edi
lea eax, [ebp - 0xb49c]
call fcn.004fe2a0
push esi
push eax
lea ecx, [ebp - 0x146c]
call fcn.00509a60
mov eax, dword [ebp - 0x145c]
test eax, eax
jne 0x424f52
mov eax, dword [ebp - 0xb4c8]
add ebx, 0x1000
adc eax, edi
mov dword [ebp - 0xb4c8], eax
cmp eax, dword [ebp - 0xb4a8]
jb 0x424d61
ja 0x424f4b
cmp ebx, dword [ebp - 0xb4ac]
jb 0x424d61
mov esi, vtable.WindowsFile.0
jmp 0x424f9d
mov ecx, dword [ebp - 0xb4b0]
mov edx, dword [ebp - 0xb4a4]
mov ebx, dword [ebp - 0xb4bc]
push eax
mov eax, dword [ebp - 0xb4b8]
push eax
push ecx
mov ecx, dword [ebp - 0xb4a0]
push str.failure_writing_data_to_file___s__in_subdirectory___s__error___d_
push 0x11240
add ecx, 0x434
push edx
call fcn.0042c130
add esp, 0x18
mov dword [ebp - 0xb4b4], eax
mov esi, vtable.WindowsFile.0
mov edi, dword [ebp - 0xb4b4]
lea ecx, [ebp - 0x146c]
call fcn.005096c0
test edi, edi
je 0x424fbe
lea eax, [ebp - 0xc34]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x425078
lea ecx, [ebp - 0xc34]
push ecx
lea edx, [ebp - 0x434]
push edx
call dword [sym.imp.MSVCR100.dll_rename]
add esp, 8
test eax, eax
je 0x424ff3
mov edi, dword [sym.imp.MSVCR100.dll__errno]
call edi
cmp dword [eax], 0x11
jne 0x42502b
lea eax, [ebp - 0x434]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x146c]
mov dword [ebp - 0x146c], esi
call fcn.005096c0
mov dword [ebp - method.BaseFile.virtual_0], vtable.BaseFile.0
lea eax, [ebp - 0xb49c]
call fcn.004fa960
lea eax, [ebp - 0x6484]
call fcn.004fa960
xor eax, eax
jmp 0x4250ab
lea ecx, [ebp - 0x434]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call edi
mov edx, dword [eax]
mov ebx, dword [ebp - 0xb4bc]
push edx
mov edx, dword [ebp - 0xb4a4]
lea eax, [ebp - 0xc34]
push eax
lea ecx, [ebp - 0x434]
push ecx
mov ecx, dword [ebp - 0xb4a0]
push str.unable_to_rename___s__to___s___reason___d_
push 0x11249
add ecx, 0x434
push edx
call fcn.0042c130
add esp, 0x18
mov edi, eax
lea ecx, [ebp - 0x146c]
mov dword [ebp - 0x146c], esi
call fcn.005096c0
lea eax, [ebp - 0xb49c]
mov dword [ebp - method.BaseFile.virtual_0], vtable.BaseFile.0
call fcn.004fa960
lea eax, [ebp - 0x6484]
call fcn.004fa960
mov eax, edi
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.00596083
mov esp, ebp
pop ebp
ret 0xc