Function at 0x51a5e8
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6c
push 0
push 0
dec ecx
jne 0x51a5f0
push ecx
push ebx
push esi
push edi
mov byte [ebp - 0x285], dl
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x280]
mov edx, dword [0x40e0c8]
call fcn.00407e10
xor eax, eax
push ebp
push 0x51b0f3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5333e0]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x51b110
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x45c]
mov eax, dword [eax + 0x280]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51a7ed
inc eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x28c], 0
push 0x51b130
lea edx, [ebp - 0x2b8]
mov eax, dword [ebp - 0x28c]
call fcn.00413b2c
push dword [ebp - 0x2b8]
push 0x51b14c
lea ecx, [ebp - 0x2bc]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x45c]
mov eax, dword [eax + 0x280]
mov edx, dword [ebp - 0x28c]
call fcn.0043bbec
push dword [ebp - 0x2bc]
lea eax, [ebp - 0x2b4]
mov edx, 4
call fcn.00407664
mov edx, dword [ebp - 0x2b4]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
mov dword [ebp - 0x290], eax
mov eax, dword [0x5333e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51a7db
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x2c0]
mov edx, ebx
mov eax, dword [0x5333e4]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x2c4]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x45c]
mov eax, dword [eax + 0x280]
mov edx, dword [ebp - 0x28c]
call fcn.0043ac00
lea eax, [ebp - 0x2c4]
mov edx, 0x51b15c
call fcn.004074c0
mov eax, dword [ebp - 0x2c4]
pop edx
call fcn.00407b5c
test eax, eax
jle 0x51a7d3
push 0x51b130
lea edx, [ebp - 0x2cc]
mov eax, dword [ebp - 0x28c]
call fcn.00413b2c
push dword [ebp - 0x2cc]
push 0x51b15c
lea edx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x290]
call fcn.00413b2c
push dword [ebp - 0x2d0]
push 0x51b14c
lea ecx, [ebp - 0x2d4]
mov edx, ebx
mov eax, dword [0x5333e4]
call fcn.0043bbec
push dword [ebp - 0x2d4]
lea eax, [ebp - 0x2c8]
mov edx, 6
call fcn.00407664
mov ecx, dword [ebp - 0x2c8]
mov edx, ebx
mov eax, dword [0x5333e4]
mov edi, dword [eax]
call dword [edi + 0x20]
inc dword [ebp - 0x290]
inc ebx
dec esi
jne 0x51a6fa
inc dword [ebp - 0x28c]
dec dword [ebp - 0x298]
jne 0x51a670
lea edx, [ebp - 0x2dc]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x43c]
call fcn.004a1998
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2d8]
mov edx, 0x51b16c
call fcn.00407580
mov edx, dword [ebp - 0x2d8]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2e4]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x434]
call fcn.004a1998
mov ecx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
mov edx, 0x51b184
call fcn.00407580
mov edx, dword [ebp - 0x2e0]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x51b1a8
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2e8]
mov eax, dword [0x5333e4]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x2e8]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x285], 0
je 0x51a94d
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x3b0]
mov edx, dword [eax]
call dword [edx + 0x40]
test al, al
je 0x51b00e
lea edx, [ebp - 0x2f0]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x454]
call fcn.004a1998
mov ecx, dword [ebp - 0x2f0]
lea eax, [ebp - 0x2ec]
mov edx, 0x51b1cc
call fcn.00407580
mov edx, dword [ebp - 0x2ec]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x3b0]
call fcn.00483620
lea edx, [ebp - 0x2f4]
mov eax, dword [ebp - 4]
call fcn.00414ca8
cmp dword [ebp - 0x2f4], 0
jne 0x51a931
lea eax, [ebp - 4]
mov edx, 0x51b1ec
call fcn.004074c0
mov edx, dword [ebp - 4]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, 0x51b204
call fcn.00487af4
jmp 0x51b00e
push dword [0x5333dc]
push 0x51b220
push 0x51b23c
lea eax, [ebp - 0x2f8]
mov edx, 3
call fcn.00407664
mov eax, dword [ebp - 0x2f8]
lea ecx, [ebp - 0x280]
mov edx, 0x1ff
call fcn.004146a0
test eax, eax
jne 0x51a9c3
mov eax, dword [ebp - 0x26c]
mov edx, 0x51b254
call fcn.00407784
je 0x51a9b4
mov eax, dword [ebp - 0x26c]
mov edx, 0x51b264
call fcn.00407784
je 0x51a9b4
mov byte [ebp - 0x291], 1
jmp 0x51a9c3
lea eax, [ebp - 0x280]
call fcn.004146f0
test eax, eax
je 0x51a987
lea eax, [ebp - 0x280]
call fcn.00414714
cmp byte [ebp - 0x291], 0
je 0x51aaf1
xor ecx, ecx
mov dl, 1
mov eax, dword [0x50b7c4]
call fcn.0050cf70
mov ebx, eax
push dword [0x5333dc]
push 0x51b278
push 0x51b294
lea eax, [ebp - 0x2fc]
mov edx, 3
call fcn.00407664
mov eax, dword [ebp - 0x2fc]
call fcn.004143b8
test al, al
je 0x51aa63
push dword [0x5333dc]
push 0x51b278
push 0x51b294
lea eax, [ebp - 0x300]
mov edx, 3
call fcn.00407664
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
call fcn.00407150
push eax
call sub.kernel32.dll_DeleteFileW
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x29d], al
push dword [0x5333dc]
push 0x51b278
push 0x51b294
lea eax, [ebp - 0x304]
mov edx, 3
call fcn.00407664
mov edx, dword [ebp - 0x304]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ecx, 0x51b220
lea eax, [ebp - 0x308]
mov edx, dword [0x5333dc]
call fcn.00407580
mov edx, dword [ebp - 0x308]
mov eax, ebx
call fcn.005006f4
mov eax, dword [ebx + 0x40]
mov edx, 0x51b2b8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov byte [ebx + 0x5b4], 1
mov dl, 1
mov eax, ebx
call fcn.0050d3a0
mov dword [ebx + 0x5b0], 9
mov dl, 1
mov eax, ebx
call fcn.0050d3c4
mov eax, ebx
call fcn.0050d6b4
mov eax, ebx
call fcn.0040535c
push 0x51b2cc
push 0xa
mov ecx, dword [0x530c40]
mov dl, 1
mov eax, dword [0x431710]
call fcn.0043d378
mov ebx, eax
lea eax, [ebp - 0x30c]
call fcn.00515d68
mov edx, dword [ebp - 0x30c]
lea eax, [ebp - 4]
mov ecx, 0x51b2e8
call fcn.00407580
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043d12c
mov eax, ebx
call fcn.0040535c
lea edx, [ebp - 0x310]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x434]
call fcn.004a1998
mov eax, dword [ebp - 0x310]
lea edx, [ebp - 4]
call fcn.004133c4
cmp dword [ebp - 4], 0
jne 0x51ab73
lea eax, [ebp - 4]
mov edx, 0x51b310
call fcn.00407118
lea eax, [ebp - 0x314]
call fcn.00515d68
push dword [ebp - 0x314]
push 0x51b338
push dword [ebp - 4]
push 0x51b348
lea eax, [ebp - 4]
mov edx, 4
call fcn.00407664
push 0x51b360
push 0xa
mov ecx, dword [0x530c40]
mov dl, 1
mov eax, dword [0x431710]
call fcn.0043d378
mov ebx, eax
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.0043d12c
mov eax, ebx
call fcn.0040535c
lea edx, [ebp - 0x318]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x43c]
call fcn.004a1998
mov edx, dword [ebp - 0x318]
mov eax, 0x52cc14
call fcn.004070c4
cmp dword [0x52cc14], 0
jne 0x51ac09
mov eax, 0x52cc14
mov edx, 0x51b378
call fcn.004070c4
lea eax, [ebp - 8]
mov edx, dword [0x52cc14]
call fcn.00407118
lea edx, [ebp - 0x320]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x434]
call fcn.004a1998
mov eax, dword [ebp - 0x320]
lea edx, [ebp - 0x31c]
call fcn.004133c4
mov eax, dword [ebp - 0x31c]
lea ecx, [ebp - 0xc]
mov edx, dword [0x52cc10]
call fcn.005156c0
mov dl, 1
mov eax, dword [0x4301fc]
call fcn.0043c44c
mov ebx, eax
lea edx, [ebp - 0x328]
mov eax, dword [ebp - 0x284]
mov eax, dword [eax + 0x454]
call fcn.004a1998
mov eax, dword [ebp - 0x328]
lea edx, [ebp - 0x324]
call fcn.004133c4
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x2a4], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x51b388
mov edx, 0x51b39c
mov eax, dword [ebp - 0x2a4]
call fcn.0040ded0
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 8]
test eax, eax
je 0x51acd5
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x51acd5
lea eax, [ebp - 8]
mov edx, dword [ebp - 8]
call fcn.00406844
test eax, eax
je 0x51acde
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
jge 0x51ad15
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x51ad02
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x51ad02
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.00406844
test eax, eax
je 0x51ad0b
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
setl al
jmp 0x51ad17
xor eax, eax
test al, al
je 0x51ad52
lea ecx, [ebp - 0x32c]
mov edx, 1
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a8]
test eax, eax
je 0x51ad48
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
setl al
jmp 0x51ad54
xor eax, eax
test al, al
je 0x51ad8f
lea ecx, [ebp - 0x330]
mov edx, 2
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x51ad85
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
setl al
jmp 0x51ad91
xor eax, eax
test al, al
je 0x51adc9
lea ecx, [ebp - 0x334]
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2b0]
test eax, eax
je 0x51adbf
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf0
setl al
jmp 0x51adcb
xor eax, eax
test al, al
je 0x51adf0
lea ecx, [ebp - 0x338]
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x338]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00515a90
jmp 0x51adf2
xor eax, eax
test al, al
je 0x51ae1d
lea ecx, [ebp - 0x33c]
mov edx, 1
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x33c]
mov ecx, 1
mov eax, dword [ebp - 4]
call fcn.00515a90
jmp 0x51ae1f
xor eax, eax
test al, al
je 0x51ae4a
lea ecx, [ebp - 0x340]
mov edx, 2
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x340]
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.00515a90
jmp 0x51ae4c
xor eax, eax
test al, al
je 0x51ae62
mov ecx, 3
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00515a90
jmp 0x51ae64
xor eax, eax
test al, al
je 0x51ae7a
mov ecx, 4
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00515a90
jmp 0x51ae7c
xor eax, eax
test al, al
je 0x51aec4
push dword [0x5333dc]
push 0x51b278
push 0x51b338
lea edx, [ebp - 0x348]
mov eax, dword [ebp - 4]
call fcn.00414c68
push dword [ebp - 0x348]
lea eax, [ebp - 0x344]
mov edx, 4
call fcn.00407664
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 4]
call fcn.0051900c
jmp 0x51aec6
xor eax, eax
test al, al
je 0x51af11
lea ecx, [ebp - 0x34c]
mov edx, 1
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x34c]
push eax
lea eax, [ebp - 0x350]
call fcn.00515d68
lea eax, [ebp - 0x350]
mov edx, 0x51b2e8
call fcn.004074c0
mov eax, dword [ebp - 0x350]
mov ecx, 1
pop edx
call fcn.00515a90
jmp 0x51af13
xor eax, eax
test al, al
je 0x51af5e
lea ecx, [ebp - 0x354]
mov edx, 2
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x354]
push eax
lea eax, [ebp - 0x358]
call fcn.00515d68
lea eax, [ebp - 0x358]
mov edx, 0x51b2e8
call fcn.004074c0
mov eax, dword [ebp - 0x358]
mov ecx, 2
pop edx
call fcn.00515a90
jmp 0x51af60
xor eax, eax
test al, al
je 0x51affd
lea eax, [ebp - 0x35c]
call fcn.00515d68
lea eax, [ebp - 0x35c]
mov edx, 0x51b2e8
call fcn.004074c0
mov eax, dword [ebp - 0x35c]
push eax
push dword [0x5333dc]
push 0x51b278
push 0x51b2e8
lea eax, [ebp - 0x360]
mov edx, 3
call fcn.00407664
mov edx, dword [ebp - 0x360]
pop eax
call fcn.0051900c
test al, al
je 0x51affd
push dword [0x5333dc]
push 0x51b278
push 0x51b3ac
lea eax, [ebp - 0x364]
mov edx, 3
call fcn.00407664
mov edx, dword [ebp - 0x364]
mov eax, dword [0x5333e0]
mov ecx, dword [eax]
call dword [ecx + 0x7c]
mov eax, ebx
call fcn.0040535c
mov eax, 0x51b3c8
call fcn.00487af4
jmp 0x51b00e
mov eax, ebx
call fcn.0040535c
mov eax, 0x51b3fc
call fcn.00487af4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51b0fd
lea eax, [ebp - 0x364]
mov edx, 0xf
call fcn.004070bc
lea eax, [ebp - 0x328]
call fcn.004070b4
lea eax, [ebp - 0x324]
call fcn.004070b4
lea eax, [ebp - 0x320]
call fcn.004070b4
lea eax, [ebp - 0x31c]
call fcn.004070b4
lea eax, [ebp - 0x318]
call fcn.004070b4
lea eax, [ebp - 0x314]
call fcn.004070b4
lea eax, [ebp - 0x310]
call fcn.004070b4
lea eax, [ebp - 0x30c]
mov edx, 7
call fcn.004070bc
lea eax, [ebp - 0x2f0]
call fcn.004070b4
lea eax, [ebp - 0x2ec]
mov edx, 2
call fcn.004070bc
lea eax, [ebp - 0x2e4]
call fcn.004070b4
lea eax, [ebp - 0x2e0]
call fcn.004070b4
lea eax, [ebp - 0x2dc]
call fcn.004070b4
lea eax, [ebp - 0x2d8]
mov edx, 0xa
call fcn.004070bc
lea eax, [ebp - 0x280]
mov edx, dword [0x40e0c8]
call fcn.00407ee8
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004070bc
ret