Function at 0x4c0e60
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x4c0e68
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4c1a68
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x17c], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0
je 0x4c1a33
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.0040c940
cmp dword [ebp - 0x44], 0
jne 0x4c0ecb
mov eax, dword [ebp - 4]
cmp dword [eax + 0x130], 0
je 0x4c1a33
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.004b6b10
mov byte [ebp - 0x31], al
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x12c], edx
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
je 0x4c0f06
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
mov dword [ebp - 0x20], eax
jmp 0x4c0f23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x118]
test eax, eax
je 0x4c0f23
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x114]
je 0x4c0f23
call fcn.004046f4
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x38]
mov byte [ebp - 0x21], al
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x49]
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x49], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x114]
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 7
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004b6b20
mov byte [ebp - 0x3d], al
xor edx, edx
push ebp
push 0x4c1a29
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1c5], 0
je 0x4c0f8d
mov dl, 1
mov eax, dword [0x41f898]
call fcn.004046c4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b0], 0
jne 0x4c0fc8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x184], 0
jne 0x4c0fc8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x185], 0
jne 0x4c0fc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4c0fc8
mov eax, dword [ebp - 4]
call fcn.004bf4b8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b0], 0
jne 0x4c105a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4c105a
mov byte [ebp - 0x23], 0
mov eax, dword [ebp - 4]
cmp word [eax + 0x1fa], 0
je 0x4c1033
mov eax, dword [ebp - 4]
push dword [eax + 0x1b4]
push dword [eax + 0x1b0]
mov eax, dword [ebp - 4]
add eax, 0x2a0
push eax
lea eax, [ebp - 0x23]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, eax
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x1fc]
call dword [ebx + 0x1f8]
cmp byte [ebp - 0x23], 0
je 0x4c105a
lea edx, [ebp - 0x4c]
mov eax, 0xbb
call fcn.0040d288
mov ecx, dword [ebp - 0x4c]
mov dl, 1
mov eax, dword [0x4b499c]
call fcn.0041194c
call fcn.00404fa8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
je 0x4c1072
mov eax, dword [ebp - 4]
call fcn.004b7e48
test eax, eax
jg 0x4c1098
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 0x50]
call fcn.004a7a80
test al, al
je 0x4c10ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 0
jne 0x4c10ed
mov eax, dword [ebp - 4]
mov byte [eax + 0x270], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c10d4
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 4]
call fcn.004c3d88
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.004a8028
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
add eax, 0x2a8
call fcn.0040568c
mov eax, dword [ebp - 4]
call fcn.004c1a9c
mov eax, dword [ebp - 4]
call fcn.004b6b30
push ebp
call fcn.004c0540
pop ecx
jmp 0x4c1126
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c1114
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
add eax, 0x2a8
call fcn.0040568c
mov eax, dword [ebp - 4]
mov byte [eax + 0x270], 0
mov eax, dword [ebp - 4]
call fcn.004c1a9c
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x1d8]
cmp byte [ebx + 0x21], 0
je 0x4c1225
cmp byte [ebx + 0x20], 0
je 0x4c1225
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x26c]
mov eax, dword [eax + 0x268]
add eax, 0x2e
adc edx, 0
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
cdq
call fcn.004068b4
add eax, dword [ebx + 0x18]
adc edx, dword [ebx + 0x1c]
add eax, 0x16
adc edx, 0
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x158]
movzx eax, word [eax + 0x18]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x800
adc edx, 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x1d8]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 1
jne 0x4c1225
xor eax, eax
push ebp
push 0x4c11fd
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.0040d884
lea eax, [ebp - 0x60]
mov edx, 0x4c1a84
call fcn.00405914
mov eax, dword [ebp - 0x60]
call fcn.004bdc74
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c120c
mov eax, ebx
xor edx, edx
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x1d8]
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1d8]
movzx eax, byte [ecx + 0x21]
cmp al, 1
jne 0x4c125e
mov eax, dword [ebp - 4]
call fcn.004c1d24
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x1d8]
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x260], eax
mov dword [ecx + 0x264], edx
jmp 0x4c12af
cmp al, 2
jne 0x4c12af
cmp dword [ecx + 0x14], 0
jne 0x4c128b
cmp dword [ecx + 0x10], 0
jne 0x4c128b
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x260], eax
mov dword [ecx + 0x264], edx
jmp 0x4c12af
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
sub eax, dword [ecx + 0x18]
sbb edx, dword [ecx + 0x1c]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x260], eax
mov dword [ecx + 0x264], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 0
je 0x4c12f4
mov eax, dword [ebp - 4]
fild qword [eax + 0x1b0]
fmul dword [0x4c1a88]
mov eax, dword [ebp - 4]
fistp qword [eax + 0x1b0]
wait
mov dword [ebp - 0x38], 0x8074b50
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
mov ecx, 4
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2b0], 0
jne 0x4c13fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4c13fc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x184], 0
jne 0x4c134e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x4c13fc
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.004c0d74
pop ecx
inc esi
dec ebx
jne 0x4c133c
jmp 0x4c13fc
push ebp
xor eax, eax
call fcn.004c0d74
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x280], 0
je 0x4c1371
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x180]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x180], edx
mov eax, dword [ebp - 4]
cmp word [eax + 0x252], 0
je 0x4c13ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x44]
lea eax, [ebp - 0x18]
call fcn.00405638
mov eax, dword [ebp - 4]
cmp word [eax + 0x252], 0
je 0x4c13c8
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 4]
lea ecx, [eax + 0x180]
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x254]
call dword [ebx + 0x250]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x180]
test eax, eax
je 0x4c13ec
push 0
push 0
call fcn.0042477c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x180], 0
jne 0x4c134e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
call fcn.0042475c
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa53c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x12c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa394
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa500
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x29c]
mov ebx, dword [eax + 0xc]
dec ebx
test ebx, ebx
jl 0x4c1579
inc ebx
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x29c]
mov edx, esi
call fcn.004a5efc
mov edx, dword [0x4a84a0]
call fcn.004048a4
mov edx, dword [ebp - 4]
mov dword [edx + 0x2a4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 0
je 0x4c152c
mov eax, dword [ebp - 4]
call fcn.004c1dac
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a4]
call fcn.004a9bf8
cdq
cmp edx, dword [esp + 4]
jne 0x4c14c1
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4c152c
jmp 0x4c14c5
pop edx
pop eax
jle 0x4c152c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
call fcn.0042475c
sub eax, dword [ebp - 0x30]
add dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 4]
call fcn.004c1ec0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
xor edx, edx
call fcn.004aa3d8
test esi, esi
jne 0x4c152c
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa53c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x12c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa394
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x270]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x130]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x284]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a4]
call fcn.004a93cc
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x2a0]
mov eax, edi
call fcn.004aa3bc
mov edx, eax
inc edx
mov eax, edi
call fcn.004aa3d8
inc esi
dec ebx
jne 0x4c1462
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
call fcn.0042475c
sub eax, dword [ebp - 0x30]
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cdq
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa4b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 0
je 0x4c15e4
mov eax, dword [ebp - 4]
call fcn.004c1dac
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa32c
cdq
cmp edx, dword [esp + 4]
jne 0x4c15d8
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4c15e4
jmp 0x4c15dc
pop edx
pop eax
jle 0x4c15e4
mov eax, dword [ebp - 4]
call fcn.004c1ec0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x12c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004aa350
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x284]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004a9f50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 1
jne 0x4c1629
mov eax, dword [ebp - 4]
call fcn.004c1de8
mov byte [ebp - 0x19], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c1a33
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c16b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 0
je 0x4c1699
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x158]
call fcn.004aa57c
cmp eax, 1
jne 0x4c1699
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x3c], 0x30304b50
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
mov ecx, 4
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x284]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x284], edx
cmp byte [ebp - 0x19], 0
je 0x4c196d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c16df
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c16df
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c16ff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x270], 0
je 0x4c16ff
mov eax, dword [ebp - 4]
call fcn.004b6f10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 2
jne 0x4c1777
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x1a8]
call fcn.004056d0
push 2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x12c]
inc ecx
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.004b8094
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x6c]
call fcn.00405ad8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a8]
call fcn.00405ad8
push eax
call sub.kernel32.dll_MoveFileA_1
cmp eax, 1
sbb eax, eax
inc eax
jmp 0x4c179a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c179a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c179a
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x270], 0
je 0x4c17b0
mov eax, dword [ebp - 4]
call fcn.004c3734
jmp 0x4c17c7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
je 0x4c17c7
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x284], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1c5], 0
je 0x4c17da
push ebp
call fcn.004c02b8
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c1821
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2a0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x158]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x29c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x114], eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x38], 7
jmp 0x4c1846
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x29c]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x29c], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x118], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
jne 0x4c187b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c187b
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 0x70]
call fcn.004a795c
mov eax, dword [ebp - 4]
fstp qword [eax + 0x120]
wait
cmp byte [ebp - 0x21], 0
je 0x4c189b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c189b
movzx edx, byte [ebp - 0x21]
mov eax, dword [ebp - 4]
call fcn.004b7d90
jmp 0x4c18c4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x271], 0
jne 0x4c18c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x298]
mov edx, dword [ebp - 4]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x298], edx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x12c]
inc edx
mov eax, dword [ebp - 4]
call fcn.004b6afc
mov eax, dword [ebp - 4]
cmp word [eax + 0xca], 0
je 0x4c18fa
mov ebx, dword [ebp - 4]
mov ecx, 0x64
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0xcc]
call dword [ebx + 0xc8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x1d8]
cmp byte [ebx + 0x21], 0
je 0x4c199a
cmp byte [ebx + 0x20], 0
je 0x4c199a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x158]
call fcn.004aa334
test eax, eax
jbe 0x4c199a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1d8]
cmp byte [eax + 0x21], 1
jne 0x4c1945
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004b6bdc
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 4]
call fcn.004b61dc
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x74]
mov edx, 0x4c1a94
call fcn.0040d768
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
call fcn.004c38c4
jmp 0x4c199a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x29c]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x29c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a8]
call fcn.00405ad8
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x21]
mov byte [eax + 0x38], dl
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x22]
mov byte [eax + 0x49], dl
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x298]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x298], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2a0]
call fcn.004046f4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x2a0], edx
mov eax, dword [ebp - 4]
call fcn.004b6bb4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10c], 0
je 0x4c1a05
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x130]
mov eax, dword [ebp - 4]
call fcn.004b745c
movzx edx, byte [ebp - 0x31]
mov eax, dword [ebp - 4]
call fcn.004b6b10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x44]
movzx edx, byte [ebp - 0x3d]
mov eax, dword [ebp - 4]
call fcn.004b6b20
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c1a6f
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.0040565c
lea eax, [ebp - 0x68]
mov edx, 0xa
call fcn.0040565c
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.0040565c
ret