Function at 0x486554
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff480
mov eax, 0x595ae8
push ebx
push esi
push edi
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x30]
mov ebx, dword [ebp + 8]
call fcn.004cfcb8
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 0x485661
lea edx, [ebp - 0x240]
push edx
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.00417cd0
add esp, 0x10
test eax, eax
je 0x485650
mov al, byte [ebp - 0x240]
test al, al
je 0x485650
movsx edx, byte [ebp - 0x1dc]
cmp edx, 0x44
jne 0x485650
movsx ecx, byte [ebp - 0x1db]
cmp ecx, 0x2e
jne 0x485650
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x2e
jne 0x485650
mov dl, byte [ebp - 0x1d9]
test dl, dl
jne 0x485650
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.00417bcc
add esp, 0xc
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
cmp esi, 4
jne 0x485689
push 0x5d9023
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 0x486bfa
mov ecx, dword [0x595ae4]
test ecx, ecx
je 0x4856a4
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
mov dword [0x595ae4], 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 0x48570f
push edi
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_IsWindowEnabled
test eax, eax
jne 0x4856eb
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 0x485733
push 1
push 1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
jmp 0x485733
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 0x486ba5
mov eax, esi
cmp eax, 7
ja case.0x48573e.0
jmp dword [eax*4 + 0x485745]
mov dword [ebp - 0x30], 1
jmp case.0x48573e.0
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
call fcn.00417c9c
add esp, 0xc
test eax, eax
je 0x486ba5
mov al, byte [ebp - 0x440]
test al, al
je 0x486ba5
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 0x486ba5
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x485827
lea ecx, [ebp - 0x240]
test ecx, ecx
je 0x485827
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x485827
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
movsx ecx, byte [ebp + eax - 0x241]
cmp ecx, 0x5c
je 0x485827
push 0x5d9024
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
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.0x48573e.0
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push ebx
call fcn.00417c9c
add esp, 0xc
test eax, eax
je 0x486ba5
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x486ba5
mov cl, byte [ebp - 0x1dc]
sub cl, 0x44
je 0x4858fd
sub cl, 2
je 0x4858a2
mov byte [ebp - 0x240], 0
jmp 0x485ae6
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 0x485ae6
cmp esi, 7
je 0x486ba5
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x5c
jne 0x48593f
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 0x48596a
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 0x485980
mov dl, byte [ebp - 0x43f]
test dl, dl
je 0x4859aa
movsx ecx, byte [ebp - 0x440]
cmp ecx, 0x2e
jne 0x485a26
movsx eax, byte [ebp - 0x43f]
cmp eax, 0x2e
jne 0x485a26
mov dl, byte [ebp - 0x43e]
test dl, dl
jne 0x485a26
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.004cd3e4
pop ecx
mov esi, eax
test esi, esi
je 0x4859e8
movsx eax, byte [ebp + esi - 0x241]
cmp eax, 0x5c
jne 0x4859e8
mov byte [ebp + esi - 0x241], 0
lea eax, [ebp + esi - 0x240]
test esi, esi
jne 0x4859f8
mov byte [eax], 0
jmp 0x485a09
movsx edx, byte [eax]
cmp edx, 0x5c
jne 0x485a05
mov byte [eax], 0
jmp 0x485a09
dec esi
dec eax
jmp 0x4859ef
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.0x48573e.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 0x485a8f
lea edx, [ebp - 0x240]
test edx, edx
je 0x485a8f
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x485a8f
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x485a8f
push 0x5d9026
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x485ab3
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
jmp 0x485ac9
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
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.0x48573e.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.004cd3e4
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.0x48573e.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 0x485b59
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp 0x486ba5
xor esi, esi
mov al, byte [ebp + esi - 0x240]
test al, al
je 0x485bd0
movsx edx, al
cmp edx, 0x2e
jne 0x485bcd
movsx ecx, byte [ebp + esi - 0x23f]
cmp ecx, 0x2e
jne 0x485bcd
lea eax, [ebp + esi - 0x240]
mov dl, byte [eax]
test dl, dl
je 0x485b97
mov cl, byte [eax + 1]
test cl, cl
je 0x485b97
mov dl, byte [eax + 2]
mov byte [eax], dl
inc eax
jmp 0x485b82
lea eax, [ebp - 0x240]
push eax
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
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 0x486ba5
inc esi
jmp 0x485b5b
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x485c2e
movsx edx, byte [ebp - 0x23f]
cmp edx, 0x5c
je 0x485c2e
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 0x5d9028
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x485d34
mov dl, byte [ebp - 0x23f]
sub dl, 0x2f
je 0x485c71
sub dl, 0xb
je 0x485c48
sub dl, 0x22
je 0x485c71
jmp 0x485cfa
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 0x485d03
mov byte [ebp - 0x640], 0
xor esi, esi
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x485d03
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 0x485cd5
mov edx, dword [ebp - 0x2c]
dec edx
jne 0x485cca
mov byte [ebp + esi - 0x640], 0
jmp 0x485d03
mov byte [ebp - 0x640], 0
xor esi, esi
jmp 0x485d03
movsx eax, byte [ebp + esi - 0x240]
cmp eax, 0x5c
jne 0x485cf7
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
cmp edx, 2
jne 0x485cf7
mov byte [ebp + esi - 0x640], 0
jmp 0x485d03
inc esi
jmp 0x485ca8
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.004cd3e4
pop ecx
mov esi, eax
lea eax, [ebp + esi - 0x840]
movsx edx, byte [eax]
cmp edx, 0x5c
je 0x485d57
cmp edx, 0x2f
jne 0x485d8a
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 0x485dc1
test esi, esi
jne 0x485dbd
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 0x485dc1
dec esi
dec eax
jmp 0x485d4a
mov byte [ebp + esi - 0x840], 0
mov al, byte [ebp - 0x640]
test al, al
jne 0x486008
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 0x485e40
lea edx, [ebp - 0x640]
test edx, edx
je 0x485e40
lea ecx, [ebp - 0x640]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x485e40
lea eax, [ebp - 0x640]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x641]
cmp edx, 0x5c
je 0x485e40
push 0x5d9029
lea ecx, [ebp - 0x640]
push ecx
call fcn.004cd308
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 0x485ed4
lea eax, [ebp - 0x440]
test eax, eax
je 0x485ed4
lea edx, [ebp - 0x440]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x485ed4
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x441]
cmp eax, 0x5c
je 0x485ed4
push 0x5d902b
lea edx, [ebp - 0x440]
push edx
call fcn.004cd308
add esp, 8
movsx ecx, byte [ebp - 0x840]
cmp ecx, 0x5c
jne 0x485ef8
lea eax, [ebp - 0x83f]
push eax
lea edx, [ebp - 0x440]
push edx
call fcn.004cd308
add esp, 8
jmp 0x485f0e
lea ecx, [ebp - 0x840]
push ecx
lea eax, [ebp - 0x440]
push eax
call fcn.004cd308
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 0x485f5d
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
jmp 0x485f73
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x485fc6
lea eax, [ebp - 0x240]
test eax, eax
je 0x485fc6
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x485fc6
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x485fc6
push 0x5d902d
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x485fed
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
jmp 0x48614d
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
add esp, 8
jmp 0x48614d
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 0x486086
lea edx, [ebp - 0x240]
test edx, edx
je 0x486086
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486086
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486086
push 0x5d902f
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x4860aa
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
jmp 0x4860c0
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x486113
lea eax, [ebp - 0x240]
test eax, eax
je 0x486113
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486113
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x486113
push 0x5d9031
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x486137
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
jmp 0x48614d
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
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.00485024
add esp, 0xc
test eax, eax
jne 0x486366
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 0x48623d
lea edx, [ebp - 0x240]
test edx, edx
je 0x48623d
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x48623d
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48623d
push 0x5d9033
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x486261
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
jmp 0x486277
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x4862ca
lea eax, [ebp - 0x240]
test eax, eax
je 0x4862ca
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x4862ca
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x4862ca
push 0x5d9035
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x4862ee
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
add esp, 8
jmp 0x486304
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
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.004cd3e4
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 0x5d9037
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.0x48573e.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 0x48638a
cmp edx, 0x3f
jne 0x4863ce
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.0x48573e.0
mov dl, byte [eax]
test dl, dl
je 0x4863d7
inc eax
jmp 0x48637d
push 0x200
lea eax, [ebp - 0x240]
push eax
call fcn.00405b9c
add esp, 8
test eax, eax
jne 0x48640b
mov cl, byte [ebp - 0x840]
test cl, cl
jne 0x486502
mov al, byte [ebp - 0xa40]
test al, al
jne 0x486502
mov dl, byte [ebp - 0xa40]
test dl, dl
je 0x48645e
lea ecx, [ebp - 0x840]
test ecx, ecx
je 0x48645e
lea eax, [ebp - 0x840]
push eax
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x48645e
lea edx, [ebp - 0x840]
push edx
call fcn.004cd3e4
pop ecx
movsx ecx, byte [ebp + eax - 0x841]
cmp ecx, 0x5c
je 0x48645e
push 0x5d9038
lea eax, [ebp - 0x840]
push eax
call fcn.004cd308
add esp, 8
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x486482
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x840]
push eax
call fcn.004cd308
add esp, 8
jmp 0x486498
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x840]
push ecx
call fcn.004cd308
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x4864b7
lea edx, [ebp - 0x83f]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x4864c8
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 0x5d903a
mov edx, dword [ebp + 0x1c]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5d903b
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp case.0x48573e.0
lea eax, [ebp - 0x240]
push eax
call fcn.00485524
pop ecx
test al, al
jne 0x48653c
xor edx, edx
mov dword [ebp - 0x28], edx
push 0x5d903c
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5d903d
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x48573e.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 0x4869b3
push 0x5d903e
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.004cd3e4
pop ecx
cmp eax, 0x180
jbe 0x4865cc
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 0x48661f
lea edx, [ebp - 0x240]
test edx, edx
je 0x48661f
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x48661f
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48661f
push 0x5d903f
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
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.004cd3e4
pop ecx
cmp eax, 0x180
jbe 0x48666f
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 0x4866c2
lea edx, [ebp - 0x440]
test edx, edx
je 0x4866c2
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x4866c2
lea eax, [ebp - 0x440]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x4866c2
push 0x5d9041
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cd308
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x4866e6
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
add esp, 8
jmp 0x4866fc
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
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 0x486778
lea edx, [ebp - 0x440]
test edx, edx
je 0x486778
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486778
lea eax, [ebp - 0x440]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x486778
push 0x5d9043
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cd308
add esp, 8
xor eax, eax
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
mov esi, 0x595068
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 0x595068
mov eax, dword [ebp + 0x2c]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5d9045
lea edx, [ebp - 0x440]
push edx
call fcn.004cd308
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 0x4867f1
mov esi, 0x5d9049
lea edi, [ebp - 0xa40]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x486815
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
add esp, 8
jmp 0x48682b
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
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 0x4869b3
push 0
push 0
push 0x184
mov ecx, dword [ebp - 0x3c]
push ecx
call sub.USER32.dll_SendMessageA
call fcn.004013fc
lea eax, [ebp - 0xb80]
push eax
lea edx, [ebp - 0x240]
push edx
call sub.KERNEL32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x4868ee
mov eax, dword [ebp - 0xb80]
test al, 0x10
jne 0x4868dd
test al, 4
jne 0x4868dd
lea edx, [ebp - 0xb54]
lea ecx, [ebp - 0xb54]
push edx
push ecx
lea eax, [ebp - 0xa40]
push 0x5d904d
push eax
call fcn.004d1ac0
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 0x4868dd
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 0x48687e
call fcn.00401400
push edi
call sub.KERNEL32.dll_FindClose
call fcn.004013fc
lea ecx, [ebp - 0xb80]
push ecx
lea eax, [ebp - 0x440]
push eax
call sub.KERNEL32.dll_FindFirstFileA
mov edi, eax
cmp edi, 0xffffffff
je 0x4869a8
mov eax, dword [ebp - 0xb80]
test al, 4
jne 0x486993
test al, 0x10
je 0x486993
movsx edx, byte [ebp - 0xb54]
cmp edx, 0x2e
jne 0x486940
mov cl, byte [ebp - 0xb53]
test cl, cl
je 0x486993
lea eax, [ebp - 0xb54]
push eax
lea edx, [ebp - 0xb54]
push edx
push 0x20
push 0x5d9057
lea ecx, [ebp - 0xa40]
push ecx
call fcn.004d1ac0
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 0x486993
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 0x48691c
call fcn.00401400
push edi
call sub.KERNEL32.dll_FindClose
mov ecx, dword [ebp - 0x34]
dec ecx
jne 0x486a45
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.00417c9c
add esp, 0xc
test eax, eax
jne 0x4869e6
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
mov cl, byte [ebp - 0x440]
test cl, cl
jne 0x486a01
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
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 0x486a4c
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
mov byte [ebp - 0x240], 0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x486aa7
lea eax, [ebp - 0x240]
test eax, eax
je 0x486afa
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486afa
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
jne 0x486afa
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
mov byte [ebp + eax - 0x241], 0
jmp 0x486afa
mov cl, byte [ebp - 0x240]
test cl, cl
je 0x486afa
lea eax, [ebp - 0x240]
test eax, eax
je 0x486afa
lea edx, [ebp - 0x240]
push edx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486afa
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x486afa
push 0x5d9062
lea edx, [ebp - 0x240]
push edx
call fcn.004cd308
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 0x486b79
lea ecx, [ebp - 0x440]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cd308
add esp, 8
lea edx, [ebp - 0x240]
test edx, edx
je 0x486b79
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd3e4
pop ecx
test eax, eax
je 0x486b79
lea eax, [ebp - 0x240]
push eax
call fcn.004cd3e4
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486b79
push 0x5d9064
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cd308
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.004cd308
add esp, 8
mov word [ebp - 0x14], 0
jmp 0x486bd0
xor eax, eax
mov dword [0x595ae4], eax
mov edx, dword [ebp - 0x28]
dec edx
jne 0x486bee
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x486bfa
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