Function at 0x5c966c
Capabilities:
Accept command line arguments
Copy file
Create process on windows
Delete directory
Delete file
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x26
push 0
push 0
dec ecx
jne 0x5c9674
push ecx
push ebx
push esi
push edi
mov eax, 0x5c5488
call fcn.0040833c
xor eax, eax
push ebp
push 0x5caf72
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetCurrentProcess
mov edx, 1
call fcn.004b072c
mov eax, dword [0x5d4f2c]
call fcn.00405a98
lea edx, [ebp - 0x1c]
xor eax, eax
call fcn.00412bb0
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.0040bbcc
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.005c4e18
mov edx, dword [ebp - 0x14]
mov eax, 0x5dc26c
call fcn.00405aec
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.00412bb0
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.0042da7c
mov edx, dword [ebp - 0x20]
mov eax, 0x5dc278
call fcn.00405aec
mov eax, 0x104
call fcn.00402fc0
mov ebx, eax
push ebx
push 0x104
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x2c]
mov edx, ebx
call fcn.00405c90
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.005c4e18
mov edx, dword [ebp - 0x28]
mov eax, 0x5dc270
call fcn.00405aec
mov eax, dword [0x5d4f38]
mov edx, dword [0x5dc270]
call fcn.00405aec
mov eax, ebx
call fcn.00402fdc
mov eax, dword [0x5dc270]
call fcn.0040b938
lea eax, [ebp - 0x30]
mov ecx, 0x5caf8c
mov edx, dword [0x5dc26c]
call fcn.00405db0
mov eax, dword [ebp - 0x30]
call fcn.00405f28
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
push 0
lea eax, [ebp - 0x34]
mov ecx, 0x5caf9c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov eax, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
mov ecx, 0x5caf8c
mov edx, dword [0x5dc26c]
call fcn.00405db0
mov eax, dword [ebp - 0x38]
mov ecx, ebx
pop edx
call fcn.005c52e4
test al, al
je 0x5c97f3
lea eax, [ebp - 0x3c]
mov ecx, 0x5caf9c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov eax, dword [ebp - 0x3c]
call fcn.004b08e0
lea eax, [ebp - 0x40]
mov ecx, 0x5caf9c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov eax, dword [ebp - 0x40]
call fcn.00405f28
push eax
call sub.kernel32.dll_DeleteFileA
push ebx
call sub.kernel32.dll_FreeLibrary_1
push dword [0x5dc26c]
push dword [0x5dc278]
push 0x5cafb0
mov eax, 0x5dc274
mov edx, 3
call fcn.00405e2c
call sub.kernel32.dll_GetCommandLineA_1
mov edx, eax
mov eax, dword [0x5d49ac]
call fcn.00405c90
mov edx, dword [0x5d49ac]
mov edx, dword [edx]
mov eax, 0x5cafc0
call fcn.00406074
dec eax
jne 0x5c9879
mov eax, dword [0x5d49ac]
mov ecx, 1
mov edx, 1
call fcn.00405fd0
mov edx, dword [0x5d49ac]
mov edx, dword [edx]
mov eax, 0x5cafc0
call fcn.00406074
mov ecx, eax
inc ecx
mov eax, dword [0x5d49ac]
mov edx, 1
call fcn.00405fd0
jmp 0x5c98be
mov edx, dword [0x5d49ac]
mov edx, dword [edx]
mov eax, 0x5cafcc
call fcn.00406074
test eax, eax
jne 0x5c989b
mov eax, dword [0x5d49ac]
call fcn.00405a98
jmp 0x5c98be
mov edx, dword [0x5d49ac]
mov edx, dword [edx]
mov eax, 0x5cafcc
call fcn.00406074
mov ecx, eax
mov eax, dword [0x5d49ac]
mov edx, 1
call fcn.00405fd0
mov eax, 0x5cafd8
call fcn.00411128
test al, al
jne 0x5c98de
mov eax, 0x5cafe4
call fcn.00411128
test al, al
jne 0x5c98de
xor eax, eax
jmp 0x5c98e0
mov al, 1
mov edx, dword [0x5d4c84]
mov byte [edx], al
mov eax, dword [0x5d4c18]
call fcn.00405a98
mov eax, dword [0x5d4c50]
call fcn.00405a98
call fcn.004034cc
mov esi, eax
test esi, esi
jle 0x5c996e
mov ebx, 1
lea edx, [ebp - 0x48]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.0040abe4
mov edx, dword [ebp - 0x44]
mov eax, 0x5caff0
call fcn.00406074
test eax, eax
je 0x5c996a
lea edx, [ebp - 0x50]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.0040abe4
mov edx, dword [ebp - 0x4c]
mov eax, dword [0x5d4c50]
call fcn.00405aec
mov eax, dword [0x5d4c50]
mov ecx, 3
mov edx, 1
call fcn.00405fd0
jmp 0x5c996e
inc ebx
dec esi
jne 0x5c990c
mov eax, dword [0x5d4814]
call fcn.00405a98
call fcn.004034cc
mov esi, eax
test esi, esi
jle 0x5c99ea
mov ebx, 1
lea edx, [ebp - 0x58]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.0040abe4
mov edx, dword [ebp - 0x54]
mov eax, 0x5caffc
call fcn.00406074
test eax, eax
je 0x5c99e6
lea edx, [ebp - 0x60]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0040abe4
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x5d4814]
call fcn.00405aec
mov eax, dword [0x5d4814]
mov ecx, 3
mov edx, 1
call fcn.00405fd0
jmp 0x5c99ea
inc ebx
dec esi
jne 0x5c9988
call fcn.004034cc
mov esi, eax
test esi, esi
jle 0x5c9a8a
mov ebx, 1
lea edx, [ebp - 0x68]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
call fcn.0040abe4
mov edx, dword [ebp - 0x64]
mov eax, 0x5cb008
call fcn.00406074
test eax, eax
jne 0x5c9a4a
lea edx, [ebp - 0x70]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.0040abe4
mov edx, dword [ebp - 0x6c]
mov eax, 0x5cb014
call fcn.00406074
test eax, eax
je 0x5c9a82
lea edx, [ebp - 0x78]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.0040abe4
mov edx, dword [ebp - 0x74]
mov eax, dword [0x5d4c18]
call fcn.00405aec
mov eax, dword [0x5d4c18]
mov ecx, 3
mov edx, 1
call fcn.00405fd0
jmp 0x5c9a8a
inc ebx
dec esi
jne 0x5c99fe
call fcn.004034cc
mov esi, eax
test esi, esi
jle 0x5c9b42
mov ebx, 1
lea edx, [ebp - 0x80]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 0x7c]
call fcn.0040abe4
mov edx, dword [ebp - 0x7c]
mov eax, 0x5cb020
call fcn.00406074
test eax, eax
jne 0x5c9af6
lea edx, [ebp - 0x88]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.0040abe4
mov edx, dword [ebp - 0x84]
mov eax, 0x5cb02c
call fcn.00406074
test eax, eax
je 0x5c9b3a
lea edx, [ebp - 0x90]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.0040abe4
mov edx, dword [ebp - 0x8c]
mov eax, dword [0x5d4e0c]
call fcn.00405aec
mov eax, dword [0x5d4e0c]
mov ecx, 3
mov edx, 1
call fcn.00405fd0
jmp 0x5c9b42
inc ebx
dec esi
jne 0x5c9a9e
call fcn.004034cc
mov esi, eax
test esi, esi
jle 0x5c9c57
mov ebx, 1
lea edx, [ebp - 0x94]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x94]
cmp byte [eax], 0x2f
je 0x5c9c4f
lea edx, [ebp - 0x98]
mov eax, ebx
call fcn.00412bb0
mov eax, dword [ebp - 0x98]
cmp byte [eax], 0x2d
je 0x5c9c4f
lea edx, [ebp - 0x9c]
mov eax, ebx
call fcn.00412bb0
mov edx, dword [ebp - 0x9c]
mov eax, 0x5cb038
call fcn.00406074
test eax, eax
je 0x5c9c4f
lea edx, [ebp - 0xa0]
mov eax, ebx
call fcn.00412bb0
mov edx, dword [ebp - 0xa0]
mov eax, 0x5dc268
call fcn.00405aec
lea eax, [ebp - 0xa8]
push eax
mov edx, dword [0x5dc268]
mov eax, 0x5cb038
call fcn.00406074
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [0x5dc268]
call fcn.00405f90
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.0040abac
mov edx, dword [ebp - 0xa4]
mov eax, dword [0x5d4e98]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [0x5dc268]
mov eax, 0x5cb038
call fcn.00406074
mov ecx, eax
mov eax, 0x5dc268
mov edx, 1
call fcn.00405fd0
mov eax, dword [0x5d4e98]
mov eax, dword [eax]
mov edx, dword [0x5dc268]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec esi
jne 0x5c9b56
mov eax, 0x5cb044
call fcn.005c0fb0
mov eax, 0x5cb05c
call fcn.005c0fb0
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5c9e69
mov dl, 1
mov eax, 0x5cb074
call fcn.00411158
test al, al
jne 0x5c9e69
mov dl, 1
mov eax, 0x5cb084
call fcn.00411158
test al, al
jne 0x5c9e69
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5c5140]
call fcn.0047c8ec
mov edx, dword [0x5d5018]
mov dword [edx], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5c4ea4]
call fcn.0047c8ec
mov edx, dword [0x5d4c08]
mov dword [edx], eax
lea eax, [ebp - 0xac]
mov ecx, 0x5cb098
mov edx, dword [0x5dc26c]
call fcn.00405db0
mov eax, dword [ebp - 0xac]
call fcn.004b0828
test al, al
je 0x5c9e40
lea eax, [ebp - 0xb0]
mov ecx, 0x5cb098
mov edx, dword [0x5dc26c]
call fcn.00405db0
mov edx, dword [ebp - 0xb0]
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
mov eax, dword [eax + 0x198]
call fcn.00436e0c
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov dl, 4
call fcn.0047f2b8
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x60]
mov eax, dword [0x5d5018]
mov eax, dword [eax]
call fcn.004822a0
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, dword [0x5d5018]
mov eax, dword [eax]
call fcn.0047d674
mov edx, eax
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
sar eax, 1
jns 0x5c9d94
adc eax, 0
add edx, eax
add edx, 0x32
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.00482ca4
mov eax, dword [0x5d5018]
mov eax, dword [eax]
call fcn.0047d694
mov edx, eax
mov eax, dword [0x5d5018]
mov eax, dword [eax]
add edx, dword [eax + 0x4c]
add edx, 0x19
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.00482ce0
mov eax, dword [0x5d50d0]
mov eax, dword [eax]
call fcn.00483548
mov ebx, eax
sub ebx, 0x2d
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
sub ebx, dword [eax + 0x4c]
mov eax, dword [0x5d50d0]
mov eax, dword [eax]
call fcn.00483554
mov esi, eax
sub esi, 0x19
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
sub esi, dword [eax + 0x48]
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0047d694
cmp ebx, eax
jge 0x5c9e20
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edx, ebx
call fcn.00482ce0
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0047d674
cmp esi, eax
jge 0x5c9e4e
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edx, esi
call fcn.00482ca4
jmp 0x5c9e4e
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov dl, 4
call fcn.0047f2b8
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.004822a0
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
xor eax, eax
push ebp
push 0x5cae71
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x5cb0ac
call fcn.005c0fb0
mov eax, dword [0x5d4eec]
mov byte [eax], 0
mov eax, dword [0x5d87f8]
call fcn.0058fd74
mov esi, eax
lea edx, [ebp - 0xb4]
xor eax, eax
call fcn.00412bb0
mov edx, dword [ebp - 0xb4]
mov eax, 0x5dbf48
call fcn.004039a4
mov edx, 1
mov eax, 0x5dbf48
call fcn.00404140
mov eax, 0x5dbf48
call fcn.00403d28
mov ebx, eax
cmp esi, ebx
jne 0x5c9f2d
mov eax, 0x5dbf48
call fcn.00403b4c
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5c9f15
push 0x10
lea eax, [ebp - 0xb8]
call fcn.004b05e0
mov eax, dword [ebp - 0xb8]
call fcn.00405f28
push eax
push 0x5cb0bc
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0046fcd8
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x5d4694]
mov dword [eax], 0xd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5caf54
mov eax, 0x5cb0dc
call fcn.005c0fb0
mov eax, 0x5cb0f4
call fcn.005c0fb0
mov eax, ebx
call fcn.00402fc0
mov esi, eax
push 0
mov eax, dword [0x5d87f8]
call fcn.0058fd74
mov ecx, eax
mov edi, esi
mov edx, edi
mov eax, 0x5dbf48
call fcn.00403b0c
push 0
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [0x5d87f8]
call fcn.0058fd74
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov ecx, eax
mov edx, edi
mov eax, 0x5dbf48
call fcn.00403b0c
mov eax, 0x5dbf48
call fcn.00403b4c
lea eax, [ebp - 0xbc]
mov ecx, 0x5cb10c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov edx, dword [ebp - 0xbc]
mov eax, 0x5dbf48
call fcn.004039a4
mov edx, 1
mov eax, 0x5dbf48
call fcn.0040415c
push 0
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [0x5d87f8]
call fcn.0058fd74
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov ecx, eax
mov edx, edi
mov eax, 0x5dbf48
call fcn.00403b2c
mov eax, 0x5dbf48
call fcn.00403b4c
mov eax, esi
call fcn.00402fdc
mov eax, 0x5cb11c
call fcn.005c0fb0
mov eax, 0x5cb134
call fcn.005c0fb0
mov dl, 1
mov eax, dword [0x41c0dc]
call fcn.00404b08
mov dword [0x5dc290], eax
mov dl, 1
mov eax, dword [0x42be48]
call fcn.00404b08
mov dword [0x5dc27c], eax
mov dl, 1
mov eax, dword [0x42be48]
call fcn.00404b08
mov dword [0x5dc280], eax
mov dl, 1
mov eax, dword [0x42be48]
call fcn.00404b08
mov dword [0x5dc284], eax
mov dl, 1
mov eax, dword [0x42be48]
call fcn.00404b08
mov dword [0x5dc288], eax
mov dl, 1
mov eax, dword [0x42be48]
call fcn.00404b08
mov dword [0x5dc28c], eax
lea eax, [ebp - 0xc0]
mov ecx, 0x5cb10c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov edx, dword [ebp - 0xc0]
mov eax, 0x5dc094
call fcn.004039a4
mov eax, 0x5dc094
call fcn.00403728
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca0f8
mov edx, dword [0x5dc264]
mov eax, dword [0x5dc27c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca0cf
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca14d
mov edx, dword [0x5dc264]
mov eax, dword [0x5dc280]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca124
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca1a2
mov edx, dword [0x5dc264]
mov eax, dword [0x5dc284]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca179
jmp 0x5ca1d5
mov edx, 0x5cb15c
mov eax, dword [0x5dc284]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov ecx, 0x5cb150
mov eax, dword [0x5dc284]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov edx, 0x5cb15c
mov eax, dword [0x5dc284]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x5ca1b5
jmp 0x5ca209
mov edx, 0x5cb174
mov eax, dword [0x5dc284]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov ecx, 0x5cb150
mov eax, dword [0x5dc284]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov edx, 0x5cb174
mov eax, dword [0x5dc284]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x5ca1e9
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca25f
mov edx, dword [0x5dc264]
mov eax, dword [0x5dc288]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca236
mov edx, dword [0x5d4b8c]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d47b0]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov dl, 1
mov eax, dword [0x41c748]
call fcn.00404b08
mov edx, dword [0x5d4de8]
mov dword [edx], eax
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca2fe
mov eax, dword [0x5d4de8]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca2d3
mov edx, dword [0x5d4eb8]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d4e5c]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d49f8]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d4d58]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d46f8]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, dword [0x5d4870]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca3f1
mov eax, dword [0x5d4ad0]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca3c6
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca446
mov edx, dword [0x5dc264]
mov eax, dword [0x5dc28c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca41d
mov eax, 0x5dc094
call fcn.00403eb8
mov edx, dword [0x5d4810]
mov dword [edx], eax
mov eax, 0x5dc094
call fcn.00404008
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca4b9
mov eax, dword [0x5d49b4]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca48e
mov edx, dword [0x5d4cd8]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca52a
mov eax, dword [0x5d4788]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca4ff
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb188
call fcn.00405ec0
mov eax, dword [0x5d4bf4]
sete byte [eax]
mov edx, dword [0x5d4920]
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca5cb
mov eax, dword [0x5d4724]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca5a0
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
jmp 0x5ca622
mov eax, dword [0x5d4ab0]
mov eax, dword [eax]
mov edx, dword [0x5dc264]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x5dc264
mov eax, 0x5dc094
call fcn.00403f9c
mov eax, 0x5dc094
call fcn.00404008
mov eax, dword [0x5dc264]
mov edx, 0x5cb150
call fcn.00405ec0
jne 0x5ca5f7
mov eax, 0x5dc094
call fcn.00403b4c
mov edx, dword [0x5dc284]
mov eax, dword [0x5dc290]
call fcn.0041ea44
lea eax, [ebp - 0xc8]
mov ecx, 0x5cb10c
mov edx, dword [0x5dc270]
call fcn.00405db0
mov eax, dword [ebp - 0xc8]
call fcn.00405f28
mov edx, eax
lea eax, [ebp - 0xc4]
call fcn.00405c90
mov eax, dword [ebp - 0xc4]
call fcn.00405f28
push eax
call sub.kernel32.dll_DeleteFileA
mov eax, 0x5cb198
call fcn.005c0fb0
mov eax, 0x5cb1b4
call fcn.005c0fb0
xor ebx, ebx
inc ebx
push dword [0x5dc270]
push 0x5cb1d0
lea edx, [ebp - 0xd0]
mov eax, ebx
call fcn.0040b1ec
push dword [ebp - 0xd0]
lea eax, [ebp - 0xcc]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xcc]
call fcn.004b087c
test al, al
jne 0x5ca6a2
push dword [0x5dc270]
push 0x5cb1d0
lea edx, [ebp - 0xd4]
mov eax, ebx
call fcn.0040b1ec
push dword [ebp - 0xd4]
push 0x5cb1dc
mov eax, dword [0x5d4f2c]
mov edx, 4
call fcn.00405e2c
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
call fcn.0040b938
mov eax, 0x5cb1e8
call fcn.005c0fb0
mov eax, 0x5cb204
call fcn.005c0fb0
mov eax, dword [0x5dc274]
call fcn.004b0828
test al, al
jne 0x5ca79a
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5ca782
push 0x10
lea eax, [ebp - 0xd8]
call fcn.004b05e0
mov eax, dword [ebp - 0xd8]
call fcn.00405f28
push eax
mov eax, dword [0x5d4e24]
mov eax, dword [eax]
call fcn.00405f28
push eax
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0046fcd8
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x5d4694]
mov dword [eax], 0xe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5caf54
push 1
push 1
push 0x5dc294
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [0x5d4f2c]
mov ecx, dword [ecx]
xor edx, edx
mov eax, dword [0x5dc274]
call fcn.004e3294
test al, al
jne 0x5ca81f
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5ca807
push 0x10
lea eax, [ebp - 0xdc]
call fcn.004b05e0
mov eax, dword [ebp - 0xdc]
call fcn.00405f28
push eax
mov eax, dword [0x5d4e80]
mov eax, dword [eax]
call fcn.00405f28
push eax
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0046fcd8
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x5d4694]
mov dword [eax], 0xf
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5caf54
mov eax, 0x5cb224
call fcn.005c0fb0
mov eax, 0x5cb244
call fcn.005c0fb0
push dword [0x5dc26c]
push dword [0x5dc278]
push 0x5cb264
lea eax, [ebp - 0xe0]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xe0]
call fcn.004b0828
test al, al
jne 0x5ca8f1
push dword [0x5dc26c]
push dword [0x5dc278]
push 0x5cb274
lea eax, [ebp - 0xe4]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xe4]
call fcn.004b0828
test al, al
jne 0x5ca8f1
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5ca8d9
push 0x10
lea eax, [ebp - 0xe8]
call fcn.004b05e0
mov eax, dword [ebp - 0xe8]
call fcn.00405f28
push eax
mov eax, dword [0x5d4acc]
mov eax, dword [eax]
call fcn.00405f28
push eax
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.0046fcd8
push eax
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x5d4694]
mov dword [eax], 0x10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5caf54
mov eax, 0x5cb284
call fcn.005c0fb0
mov eax, 0x5cb2a4
call fcn.005c0fb0
push 0
mov eax, dword [0x5d4f2c]
push dword [eax]
push dword [0x5dc278]
push 0x5cb264
lea eax, [ebp - 0xec]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xec]
call fcn.00405f28
push eax
push dword [0x5dc26c]
push dword [0x5dc278]
push 0x5cb264
lea eax, [ebp - 0xf0]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xf0]
call fcn.00405f28
push eax
call sub.kernel32.dll_CopyFileA
push 0x80
mov eax, dword [0x5d4f2c]
push dword [eax]
push dword [0x5dc278]
push 0x5cb264
lea eax, [ebp - 0xf4]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xf4]
call fcn.00405f28
push eax
call sub.kernel32.dll_SetFileAttributesA
push 0
mov eax, dword [0x5d4f2c]
push dword [eax]
push dword [0x5dc278]
push 0x5cb274
lea eax, [ebp - 0xf8]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xf8]
call fcn.00405f28
push eax
push dword [0x5dc26c]
push dword [0x5dc278]
push 0x5cb274
lea eax, [ebp - 0xfc]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0xfc]
call fcn.00405f28
push eax
call sub.kernel32.dll_CopyFileA
push 0x80
mov eax, dword [0x5d4f2c]
push dword [eax]
push dword [0x5dc278]
push 0x5cb274
lea eax, [ebp - 0x100]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0x100]
call fcn.00405f28
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, 0x5cb2c0
call fcn.005c0fb0
mov eax, dword [0x5d48fc]
mov ecx, 0x5cb2dc
mov edx, dword [0x5dc26c]
call fcn.00405db0
mov eax, dword [0x5d4b7c]
mov edx, dword [0x5d48fc]
mov edx, dword [edx]
call fcn.00405aec
mov eax, 0x5cb2ec
call fcn.005c0fb0
xor eax, eax
mov dword [0x5dc260], eax
mov eax, dword [0x5dc27c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
test esi, esi
jle 0x5caae4
mov ebx, 1
lea ecx, [ebp - 0x104]
mov edx, ebx
dec edx
mov eax, dword [0x5dc27c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x104]
mov edx, 0x5cb304
call fcn.00405ec0
jne 0x5caae0
lea ecx, [ebp - 0x108]
mov edx, ebx
dec edx
mov eax, dword [0x5dc288]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x108]
mov edx, 0x5cb31c
call fcn.00405ec0
je 0x5caae0
inc dword [0x5dc260]
inc ebx
dec esi
jne 0x5caa90
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5cab60
mov dl, 1
mov eax, 0x5cb074
call fcn.00411158
test al, al
jne 0x5cab60
mov dl, 1
mov eax, 0x5cb084
call fcn.00411158
test al, al
jne 0x5cab60
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
xor edx, edx
call fcn.004a1450
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
mov edx, dword [0x5dc260]
call fcn.004a145c
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov eax, dword [eax + 0x368]
mov edx, 1
call fcn.004a146c
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
call fcn.005ba18c
mov eax, dword [0x5dc27c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
test esi, esi
jle 0x5cacd0
mov ebx, 1
lea ecx, [ebp - 0x10c]
mov edx, ebx
dec edx
mov eax, dword [0x5dc27c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x10c]
mov edx, 0x5cb304
call fcn.00405ec0
jne 0x5cacc8
lea ecx, [ebp - 0x110]
mov edx, ebx
dec edx
mov eax, dword [0x5dc288]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
mov edx, 0x5cb31c
call fcn.00405ec0
je 0x5cacc8
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x120]
mov edx, ebx
dec edx
mov eax, dword [0x5dc280]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x120]
mov ecx, 1
mov eax, dword [0x5dc290]
call fcn.005af6f8
mov eax, dword [ebp - 0x11c]
lea edx, [ebp - 0x118]
call fcn.00593624
mov eax, dword [ebp - 0x118]
call fcn.00405f28
mov edx, eax
lea eax, [ebp - 0x114]
call fcn.00405c90
mov eax, dword [ebp - 0x114]
push eax
lea edx, [ebp - 0x124]
mov eax, ebx
dec eax
call fcn.0040b1ec
mov eax, dword [ebp - 0x124]
pop edx
call fcn.005ba00c
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5cacc8
mov dl, 1
mov eax, 0x5cb074
call fcn.00411158
test al, al
jne 0x5cacc8
mov dl, 1
mov eax, 0x5cb084
call fcn.00411158
test al, al
jne 0x5cacc8
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edi, dword [eax + 0x368]
mov eax, edi
call fcn.004a12bc
mov edx, eax
inc edx
mov eax, dword [0x5d4c08]
mov eax, edi
call fcn.004a146c
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, dword [0x5d5018]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x5cacc8
mov eax, dword [0x5d5018]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
inc ebx
dec esi
jne 0x5cab85
mov eax, 0x5cb328
call fcn.005c0fb0
mov eax, dword [0x5d4c84]
cmp byte [eax], 0
jne 0x5cad41
mov dl, 1
mov eax, 0x5cb074
call fcn.00411158
test al, al
jne 0x5cad41
mov dl, 1
mov eax, 0x5cb084
call fcn.00411158
test al, al
jne 0x5cad41
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.00482298
mov eax, dword [0x5d4c08]
mov eax, dword [eax]
call fcn.00404b38
mov eax, dword [0x5d5018]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x5cad41
mov eax, dword [0x5d5018]
mov eax, dword [eax]
call fcn.00482298
mov eax, dword [0x5d5018]
mov eax, dword [eax]
call fcn.00404b38
mov eax, 0x5cb340
call fcn.005c0fb0
mov eax, 0x5cb35c
call fcn.005c0fb0
mov eax, dword [0x5d48dc]
mov eax, dword [eax]
cmp byte [eax], 0
jne 0x5cadb4
call fcn.00403590
mov eax, 5
call fcn.004035b8
dec eax
jne 0x5cadb4
push 0x24
lea eax, [ebp - 0x128]
call fcn.004b05e0
mov eax, dword [ebp - 0x128]
call fcn.00405f28
push eax
push 0x5cb36c
push 0
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x5cadb4
push 5
push 0
push 0
push 0x5cb46c
push 0x5cb48c
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x5dc28c]
push eax
mov eax, dword [0x5dc290]
push eax
push 0
mov eax, dword [0x5d4f2c]
push dword [eax]
push dword [0x5dc278]
push 0x5cb264
lea eax, [ebp - 0x12c]
mov edx, 3
call fcn.00405e2c
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [0x5dc288]
mov edx, dword [0x5dc280]
mov eax, dword [0x5dc27c]
call fcn.00593adc
mov eax, 0x5cb49c
call fcn.005c0fb0
mov eax, 0x5cb4b4
call fcn.005c0fb0
mov eax, dword [0x5dc290]
call fcn.00404b38
mov eax, dword [0x5dc27c]
call fcn.00404b38
mov eax, dword [0x5dc280]
call fcn.00404b38
mov eax, dword [0x5dc284]
call fcn.00404b38
mov eax, dword [0x5dc288]
call fcn.00404b38
mov eax, dword [0x5dc28c]
call fcn.00404b38
mov eax, dword [0x5d4de8]
mov eax, dword [eax]
call fcn.00404b38
mov eax, 0x5cb4c8
call fcn.005c0fb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5caee0
mov eax, 0x5cb4dc
call fcn.005c0fb0
mov eax, dword [0x5d4f2c]
cmp dword [eax], 0
je 0x5caf40
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
call fcn.004b087c
test al, al
je 0x5caf40
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
mov dl, 1
call fcn.0042df70
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
mov dl, 1
call fcn.0042df70
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
mov dl, 1
call fcn.0042df70
mov eax, dword [0x5d4f2c]
mov eax, dword [eax]
call fcn.00405f28
push eax
call sub.kernel32.dll_RemoveDirectoryA
mov eax, 0x5cb4fc
call fcn.005c0fb0
mov eax, 0x5cb51c
call fcn.005c0fb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5caf79
lea eax, [ebp - 0x134]
mov edx, 0x49
call fcn.00405abc
ret