Function at 0x3005570b
Capabilities:
Delete file

Disassembly:
sub esp, 0x1e4
mov eax, dword [0x30095244]
push ebx
push ebp
mov ebp, dword [esp + 0x1f0]
push esi
mov esi, dword [esp + 0x200]
push edi
mov edi, dword [esp + 0x200]
push esi
push edi
push dword [esp + 0x204]
mov dword [esp + 0x1fc], eax
push ebp
call fcn.3007f0b2
mov ecx, dword [esp + 0x1fc]
sub ecx, 0x4e
je 0x30056249
sub ecx, 0xc2
je 0x30055f87
dec ecx
jne 0x30056310
movzx ecx, di
dec ecx
je 0x30055d7e
dec ecx
je 0x30055d37
sub ecx, 0xbc1
je 0x30055c9a
dec ecx
dec ecx
je 0x30055a4d
dec ecx
je 0x30055990
sub ecx, 4
je 0x300557ac
sub ecx, 0x14
jne 0x30056310
call fcn.300512eb
jmp 0x3005630d
push 8
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xbc3
push ebp
mov dword [esp + 0x30], eax
call esi
xor ebx, ebx
push ebx
push ebx
push 0x130b
push 0xbc2
mov edi, eax
push ebp
mov dword [esp + 0x24], edi
call esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
push ebx
push ebx
push 0x188
push edi
mov dword [esp + 0x24], eax
call esi
push ebx
push eax
push 0x199
push edi
mov dword [esp + 0x28], eax
call esi
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
je 0x30055831
cmp eax, ebx
je 0x30055831
mov edi, dword [esp + 0x28]
push 0x104
add edi, 8
push edi
push dword [eax]
mov dword [esp + 0x28], 1
call fcn.3007bb49
add esp, 0xc
jmp 0x300558a7
cmp dword [esp + 0x14], ebx
jne 0x300558a5
mov edi, dword [esp + 0x28]
push 0x104
lea eax, [edi + 8]
push eax
push 0x1500a2
mov dword [esp + 0x28], ebx
call fcn.30056fa1
push 0x3000a
lea edi, [eax + edi + 8]
call fcn.30056fbc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x30055863
push edi
push dword [esp + 0x1c]
sub eax, ecx
push 0x189
push dword [esp + 0x1c]
mov dword [esp + 0x34], eax
call esi
sub eax, dword [esp + 0x24]
push 0xff
add eax, edi
mov byte [eax], bl
mov byte [eax + 1], bl
lea eax, [esp + 0x98]
push eax
push edi
call fcn.30038eaf
add esp, 0xc
test eax, eax
jne 0x300558a7
xor edi, edi
cmp edi, ebx
je 0x30055984
push 0x34
push edi
push 0x9004d
call fcn.3000655a
add esp, 0xc
cmp eax, 6
jne 0x30055984
mov eax, dword [esp + 0x28]
add eax, 8
cmp dword [esp + 0x1c], ebx
push eax
je 0x300558de
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x300558ef
lea eax, [esp + 0x98]
push eax
push 3
push ebx
call dword [0x30096bbc]
cmp eax, ebx
je 0x30055979
cmp dword [esp + 0x1c], ebx
je 0x30055907
push dword [esp + 0x20]
push ebx
call fcn.30079a23
mov edi, dword [esp + 0x18]
push ebx
push edi
push 0x182
push dword [esp + 0x1c]
call esi
cmp edi, eax
jl 0x3005591d
dec edi
push ebx
push edi
push 0x186
push dword [esp + 0x1c]
call esi
xor eax, eax
cmp edi, ebx
setge al
push eax
push 1
push ebp
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebp, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebp
cmp dword [esp + 0x14], 1
je 0x30055969
cmp edi, ebx
jle 0x3005596d
push ebx
push edi
push 0x199
push dword [esp + 0x1c]
call esi
test eax, eax
je 0x3005596d
xor ebx, ebx
inc ebx
jmp 0x3005596d
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x208]
call ebp
jmp 0x30055984
push 0x90024
call fcn.30006571
pop ecx
push dword [esp + 0x204]
jmp 0x30055e81
call fcn.3005139d
push 8
push ebp
mov dword [esp + 0x24], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edi, eax
push edi
push 0x30054f4c
push ebp
push 0x30001c68
push dword [0x30096e30]
call fcn.300816f4
add esp, 0x14
cmp eax, 1
jne 0x30055a3a
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
xor ebx, ebx
push ebx
push ebx
push 0x130b
push 0xbc2
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [edi + 0x110]
mov dword [esp + 0x18], eax
push eax
push 0xbc3
push ebp
call esi
push eax
call fcn.300543f8
add esp, 0xc
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [esp + 0x18], eax
push ecx
push 1
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [esp + 0x14], 1
jne 0x30055a23
cmp dword [esp + 0x18], ebx
je 0x30055a23
inc ebx
push ebx
push 0xbca
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov esi, dword [esp + 0x204]
mov eax, dword [0x30091350]
push esi
mov dword [edi], eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x30055c8b
push 0x13
pop ecx
xor eax, eax
lea edi, [esp + 0x48]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1b0]
push 0x40
push eax
mov dword [esp + 0x50], 0x4c
mov dword [esp + 0x54], ebp
call fcn.30053cae
pop ecx
pop ecx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x94]
push 0x1500ee
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x104
call fcn.30056fbc
cmp dword [0x30096e78], 0x400
mov dword [esp + 0x78], eax
sbb eax, eax
and eax, 0x180000
add eax, 0x81025
xor ebx, ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], 0x300554ed
mov byte [esp + 0x94], bl
call fcn.3005139d
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameA]
test eax, eax
je 0x30055c8b
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xbc2
push ebp
call edi
push 0x15009f
mov dword [esp + 0x14], eax
call fcn.30056fbc
inc eax
inc eax
push eax
movzx eax, word [esp + 0x86]
lea eax, [esp + eax + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jne 0x30055b29
mov dword [esp + 0x14], ebx
jmp 0x30055b9c
push 0x15009c
call fcn.30056fbc
inc eax
inc eax
push eax
movzx eax, word [esp + 0x86]
lea eax, [esp + eax + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x30055b5a
mov dword [esp + 0x14], 1
jmp 0x30055b9c
push 0x1500fe
call fcn.30056fbc
inc eax
inc eax
push eax
movzx eax, word [esp + 0x86]
lea eax, [esp + eax + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x30055b8b
mov dword [esp + 0x14], 2
jmp 0x30055b9c
push ebx
push ebx
push 0x130b
push dword [esp + 0x1c]
call esi
mov dword [esp + 0x14], eax
push ebx
push ebx
push 0x130b
push dword [esp + 0x1c]
call esi
cmp dword [esp + 0x14], eax
je 0x30055c21
push ebx
push dword [esp + 0x18]
push 0x130c
push dword [esp + 0x1c]
call esi
push 8
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
push dword [eax + 0x110]
push dword [esp + 0x18]
push 0xbc3
push ebp
call edi
push eax
call fcn.300543f8
mov eax, dword [esp + 0x20]
add esp, 0xc
dec eax
neg eax
sbb eax, eax
add eax, 0x1500ed
push eax
call fcn.30056fbc
push eax
push 1
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esp + 0x14]
dec eax
dec eax
neg eax
sbb eax, eax
and eax, 5
push eax
push 0xbc4
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xbc3
push ebp
call edi
push ebx
push dword [esp + 0x18]
lea ecx, [esp + 0x9c]
push ebx
push ecx
push eax
mov dword [esp + 0x24], eax
call fcn.3005402c
add esp, 0x10
push eax
push 0x186
push dword [esp + 0x1c]
call esi
push ebx
push ebx
push 0x18b
push dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call esi
neg eax
sbb eax, eax
neg eax
push eax
push 1
push ebp
call edi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
xor eax, eax
cmp dword [esp + 0x18], ebx
setge al
push eax
push 0xbca
push ebp
call edi
push eax
call esi
push dword [esp + 0x1c]
call fcn.300513d9
pop ecx
jmp 0x3005630d
shr edi, 0x10
dec edi
je 0x30055cc3
dec edi
jne 0x30056310
push 1
push ebp
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push 1
push 0x111
push ebp
call fcn.3005570b
jmp 0x30056310
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
xor ebx, ebx
push ebx
push ebx
push 0x130b
push 0xbc2
push ebp
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
push ebx
push ebx
push 0x188
push dword [esp + 0x210]
mov dword [esp + 0x24], eax
call esi
cmp dword [esp + 0x14], 1
je 0x30055d19
cmp eax, ebx
jle 0x30055d22
push ebx
push eax
push 0x199
push dword [esp + 0x210]
call esi
test eax, eax
je 0x30055d22
inc ebx
jmp 0x30055d22
xor ecx, ecx
cmp eax, ebx
setge cl
mov ebx, ecx
push ebx
push 0xbca
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x3005630d
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xbc3
push ebp
call esi
push eax
call fcn.300542f0
pop ecx
xor ebx, ebx
push ebx
push ebx
push 0xf0
push 0xbc4
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 0x4003
call fcn.30056e46
push ebx
call fcn.30051330
add esp, 0xc
push ebx
jmp 0x30055f7b
push 8
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xbc3
push ebp
mov edi, eax
call esi
xor ebx, ebx
push ebx
push ebx
push 0x130b
push 0xbc2
push ebp
mov dword [esp + 0x24], eax
call esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call esi
push ebx
push ebx
push 0x188
push dword [esp + 0x1c]
mov dword [esp + 0x24], eax
call esi
cmp dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
je 0x30055e8c
cmp eax, ebx
jne 0x30055e8c
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x94]
push eax
push 0x30054652
push ebp
push 0x30001c54
push dword [0x30096e30]
call fcn.300816f4
add esp, 0x14
cmp eax, 1
mov dword [esp + 0x24], eax
jne 0x30055e53
push ebx
push dword [esp + 0x18]
lea eax, [esp + 0xa8]
push ebx
push eax
push dword [esp + 0x20]
call fcn.3005402c
add esp, 0x10
push eax
push 0x186
push dword [esp + 0x1c]
call esi
xor ecx, ecx
cmp eax, ebx
setge cl
push ecx
push 0xbca
push ebp
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [edi + 4], ebx
je 0x30055e6c
push ebp
call fcn.30051269
mov dword [esp], 0x30093168
call fcn.300512c2
jmp 0x30055e7c
xor eax, eax
cmp dword [esp + 0x24], 1
sete al
push eax
call fcn.30051330
pop ecx
push dword [esp + 0x10]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x3005630d
push ebx
push dword [esp + 0x1c]
push 0x199
push dword [esp + 0x1c]
call esi
push ebx
push ebx
push 0xf0
push 0xbc4
push ebp
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, 2
mov dword [edi + 4], eax
je 0x30055ed1
cmp dword [esp + 0x20], ebx
je 0x30055ed1
xor eax, eax
inc eax
jmp 0x30055ed3
xor eax, eax
cmp dword [esp + 0x1c], 0xffffffff
mov dword [edi + 0x10c], eax
je 0x30055eea
cmp dword [esp + 0x1c], ebx
je 0x30055eea
xor eax, eax
jmp 0x30055eed
xor eax, eax
inc eax
cmp eax, ebx
mov dword [edi + 0x110], eax
je 0x30055f30
push 0x3000a
call fcn.30056fbc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x30055f04
sub eax, ecx
mov dword [esp + 0x24], eax
lea eax, [edi + 8]
push eax
push dword [esp + 0x1c]
push 0x189
push dword [esp + 0x1c]
call esi
mov ecx, edi
sub ecx, dword [esp + 0x24]
mov byte [eax + ecx + 8], bl
jmp 0x30055f47
push 0x104
lea eax, [edi + 8]
push eax
mov eax, dword [esp + 0x24]
push dword [eax]
call fcn.3007bb49
add esp, 0xc
push 0xbc3
push ebp
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call fcn.300542f0
push dword [esp + 0x24]
push 0x4003
call fcn.30056e46
add esp, 0xc
cmp dword [edi + 0x10c], ebx
jne 0x30055f79
push ebx
call fcn.30051330
pop ecx
push 1
push ebp
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x3005630d
mov eax, dword [0x30091350]
mov edi, dword [esp + 0x204]
push 0x4008
mov dword [edi], eax
call fcn.30056e3b
pop ecx
xor ebx, ebx
push ebx
push 0x4003
mov dword [edi + 0x110], eax
call fcn.30056e3b
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
pop ecx
push eax
push 0xf1
push 0xbc4
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xbc2
push ebp
call esi
push 0x1500e9
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
call fcn.30056fbc
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push ebx
push 0x1307
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [edi + 4], ebx
mov edi, dword [sym.imp.USER32.dll_SetWindowLongA]
jne 0x30056036
push ebx
push 0xbde
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push 0xbc4
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x300560e5
push 0x1500ea
call fcn.30056fbc
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push 1
push 0x1307
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x204]
cmp dword [eax + 4], 2
jne 0x3005608b
push 0x1500eb
call fcn.30056fbc
mov dword [esp + 0x38], eax
lea eax, [esp + 0x2c]
push eax
push 2
push 0x1307
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [0x30096e78], 0x400
jb 0x300560d2
push 0xbde
push ebp
call esi
push 0xfffffffffffffff0
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
or al, 0x80
push eax
push 0xfffffffffffffff0
push dword [esp + 0x18]
call edi
mov eax, dword [0x30096e7c]
push dword [eax + 0x717]
push ebx
push 0xf7
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
call fcn.30051269
mov dword [esp], 0x30093168
call fcn.300512c2
pop ecx
push ebx
push ebx
push 0x130b
push 0xbc2
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x204]
push dword [ecx + 0x110]
mov dword [esp + 0x18], eax
push eax
push 0xbc3
push ebp
call esi
push eax
call fcn.300543f8
add esp, 0xc
push 1
push ebp
mov dword [esp + 0x20], eax
call esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
add eax, 0x1500ed
push eax
call fcn.30056fbc
push eax
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
cmp dword [esp + 0x18], ebx
setne al
push eax
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [esp + 0x14], 1
jne 0x3005616e
cmp dword [esp + 0x18], ebx
je 0x3005616e
xor ebx, ebx
inc ebx
push ebx
push 0xbca
push ebp
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0xbc3
push ebp
call esi
mov ebx, eax
push 0xfffffffffffffffc
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0x300556a8
push 0xfffffffffffffffc
push ebx
mov dword [0x300957cc], eax
call edi
push 1
push ebp
call esi
push 0xfffffffffffffffc
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, 0x300556c9
push ebx
push 0xfffffffffffffffc
push dword [esp + 0x18]
mov dword [0x300957d0], eax
call edi
push ebx
push 0xfffffffffffffffc
push 2
push ebp
call esi
push eax
call edi
push ebx
push 0xfffffffffffffffc
push 0xbc5
push ebp
call esi
push eax
call edi
push ebx
push 0xfffffffffffffffc
push 0xbc6
push ebp
call esi
push eax
call edi
push ebx
push 0xfffffffffffffffc
push 0xbca
push ebp
call esi
push eax
call edi
push ebx
push 0xfffffffffffffffc
push 0xbde
push ebp
call esi
push eax
call edi
push ebx
push 0xfffffffffffffffc
push 0xbc4
push ebp
call esi
push eax
call edi
push 0xbc2
push ebp
call esi
mov esi, eax
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [0x300957dc], eax
push 0x300556ea
push 0xfffffffffffffffc
push esi
call edi
push dword [esp + 0x204]
push 8
push ebp
call edi
jmp 0x3005630d
cmp dword [esi + 8], 0xfffffdd9
jne 0x30056310
push 8
push ebp
call dword [sym.imp.USER32.dll_GetWindowLongA]
xor ebx, ebx
push ebx
push ebx
push 0x130b
push dword [esi]
mov edi, eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [edi + 0x110]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push esi
push 0xbc3
push ebp
call edi
push eax
call fcn.300543f8
add esp, 0xc
push 1
push ebp
mov dword [esp + 0x20], eax
call edi
mov dword [esp + 0x10], eax
mov eax, esi
dec eax
neg eax
sbb eax, eax
add eax, 0x1500ed
push eax
call fcn.30056fbc
push eax
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
cmp dword [esp + 0x18], ebx
push 2
setne al
push eax
push dword [esp + 0x18]
call fcn.3004d803
add esp, 0xc
cmp esi, 1
jne 0x300562e0
cmp dword [esp + 0x18], ebx
je 0x300562e0
inc ebx
push 2
push ebx
push 0xbca
push ebp
call edi
push eax
call fcn.3004d803
add esp, 0xc
dec esi
dec esi
neg esi
sbb esi, esi
and esi, 5
push esi
push 0xbc4
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
inc eax
mov ecx, dword [esp + 0x1f0]
pop edi
pop esi
pop ebp
pop ebx
call fcn.300843e7
add esp, 0x1e4
ret 0x10