Function at 0x486145
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff480
mov eax, 0x597070
push ebx
push esi
push edi
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp + 0x30]
mov ebx, dword [ebp + 8]
call fcn.004d08c0
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 0x486035
lea edx, [ebp - 0x240]
push edx
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.00417e78
add esp, 0x10
test eax, eax
je 0x486024
mov al, byte [ebp - 0x240]
test al, al
je 0x486024
movsx edx, byte [ebp - 0x1dc]
cmp edx, 0x44
jne 0x486024
movsx ecx, byte [ebp - 0x1db]
cmp ecx, 0x2e
jne 0x486024
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x2e
jne 0x486024
mov dl, byte [ebp - 0x1d9]
test dl, dl
jne 0x486024
push 0
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.00417d74
add esp, 0xc
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
cmp esi, 4
jne 0x48605d
push 0x5da5d6
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 0x4875ce
mov ecx, dword [0x59706c]
test ecx, ecx
je 0x486078
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
mov dword [0x59706c], 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 0x4860e3
push edi
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_IsWindowEnabled
test eax, eax
jne 0x4860bf
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 0x486107
push 1
push 1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_EnableWindow
jmp 0x486107
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 0x487579
mov eax, esi
cmp eax, 7
ja case.0x486112.0
jmp dword [eax*4 + 0x486119]
mov dword [ebp - 0x30], 1
jmp case.0x486112.0
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
call fcn.00417e44
add esp, 0xc
test eax, eax
je 0x487579
mov al, byte [ebp - 0x440]
test al, al
je 0x487579
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 0x487579
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x4861fb
lea ecx, [ebp - 0x240]
test ecx, ecx
je 0x4861fb
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
test eax, eax
je 0x4861fb
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
movsx ecx, byte [ebp + eax - 0x241]
cmp ecx, 0x5c
je 0x4861fb
push 0x5da5d7
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
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.0x486112.0
lea ecx, [ebp - 0x240]
push ecx
mov eax, dword [ebp + 0x10]
push eax
push ebx
call fcn.00417e44
add esp, 0xc
test eax, eax
je 0x487579
mov dl, byte [ebp - 0x240]
test dl, dl
je 0x487579
mov cl, byte [ebp - 0x1dc]
sub cl, 0x44
je 0x4862d1
sub cl, 2
je 0x486276
mov byte [ebp - 0x240], 0
jmp 0x4864ba
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 0x4864ba
cmp esi, 7
je 0x487579
movsx eax, byte [ebp - 0x1da]
cmp eax, 0x5c
jne 0x486313
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 0x48633e
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 0x486354
mov dl, byte [ebp - 0x43f]
test dl, dl
je 0x48637e
movsx ecx, byte [ebp - 0x440]
cmp ecx, 0x2e
jne 0x4863fa
movsx eax, byte [ebp - 0x43f]
cmp eax, 0x2e
jne 0x4863fa
mov dl, byte [ebp - 0x43e]
test dl, dl
jne 0x4863fa
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.004cdfec
pop ecx
mov esi, eax
test esi, esi
je 0x4863bc
movsx eax, byte [ebp + esi - 0x241]
cmp eax, 0x5c
jne 0x4863bc
mov byte [ebp + esi - 0x241], 0
lea eax, [ebp + esi - 0x240]
test esi, esi
jne 0x4863cc
mov byte [eax], 0
jmp 0x4863dd
movsx edx, byte [eax]
cmp edx, 0x5c
jne 0x4863d9
mov byte [eax], 0
jmp 0x4863dd
dec esi
dec eax
jmp 0x4863c3
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.0x486112.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 0x486463
lea edx, [ebp - 0x240]
test edx, edx
je 0x486463
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486463
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486463
push 0x5da5d9
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x486487
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
jmp 0x48649d
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
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.0x486112.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.004cdfec
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.0x486112.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 0x48652d
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp 0x487579
xor esi, esi
mov al, byte [ebp + esi - 0x240]
test al, al
je 0x4865a4
movsx edx, al
cmp edx, 0x2e
jne 0x4865a1
movsx ecx, byte [ebp + esi - 0x23f]
cmp ecx, 0x2e
jne 0x4865a1
lea eax, [ebp + esi - 0x240]
mov dl, byte [eax]
test dl, dl
je 0x48656b
mov cl, byte [eax + 1]
test cl, cl
je 0x48656b
mov dl, byte [eax + 2]
mov byte [eax], dl
inc eax
jmp 0x486556
lea eax, [ebp - 0x240]
push eax
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
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 0x487579
inc esi
jmp 0x48652f
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x486602
movsx edx, byte [ebp - 0x23f]
cmp edx, 0x5c
je 0x486602
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 0x5da5db
mov eax, dword [ebp + 0x14]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x486708
mov dl, byte [ebp - 0x23f]
sub dl, 0x2f
je 0x486645
sub dl, 0xb
je 0x48661c
sub dl, 0x22
je 0x486645
jmp 0x4866ce
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 0x4866d7
mov byte [ebp - 0x640], 0
xor esi, esi
movsx eax, byte [ebp - 0x240]
cmp eax, 0x5c
jne 0x4866d7
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 0x4866a9
mov edx, dword [ebp - 0x2c]
dec edx
jne 0x48669e
mov byte [ebp + esi - 0x640], 0
jmp 0x4866d7
mov byte [ebp - 0x640], 0
xor esi, esi
jmp 0x4866d7
movsx eax, byte [ebp + esi - 0x240]
cmp eax, 0x5c
jne 0x4866cb
inc dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
cmp edx, 2
jne 0x4866cb
mov byte [ebp + esi - 0x640], 0
jmp 0x4866d7
inc esi
jmp 0x48667c
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.004cdfec
pop ecx
mov esi, eax
lea eax, [ebp + esi - 0x840]
movsx edx, byte [eax]
cmp edx, 0x5c
je 0x48672b
cmp edx, 0x2f
jne 0x48675e
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 0x486795
test esi, esi
jne 0x486791
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 0x486795
dec esi
dec eax
jmp 0x48671e
mov byte [ebp + esi - 0x840], 0
mov al, byte [ebp - 0x640]
test al, al
jne 0x4869dc
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 0x486814
lea edx, [ebp - 0x640]
test edx, edx
je 0x486814
lea ecx, [ebp - 0x640]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486814
lea eax, [ebp - 0x640]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x641]
cmp edx, 0x5c
je 0x486814
push 0x5da5dc
lea ecx, [ebp - 0x640]
push ecx
call fcn.004cdf10
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 0x4868a8
lea eax, [ebp - 0x440]
test eax, eax
je 0x4868a8
lea edx, [ebp - 0x440]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x4868a8
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x441]
cmp eax, 0x5c
je 0x4868a8
push 0x5da5de
lea edx, [ebp - 0x440]
push edx
call fcn.004cdf10
add esp, 8
movsx ecx, byte [ebp - 0x840]
cmp ecx, 0x5c
jne 0x4868cc
lea eax, [ebp - 0x83f]
push eax
lea edx, [ebp - 0x440]
push edx
call fcn.004cdf10
add esp, 8
jmp 0x4868e2
lea ecx, [ebp - 0x840]
push ecx
lea eax, [ebp - 0x440]
push eax
call fcn.004cdf10
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 0x486931
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
jmp 0x486947
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x48699a
lea eax, [ebp - 0x240]
test eax, eax
je 0x48699a
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x48699a
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x48699a
push 0x5da5e0
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x4869c1
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
jmp 0x486b21
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
add esp, 8
jmp 0x486b21
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 0x486a5a
lea edx, [ebp - 0x240]
test edx, edx
je 0x486a5a
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486a5a
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486a5a
push 0x5da5e2
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x486a7e
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
jmp 0x486a94
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x486ae7
lea eax, [ebp - 0x240]
test eax, eax
je 0x486ae7
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486ae7
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x486ae7
push 0x5da5e4
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x486b0b
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
jmp 0x486b21
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
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.004859f8
add esp, 0xc
test eax, eax
jne 0x486d3a
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 0x486c11
lea edx, [ebp - 0x240]
test edx, edx
je 0x486c11
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486c11
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486c11
push 0x5da5e6
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x486c35
lea edx, [ebp - 0x83f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
jmp 0x486c4b
lea eax, [ebp - 0x840]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
mov cl, byte [ebp - 0xa40]
test cl, cl
je 0x486c9e
lea eax, [ebp - 0x240]
test eax, eax
je 0x486c9e
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486c9e
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x486c9e
push 0x5da5e8
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
movsx ecx, byte [ebp - 0xa40]
cmp ecx, 0x5c
jne 0x486cc2
lea eax, [ebp - 0xa3f]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
add esp, 8
jmp 0x486cd8
lea ecx, [ebp - 0xa40]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
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.004cdfec
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 0x5da5ea
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.0x486112.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 0x486d5e
cmp edx, 0x3f
jne 0x486da2
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.0x486112.0
mov dl, byte [eax]
test dl, dl
je 0x486dab
inc eax
jmp 0x486d51
push 0x200
lea eax, [ebp - 0x240]
push eax
call fcn.00405b9c
add esp, 8
test eax, eax
jne 0x486ddf
mov cl, byte [ebp - 0x840]
test cl, cl
jne 0x486ed6
mov al, byte [ebp - 0xa40]
test al, al
jne 0x486ed6
mov dl, byte [ebp - 0xa40]
test dl, dl
je 0x486e32
lea ecx, [ebp - 0x840]
test ecx, ecx
je 0x486e32
lea eax, [ebp - 0x840]
push eax
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486e32
lea edx, [ebp - 0x840]
push edx
call fcn.004cdfec
pop ecx
movsx ecx, byte [ebp + eax - 0x841]
cmp ecx, 0x5c
je 0x486e32
push 0x5da5eb
lea eax, [ebp - 0x840]
push eax
call fcn.004cdf10
add esp, 8
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x486e56
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x840]
push eax
call fcn.004cdf10
add esp, 8
jmp 0x486e6c
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x840]
push ecx
call fcn.004cdf10
add esp, 8
movsx eax, byte [ebp - 0x840]
cmp eax, 0x5c
jne 0x486e8b
lea edx, [ebp - 0x83f]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
jmp 0x486e9c
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 0x5da5ed
mov edx, dword [ebp + 0x1c]
push edx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5da5ee
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
jmp case.0x486112.0
lea eax, [ebp - 0x240]
push eax
call fcn.00485ef8
pop ecx
test al, al
jne 0x486f10
xor edx, edx
mov dword [ebp - 0x28], edx
push 0x5da5ef
mov ecx, dword [ebp + 0x1c]
push ecx
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5da5f0
push edi
push ebx
call sub.USER32.dll_SetDlgItemTextA
mov dword [ebp - 0x30], 1
jmp case.0x486112.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 0x487387
push 0x5da5f1
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.004cdfec
pop ecx
cmp eax, 0x180
jbe 0x486fa0
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 0x486ff3
lea edx, [ebp - 0x240]
test edx, edx
je 0x486ff3
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x486ff3
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x486ff3
push 0x5da5f2
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
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.004cdfec
pop ecx
cmp eax, 0x180
jbe 0x487043
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 0x487096
lea edx, [ebp - 0x440]
test edx, edx
je 0x487096
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x487096
lea eax, [ebp - 0x440]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x487096
push 0x5da5f4
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cdf10
add esp, 8
movsx eax, byte [ebp - 0x440]
cmp eax, 0x5c
jne 0x4870ba
lea edx, [ebp - 0x43f]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
add esp, 8
jmp 0x4870d0
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
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 0x48714c
lea edx, [ebp - 0x440]
test edx, edx
je 0x48714c
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x48714c
lea eax, [ebp - 0x440]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x441]
cmp edx, 0x5c
je 0x48714c
push 0x5da5f6
lea ecx, [ebp - 0x440]
push ecx
call fcn.004cdf10
add esp, 8
xor eax, eax
lea edi, [ebp - 0x440]
or ecx, 0xffffffff
mov esi, 0x5965f0
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 0x5965f0
mov eax, dword [ebp + 0x2c]
push eax
push ebx
call sub.USER32.dll_SetDlgItemTextA
push 0x5da5f8
lea edx, [ebp - 0x440]
push edx
call fcn.004cdf10
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 0x4871c5
mov esi, 0x5da5fc
lea edi, [ebp - 0xa40]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsx edx, byte [ebp - 0xa40]
cmp edx, 0x5c
jne 0x4871e9
lea ecx, [ebp - 0xa3f]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
add esp, 8
jmp 0x4871ff
lea edx, [ebp - 0xa40]
push edx
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
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 0x487387
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 0x4872c2
mov eax, dword [ebp - 0xb80]
test al, 0x10
jne 0x4872b1
test al, 4
jne 0x4872b1
lea edx, [ebp - 0xb54]
lea ecx, [ebp - 0xb54]
push edx
push ecx
lea eax, [ebp - 0xa40]
push 0x5da600
push eax
call fcn.004d26c8
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 0x4872b1
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 0x487252
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 0x48737c
mov eax, dword [ebp - 0xb80]
test al, 4
jne 0x487367
test al, 0x10
je 0x487367
movsx edx, byte [ebp - 0xb54]
cmp edx, 0x2e
jne 0x487314
mov cl, byte [ebp - 0xb53]
test cl, cl
je 0x487367
lea eax, [ebp - 0xb54]
push eax
lea edx, [ebp - 0xb54]
push edx
push 0x20
push 0x5da60a
lea ecx, [ebp - 0xa40]
push ecx
call fcn.004d26c8
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 0x487367
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 0x4872f0
call fcn.00401400
push edi
call sub.KERNEL32.dll_FindClose
mov ecx, dword [ebp - 0x34]
dec ecx
jne 0x487419
lea eax, [ebp - 0x440]
push eax
mov edx, dword [ebp + 0xc]
push edx
push ebx
call fcn.00417e44
add esp, 0xc
test eax, eax
jne 0x4873ba
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
mov cl, byte [ebp - 0x440]
test cl, cl
jne 0x4873d5
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
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 0x487420
xor eax, eax
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
mov byte [ebp - 0x240], 0
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x48747b
lea eax, [ebp - 0x240]
test eax, eax
je 0x4874ce
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x4874ce
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
jne 0x4874ce
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
mov byte [ebp + eax - 0x241], 0
jmp 0x4874ce
mov cl, byte [ebp - 0x240]
test cl, cl
je 0x4874ce
lea eax, [ebp - 0x240]
test eax, eax
je 0x4874ce
lea edx, [ebp - 0x240]
push edx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x4874ce
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
movsx eax, byte [ebp + eax - 0x241]
cmp eax, 0x5c
je 0x4874ce
push 0x5da615
lea edx, [ebp - 0x240]
push edx
call fcn.004cdf10
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 0x48754d
lea ecx, [ebp - 0x440]
push ecx
lea eax, [ebp - 0x240]
push eax
call fcn.004cdf10
add esp, 8
lea edx, [ebp - 0x240]
test edx, edx
je 0x48754d
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdfec
pop ecx
test eax, eax
je 0x48754d
lea eax, [ebp - 0x240]
push eax
call fcn.004cdfec
pop ecx
movsx edx, byte [ebp + eax - 0x241]
cmp edx, 0x5c
je 0x48754d
push 0x5da617
lea ecx, [ebp - 0x240]
push ecx
call fcn.004cdf10
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.004cdf10
add esp, 8
mov word [ebp - 0x14], 0
jmp 0x4875a4
xor eax, eax
mov dword [0x59706c], eax
mov edx, dword [ebp - 0x28]
dec edx
jne 0x4875c2
mov eax, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x4875ce
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