Function at 0x489d94
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff480
mov eax, 0x5afbec
push ebx
push esi
push edi
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x30]
mov ebx, dword [ebp + 8]
call fcn.004d57f0
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x38], 1
xor eax, eax
cmp esi, 5
mov dword [ebp - 0x40], eax
mov word [ebp - 0x14], 8
jne 0x489b99
lea edx, [ebp - 0x240]
push edx
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.00418760
add esp, 0x10
test eax, eax
je 0x489b88
mov al, byte [ebp - 0x240]
test al, al
je 0x489b88
movsx edx, byte [ebp - 0x1dc]
cmp edx, 0x44
jne 0x489b88
movsx ecx, byte [ebp - 0x1db]
cmp ecx, 0x2e
jne 0x489b88
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x2e
jne 0x489b88
mov dl, byte [ebp - 0x1d9]
test dl, dl
jne 0x489b88
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.0041865c
add esp, 0xc
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
cmp esi, 4
jne 0x489bc1
push 0x5f3ef6
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
mov ecx, dword [0x5afbe8]
test ecx, ecx
je 0x489bdc
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
mov dword [0x5afbe8], 1
push 0
push 0
push 0x18b
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
test eax, eax
jle 0x489c47
push edi
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_IsWindowEnabled
test eax, eax
jne 0x489c23
push 1
push edi
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
push 1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_IsWindowEnabled
test eax, eax
jne 0x489c6b
push 1
push 1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
jmp 0x489c6b
push 0
push edi
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
push 0
push 1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
jmp 0x48b0dd
mov eax, esi
cmp eax, 7
ja case.0x489c76.0
jmp dword [eax*4 + 0x489c7d]
mov dword [ebp - 0x30], 1
jmp case.0x489c76.0
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
call fcn.0041872c
add esp, 0xc
test eax, eax
je 0x48b0dd
mov al, byte [ebp - 0x440]
test al, al
je 0x48b0dd
push edi
xor eax, eax
lea edi, [ebp - 0x3dc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x240]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x240]
pop edi
test al, al
je 0x48b0dd
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x489d5f
lea ecx, [ebp - 0x240]
test ecx, ecx
je 0x489d5f
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x489d5f
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
movsx ecx, byte [ebp + eax - 0x241]
cmp ecx, 0x5c
je 0x489d5f
push 0x5f3ef7
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
lea edx, [ebp - 0x240]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov byte [ebp - 0x240], 0
lea eax, [ebp - 0x240]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x489c76.0
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push ebx
call fcn.0041872c
add esp, 0xc
test eax, eax
je 0x48b0dd
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x48b0dd
mov cl, byte [ebp - 0x1dc]
sub cl, 0x44
je 0x489e35
sub cl, 2
je 0x489dda
mov byte [ebp - 0x240], 0
jmp 0x48a01e
push edi
xor eax, eax
lea edi, [ebp - 0x1db]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x440]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
xor eax, eax
push edi
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
lea esi, [ebp - 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
jmp 0x48a01e
cmp esi, 7
je 0x48b0dd
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x5c
jne 0x489e77
push edi
xor eax, eax
lea edi, [ebp - 0x1da]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x440]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
jmp 0x489ea2
push edi
xor eax, eax
lea edi, [ebp - 0x1db]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x440]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
movsx eax, byte [ebp - 0x440]
cmp eax, 0x2e
jne 0x489eb8
mov dl, byte [ebp - 0x43f]
test dl, dl
je 0x489ee2
movsx ecx, byte [ebp - 0x440]
cmp ecx, 0x2e
jne 0x489f5e
movsx eax, byte [ebp - 0x43f]
cmp eax, 0x2e
jne 0x489f5e
mov dl, byte [ebp - 0x43e]
test dl, dl
jne 0x489f5e
push 0x200
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_GetDlgItemTextA
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
mov esi, eax
test esi, esi
je 0x489f20
movsx eax, byte [ebp + esi - 0x241]
cmp eax, 0x5c
jne 0x489f20
mov byte [ebp + esi - 0x241], 0
lea eax, [ebp + esi - 0x240]
test esi, esi
jne 0x489f30
mov byte [eax], 0
jmp 0x489f41
movsx edx, byte [eax]
cmp edx, 0x5c
jne 0x489f3d
mov byte [eax], 0
jmp 0x489f41
dec esi
dec eax
jmp 0x489f27
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x489c76.0
push 0x200
lea edx, [ebp - 0x240]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov al, byte [ebp - 0x240]
test al, al
je 0x489fc7
lea edx, [ebp - 0x240]
test edx, edx
je 0x489fc7
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x489fc7
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x489fc7
push 0x5f3ef9
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x489feb
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
jmp 0x48a001
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x489c76.0
lea edx, [ebp - 0x240]
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea eax, [ebp - 0x240]
push eax
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
push eax
push 0
push 0xb1
push edi
push ebx
call sub.USER32.dll_SendDlgItemMessageA
mov dword [ebp - 0x28], 1
xor ecx, ecx
mov dword [ebp - 0x30], ecx
jmp case.0x489c76.0
push 0x200
lea eax, [ebp - 0x240]
push eax
push edi
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov dl, byte [ebp - 0x240]
test dl, dl
jne 0x48a091
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp 0x48b0dd
xor esi, esi
mov al, byte [ebp + esi - 0x240]
test al, al
je 0x48a108
movsx edx, al
cmp edx, 0x2e
jne 0x48a105
movsx ecx, byte [ebp + esi - 0x23f]
cmp ecx, 0x2e
jne 0x48a105
lea eax, [ebp + esi - 0x240]
mov dl, byte [eax]
test dl, dl
je 0x48a0cf
mov cl, byte [eax + 1]
test cl, cl
je 0x48a0cf
mov dl, byte [eax + 2]
mov byte [eax], dl
inc eax
jmp 0x48a0ba
lea eax, [ebp - 0x240]
push eax
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
push eax
push 0
push 0xb1
push edi
push ebx
call sub.USER32.dll_SendDlgItemMessageA
push 0
call sub.USER32.dll_MessageBeep
jmp 0x48b0dd
inc esi
jmp 0x48a093
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x48a166
movsx edx, byte [ebp - 0x23f]
cmp edx, 0x5c
je 0x48a166
push edi
xor eax, eax
lea edi, [ebp - 0x240]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x840]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov byte [ebp - 0x640], 0
push 0x5f3efb
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x48a26c
mov dl, byte [ebp - 0x23f]
sub dl, 0x2f
je 0x48a1a9
sub dl, 0xb
je 0x48a180
sub dl, 0x22
je 0x48a1a9
jmp 0x48a232
mov cl, byte [ebp - 0x240]
mov byte [ebp - 0x640], cl
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x63f], al
mov byte [ebp - 0x63e], 0
mov esi, 2
jmp 0x48a23b
mov byte [ebp - 0x640], 0
xor esi, esi
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x48a23b
mov esi, 2
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dl, byte [ebp - 0x240]
mov byte [ebp - 0x640], dl
mov cl, byte [ebp - 0x23f]
mov byte [ebp - 0x63f], cl
mov al, byte [ebp + esi - 0x240]
mov byte [ebp + esi - 0x640], al
test al, al
jne 0x48a20d
mov edx, dword [ebp - 0x2c]
dec edx
jne 0x48a202
mov byte [ebp + esi - 0x640], 0
jmp 0x48a23b
mov byte [ebp - 0x640], 0
xor esi, esi
jmp 0x48a23b
movsx eax, byte [ebp + esi - 0x240]
cmp eax, 0x5c
jne 0x48a22f
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
cmp edx, 2
jne 0x48a22f
mov byte [ebp + esi - 0x640], 0
jmp 0x48a23b
inc esi
jmp 0x48a1e0
mov byte [ebp - 0x640], 0
xor esi, esi
lea eax, [ebp - 0x240]
add esi, eax
xor eax, eax
push esi
push edi
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x840]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x840]
push eax
call fcn.004d2f1c
pop ecx
mov esi, eax
lea eax, [ebp + esi - 0x840]
movsx edx, byte [eax]
cmp edx, 0x5c
je 0x48a28f
cmp edx, 0x2f
jne 0x48a2c2
lea ecx, [ebp - 0x83f]
push esi
push edi
add ecx, esi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
lea esi, [ebp - 0xa40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x48a2f9
test esi, esi
jne 0x48a2f5
push esi
push edi
xor eax, eax
lea edi, [ebp - 0x840]
or ecx, 0xffffffff
lea esi, [ebp - 0xa40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x48a2f9
dec esi
dec eax
jmp 0x48a282
mov byte [ebp + esi - 0x840], 0
mov al, byte [ebp - 0x640]
test al, al
jne 0x48a540
push 0x200
lea edx, [ebp - 0x640]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov al, byte [ebp - 0x640]
test al, al
je 0x48a378
lea edx, [ebp - 0x640]
test edx, edx
je 0x48a378
lea ecx, [ebp - 0x640]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a378
lea eax, [ebp - 0x640]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x641]
cmp edx, 0x5c
je 0x48a378
push 0x5f3efc
lea ecx, [ebp - 0x640]
push ecx
call fcn.004d2e40
add esp, 8
push edi
xor eax, eax
lea edi, [ebp - 0x640]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x240]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x440]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0x200
push eax
mov edx, dword [ebp + 0x14]
push edx
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov cl, byte [ebp - 0x440]
test cl, cl
je 0x48a40c
lea eax, [ebp - 0x440]
test eax, eax
je 0x48a40c
lea edx, [ebp - 0x440]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a40c
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x441]
cmp eax, 0x5c
je 0x48a40c
push 0x5f3efe
lea edx, [ebp - 0x440]
push edx
call fcn.004d2e40
add esp, 8
movsx ecx, byte [ebp - 0x840]
cmp ecx, 0x5c
jne 0x48a430
lea eax, [ebp - 0x83f]
push eax
lea edx, [ebp - 0x440]
push edx
call fcn.004d2e40
add esp, 8
jmp 0x48a446
lea ecx, [ebp - 0x840]
push ecx
lea eax, [ebp - 0x440]
push eax
call fcn.004d2e40
add esp, 8
push edi
xor eax, eax
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x840]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
pop edi
jne 0x48a495
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
jmp 0x48a4ab
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x48a4fe
lea eax, [ebp - 0x240]
test eax, eax
je 0x48a4fe
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a4fe
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x48a4fe
push 0x5f3f00
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x48a525
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
jmp 0x48a685
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
jmp 0x48a685
push edi
xor eax, eax
lea edi, [ebp - 0x640]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x240]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x240]
pop edi
test al, al
je 0x48a5be
lea edx, [ebp - 0x240]
test edx, edx
je 0x48a5be
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a5be
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48a5be
push 0x5f3f02
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x48a5e2
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
jmp 0x48a5f8
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x48a64b
lea eax, [ebp - 0x240]
test eax, eax
je 0x48a64b
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a64b
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x48a64b
push 0x5f3f04
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x48a66f
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
jmp 0x48a685
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
push edi
xor eax, eax
lea edi, [ebp - 0x240]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x440]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x440]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push eax
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.0048955c
add esp, 0xc
test eax, eax
jne 0x48a89e
push edi
xor eax, eax
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x640]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
xor eax, eax
push edi
lea edi, [ebp - 0x640]
or ecx, 0xffffffff
lea esi, [ebp - 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x240]
pop edi
test al, al
je 0x48a775
lea edx, [ebp - 0x240]
test edx, edx
je 0x48a775
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a775
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48a775
push 0x5f3f06
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x48a799
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
jmp 0x48a7af
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x48a802
lea eax, [ebp - 0x240]
test eax, eax
je 0x48a802
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a802
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x48a802
push 0x5f3f08
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x48a826
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
jmp 0x48a83c
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
lea edx, [ebp - 0x240]
push edx
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
push eax
push 0
push 0xb1
push edi
push ebx
call sub.USER32.dll_SendDlgItemMessageA
lea eax, [ebp - 0x640]
push eax
mov edx, dword [ebp + 0x18]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5f3f0a
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
push 0
call sub.USER32.dll_MessageBeep
xor eax, eax
mov dword [ebp - 0x28], eax
jmp case.0x489c76.0
lea edx, [ebp - 0x640]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea eax, [ebp - 0x240]
movsx edx, byte [eax]
cmp edx, 0x2a
je 0x48a8c2
cmp edx, 0x3f
jne 0x48a906
lea ecx, [ebp - 0x840]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea edx, [ebp - 0x640]
push edx
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea eax, [ebp - 0xa40]
push eax
mov edx, dword [ebp + 0x1c]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp case.0x489c76.0
mov dl, byte [eax]
test dl, dl
je 0x48a90f
inc eax
jmp 0x48a8b5
push 0x200
lea eax, [ebp - 0x240]
push eax
call fcn.00405c58
add esp, 8
test eax, eax
jne 0x48a943
mov cl, byte [ebp - 0x840]
test cl, cl
jne 0x48aa3a
mov al, byte [ebp - 0xa40]
test al, al
jne 0x48aa3a
mov dl, byte [ebp - 0xa40]
test dl, dl
je 0x48a996
lea ecx, [ebp - 0x840]
test ecx, ecx
je 0x48a996
lea eax, [ebp - 0x840]
push eax
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48a996
lea edx, [ebp - 0x840]
push edx
call fcn.004d2f1c
pop ecx
movsx ecx, byte [ebp + eax - 0x841]
cmp ecx, 0x5c
je 0x48a996
push 0x5f3f0b
lea eax, [ebp - 0x840]
push eax
call fcn.004d2e40
add esp, 8
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x48a9ba
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x840]
push eax
call fcn.004d2e40
add esp, 8
jmp 0x48a9d0
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x840]
push ecx
call fcn.004d2e40
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x48a9ef
lea edx, [ebp - 0x83f]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x48aa00
lea eax, [ebp - 0x840]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x640]
push ecx
mov eax, dword [ebp + 0x18]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5f3f0d
mov edx, dword [ebp + 0x1c]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5f3f0e
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp case.0x489c76.0
lea eax, [ebp - 0x240]
push eax
call fcn.00489a5c
pop ecx
test al, al
jne 0x48aa74
xor edx, edx
mov dword [ebp - 0x28], edx
push 0x5f3f0f
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5f3f10
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x489c76.0
mov dword [ebp - 0x28], 1
lea eax, [ebp - 0x240]
push eax
mov edx, dword [ebp + 0x28]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov byte [ebp - 0x440], 0
mov byte [ebp - 0x240], 0
mov ecx, dword [ebp - 0x30]
dec ecx
jne 0x48aeeb
push 0x5f3f11
push 0x2e4
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x200
lea eax, [ebp - 0x240]
push eax
mov edx, dword [ebp + 0x18]
push edx
push ebx
call sub.USER32.dll_GetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
cmp eax, 0x180
jbe 0x48ab04
mov byte [ebp - 0x240], 0
lea eax, [ebp - 0x240]
push eax
mov edx, dword [ebp + 0x18]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov al, byte [ebp - 0x240]
test al, al
je 0x48ab57
lea edx, [ebp - 0x240]
test edx, edx
je 0x48ab57
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48ab57
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48ab57
push 0x5f3f12
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
push 0x200
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ebx
call sub.USER32.dll_GetDlgItemTextA
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2f1c
pop ecx
cmp eax, 0x180
jbe 0x48aba7
mov byte [ebp - 0x440], 0
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x440]
push ecx
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov al, byte [ebp - 0x440]
test al, al
je 0x48abfa
lea edx, [ebp - 0x440]
test edx, edx
je 0x48abfa
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48abfa
lea eax, [ebp - 0x440]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x48abfa
push 0x5f3f14
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2e40
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x48ac1e
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
jmp 0x48ac34
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
xor eax, eax
lea edi, [ebp - 0x240]
or ecx, 0xffffffff
lea esi, [ebp - 0x440]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x440]
test al, al
je 0x48acb0
lea edx, [ebp - 0x440]
test edx, edx
je 0x48acb0
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48acb0
lea eax, [ebp - 0x440]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x48acb0
push 0x5f3f16
lea ecx, [ebp - 0x440]
push ecx
call fcn.004d2e40
add esp, 8
xor eax, eax
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
mov esi, 0x5af16c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x5af16c
mov eax, dword [ebp + 0x2c]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5f3f18
lea edx, [ebp - 0x440]
push edx
call fcn.004d2e40
add esp, 8
lea ecx, [ebp - 0xa40]
push 0x200
push ecx
mov eax, dword [ebp + 0x1c]
push eax
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov dl, byte [ebp - 0xa40]
test dl, dl
jne 0x48ad29
mov esi, 0x5f3f1c
lea edi, [ebp - 0xa40]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x48ad4d
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
jmp 0x48ad63
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
push 0x8001
call sub.KERNEL32.dll_SetErrorMode
mov eax, dword [ebp + 0x10]
push eax
push ebx
call sub.USER32.dll_GetDlgItem
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x48aeeb
push 0
push 0
push 0x184
mov ecx, dword [ebp - 0x3c]
push ecx
call sub.USER32.dll_SendMessageA
call fcn.00401424
lea eax, [ebp - 0xb80]
push eax
lea edx, [ebp - 0x240]
push edx
call sub.KERNEL32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x48ae26
mov eax, dword [ebp - 0xb80]
test al, 0x10
jne 0x48ae15
test al, 4
jne 0x48ae15
lea edx, [ebp - 0xb54]
lea ecx, [ebp - 0xb54]
push edx
push ecx
lea eax, [ebp - 0xa40]
push 0x5f3f20
push eax
call fcn.004d75f8
add esp, 0x10
lea edx, [ebp - 0xa40]
push edx
push 0
push 0x180
mov ecx, dword [ebp - 0x3c]
push ecx
call sub.USER32.dll_SendMessageA
mov esi, eax
cmp esi, 0xffffffff
je 0x48ae15
push 0x2a
push esi
push 0x19a
mov eax, dword [ebp - 0x3c]
push eax
call sub.USER32.dll_SendMessageA
lea edx, [ebp - 0xb80]
push edx
push edi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x48adb6
call fcn.00401428
push edi
call sub.KERNEL32.dll_FindClose
call fcn.00401424
lea ecx, [ebp - 0xb80]
push ecx
lea eax, [ebp - 0x440]
push eax
call sub.KERNEL32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x48aee0
mov eax, dword [ebp - 0xb80]
test al, 4
jne 0x48aecb
test al, 0x10
je 0x48aecb
movsx edx, byte [ebp - 0xb54]
cmp edx, 0x2e
jne 0x48ae78
mov cl, byte [ebp - 0xb53]
test cl, cl
je 0x48aecb
lea eax, [ebp - 0xb54]
push eax
lea edx, [ebp - 0xb54]
push edx
push 0x20
push 0x5f3f2a
lea ecx, [ebp - 0xa40]
push ecx
call fcn.004d75f8
add esp, 0x14
lea eax, [ebp - 0xa40]
push eax
push 0
push 0x180
mov edx, dword [ebp - 0x3c]
push edx
call sub.USER32.dll_SendMessageA
mov esi, eax
cmp esi, 0xffffffff
je 0x48aecb
push 0x2d
push esi
push 0x19a
mov eax, dword [ebp - 0x3c]
push eax
call sub.USER32.dll_SendMessageA
lea edx, [ebp - 0xb80]
push edx
push edi
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x48ae54
call fcn.00401428
push edi
call sub.KERNEL32.dll_FindClose
mov ecx, dword [ebp - 0x34]
dec ecx
jne 0x48af7d
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.0041872c
add esp, 0xc
test eax, eax
jne 0x48af1e
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
mov cl, byte [ebp - 0x440]
test cl, cl
jne 0x48af39
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
xor eax, eax
lea edi, [ebp - 0x3dc]
or ecx, 0xffffffff
lea esi, [ebp - 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x240]
test al, al
jne 0x48af84
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
mov byte [ebp - 0x240], 0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x48afdf
lea eax, [ebp - 0x240]
test eax, eax
je 0x48b032
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48b032
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
jne 0x48b032
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
mov byte [ebp + eax - 0x241], 0
jmp 0x48b032
mov cl, byte [ebp - 0x240]
test cl, cl
je 0x48b032
lea eax, [ebp - 0x240]
test eax, eax
je 0x48b032
lea edx, [ebp - 0x240]
push edx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48b032
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x48b032
push 0x5f3f35
lea edx, [ebp - 0x240]
push edx
call fcn.004d2e40
add esp, 8
push 0x200
lea ecx, [ebp - 0x440]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_GetDlgItemTextA
mov dl, byte [ebp - 0x440]
test dl, dl
je 0x48b0b1
lea ecx, [ebp - 0x440]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
lea edx, [ebp - 0x240]
test edx, edx
je 0x48b0b1
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2f1c
pop ecx
test eax, eax
je 0x48b0b1
lea eax, [ebp - 0x240]
push eax
call fcn.004d2f1c
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48b0b1
push 0x5f3f37
lea ecx, [ebp - 0x240]
push ecx
call fcn.004d2e40
add esp, 8
push 0x200
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0x1c]
push edx
push ebx
call sub.USER32.dll_GetDlgItemTextA
lea ecx, [ebp - 0x440]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004d2e40
add esp, 8
mov word [ebp - 0x14], 0
jmp 0x48b108
xor eax, eax
mov dword [0x5afbe8], eax
mov edx, dword [ebp - 0x28]
dec edx
jne 0x48b126
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x48b132
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
mov esp, ebp
mov edi, dword [ebp - 0xb8c]
mov esi, dword [ebp - 0xb88]
mov ebx, dword [ebp - 0xb84]
pop ebp
ret