Function at 0x4cc9e0
Capabilities:
Get graphical window text
Log keystrokes via polling

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x258
push ebx
lea eax, [ecx - 0x2b]
push ebp
push esi
cmp eax, 0xea
push edi
ja case.0x4cde1d.2
xor edx, edx
mov dl, byte [eax + 0x4ce2f0]
jmp dword [edx*4 + 0x4ce2d0]
mov eax, dword [esp + 0x27c]
test eax, eax
je case.0x4cde1d.2
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne case.0x4cde1d.2
mov eax, dword [esp + 0x278]
cmp dword [eax], 3
jne case.0x4cde1d.2
cmp dword [esp + 0x274], 0xffffffff
jne case.0x4cde1d.2
pop edi
pop esi
mov dword [eax + 0x10], 0x13
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x278]
mov eax, dword [ecx]
sub eax, 3
je 0x4cca8b
dec eax
jne 0x4ce1c1
mov eax, dword [ecx + 0x14]
push 2
push eax
call dword [sym.imp.USER32.dll_GetWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0x27c]
xor eax, eax
xor edx, edx
mov ax, word [ecx + 0x1a]
mov ebp, dword [ecx + 0x14]
test eax, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], eax
jle 0x4ce1c1
jmp 0x4ccab3
mov ebp, dword [esp + 0x28]
lea ecx, [edx + edx*4]
lea ecx, [edx + ecx*2]
lea eax, [ecx + ecx*4]
mov di, word [ebp + eax*2 + 0x2c]
lea eax, [ebp + eax*2]
cmp di, 0x11
jne 0x4ccace
mov ebp, dword [eax + 8]
mov cx, di
sub cx, 0x11
neg cx
sbb ecx, ecx
and ecx, edx
lea esi, [ecx + ecx*4]
lea esi, [ecx + esi*2]
lea esi, [esi + esi*4]
lea ebx, [ebp + esi*2]
cmp di, 0x11
jne 0x4ccaf7
xor esi, esi
mov si, word [eax + 0xc]
jmp 0x4ccafa
lea esi, [edx + 1]
cmp ecx, esi
jge 0x4ccb0f
mov esi, dword [esp + 0x274]
cmp dword [ebx], esi
je 0x4ccb2a
inc ecx
add ebx, 0x6e
jmp 0x4ccae9
mov eax, dword [esp + 0x20]
inc edx
cmp edx, eax
jl 0x4ccaaf
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
lea edx, [ecx + ecx*4]
lea eax, [ecx + edx*2]
lea eax, [eax + eax*4]
mov cx, word [ebp + eax*2 + 0x2c]
lea eax, [ebp + eax*2]
cmp cx, 0xe
je 0x4ccc09
cmp cx, 0xf
je 0x4ccc09
cmp cx, 0xc
je 0x4ccbc5
cmp cx, 0xd
je 0x4ccbc5
cmp cx, 0x14
jne 0x4ccb95
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x278]
shr ecx, 0x10
and ecx, 0x8000
push 1
push ecx
push edx
push 0
call fcn.0041ad80
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x27c]
mov eax, dword [esp + 0x278]
push 0
push eax
mov dx, word [ecx + 8]
push edx
call fcn.0041aca0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x27c]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x4ce09e
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x278]
shr edx, 0x10
and edx, 0x8000
push 0
push edx
push eax
push ecx
call fcn.0041ad80
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x278]
push ecx
call fcn.004ca440
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov eax, dword [esp + 0x278]
cmp dword [eax + 8], 0xfffffd2e
jne 0x4ce09e
mov edx, dword [eax]
push 3
push edx
call dword [sym.imp.USER32.dll_GetWindow]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x27c]
mov edi, dword [eax + 0x14]
mov cx, word [eax + 0x1a]
xor eax, eax
mov dword [esp + 0x28], edi
test ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
jle 0x4ce09e
jmp 0x4ccc7e
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov ax, word [edi + edx*2 + 0x2c]
cmp ax, 0x11
lea ebx, [edi + edx*2]
jne 0x4ccc98
mov edi, dword [ebx + 8]
mov ecx, dword [esp + 0x20]
sub ax, 0x11
neg ax
sbb eax, eax
mov dword [esp + 0x14], edi
and eax, ecx
mov ebp, eax
lea eax, [ebp + ebp*4]
lea eax, [ebp + eax*2]
lea ecx, [eax + eax*4]
lea esi, [edi + ecx*2]
cmp word [ebx + 0x2c], 0x11
jne 0x4cccca
xor eax, eax
mov ax, word [ebx + 0xc]
jmp 0x4cccd1
mov edx, dword [esp + 0x20]
lea eax, [edx + 1]
cmp ebp, eax
jge case.0x4ccd2f.5
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp dword [esi], eax
je 0x4cccee
inc ebp
add esi, 0x6e
jmp 0x4cccbb
mov ecx, dword [esp + 0x18]
push 0x14
push 0x65d864
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [ebp + ebp*4]
lea eax, [ebp + edx*2]
lea eax, [eax + eax*4]
mov si, word [edi + eax*2 + 0x2c]
lea ebx, [edi + eax*2]
mov ecx, esi
and ecx, 0xffff
lea eax, [ecx - 1]
cmp eax, 0x14
ja case.0x4ccd2f.5
xor edx, edx
mov dl, byte [eax + 0x4ce3f0]
jmp dword [edx*4 + 0x4ce3dc]
cmp si, 0x15
jne 0x4ccd91
push 0x65d864
call fcn.004c96a0
add esp, 4
mov ecx, dword [esp + 0x27c]
mov ax, word [ebx + 0xe]
push eax
push 0x65d864
mov edx, dword [ecx + 4]
push edx
call fcn.004cb120
add esp, 0xc
cmp eax, 0x3fff7ffe
mov dword [esp + 0x1c], eax
jne 0x4ccd78
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x278]
cmp dword [ecx + 0x10], 0xffffffff
jle 0x4ccdbd
fild dword [esp + 0x1c]
fadd qword [0x4debd8]
jmp 0x4ccdd8
cmp si, 0x12
jne 0x4ccda6
push 0x65d864
call fcn.004c9500
add esp, 4
jmp 0x4ccd66
cmp si, 6
jne 0x4ccd49
mov al, byte [0x65d864]
cmp al, 0x41
je 0x4ccdb9
cmp al, 0x61
jne 0x4ccd49
xor eax, eax
jmp 0x4ccd74
mov ecx, dword [ebx + 0x10]
cmp eax, ecx
mov dword [esp + 0x24], ecx
jle 0x4ccdd4
fild dword [esp + 0x1c]
fsub qword [0x4debd8]
jmp 0x4ccdd8
fild dword [esp + 0x24]
call fcn.004d7580
mov ecx, dword [ebx + 0x10]
cmp eax, ecx
jl 0x4ccdeb
mov ecx, dword [ebx + 0x14]
cmp eax, ecx
jle 0x4ccded
mov eax, ecx
mov dword [ebx + 0x30], eax
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x4cce14
mov eax, dword [esp + 0x26c]
push ebp
lea edx, [ebx + 0x2e]
push edi
push edx
mov edx, dword [esp + 0x288]
push eax
push edx
call ecx
add esp, 0x14
jmp 0x4cce91
cmp si, 6
jne 0x4cce47
test eax, eax
jne 0x4cce73
mov edi, str.Auto
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x65d864
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x14]
jmp 0x4cce91
cmp si, 0x12
jne 0x4cce5d
push 0x65d864
push eax
call fcn.004c9460
add esp, 8
jmp 0x4cce91
cmp si, 0x15
jne 0x4cce73
push 0x65d864
push eax
call fcn.004c9670
add esp, 8
jmp 0x4cce91
mov cx, word [ebx + 0xe]
mov edx, dword [esp + 0x27c]
push ecx
push 0x65d864
push eax
mov eax, dword [edx + 4]
push eax
call fcn.004cb0e0
add esp, 0x10
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x4ccd2f.5
mov ecx, dword [esp + 0x26c]
mov edx, dword [esp + 0x27c]
push ebp
add ebx, 0x2e
push edi
push ebx
push ecx
push edx
call eax
add esp, 0x14
jmp case.0x4ccd2f.5
lea eax, [esp + 0x30]
lea ecx, [esp + 0x10]
push eax
push ecx
push str._d_5s
push 0x65d864
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x10
cmp eax, 1
je 0x4ccee3
mov eax, dword [ebx + 0x10]
jmp 0x4ccee7
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x278]
cmp dword [edx + 0x10], 0xffffffff
jle 0x4ccef7
inc eax
jmp 0x4ccf03
mov ecx, dword [ebx + 0x10]
cmp eax, ecx
jle 0x4ccf01
dec eax
jmp 0x4ccf03
mov eax, ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x4ccf15
mov ecx, dword [ebx + 0x14]
cmp eax, ecx
jle 0x4ccf1b
mov eax, ecx
mov dword [esp + 0x10], eax
push eax
push 0x4e6a10
push 0x65d864
mov word [ebx + 0x30], ax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp case.0x4ccd2f.5
push 0x65d864
call fcn.004c97b0
add esp, 4
cmp ax, 0x7ffe
jne 0x4ccf51
mov ax, word [ebx + 0x10]
jmp 0x4ccf87
mov ecx, dword [esp + 0x278]
cmp dword [ecx + 0x10], 0xffffffff
jle 0x4ccf71
movsx edx, ax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd qword [0x4df0d0]
jmp 0x4ccf82
movsx eax, ax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fsub qword [0x4df0d0]
call fcn.004d7580
mov edx, dword [ebx + 0x10]
movsx ecx, ax
cmp ecx, edx
jge 0x4ccf96
mov ax, dx
jmp 0x4ccfa0
mov edx, dword [ebx + 0x14]
cmp ecx, edx
jle 0x4ccfa0
mov ax, dx
push 0x65d864
push eax
mov word [ebx + 0x30], ax
call fcn.004c8be0
add esp, 8
jmp case.0x4ccd2f.5
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4ccfcc
add eax, 0x12c
jmp 0x4ccfd1
mov eax, 0x655b04
xor edx, edx
mov dx, word [ebx + 0xe]
lea eax, [eax + edx*2]
push eax
push 0x65d864
call fcn.004544f0
mov esi, eax
add esp, 8
cmp esi, 0x3fff7ffe
mov dword [esp + 0x1c], esi
jne 0x4ccffe
movsx esi, word [ebx + 0x28]
mov dword [esp + 0x1c], esi
mov edx, dword [esp + 0x278]
mov ecx, esi
shr ecx, 0x10
mov eax, dword [edx + 0x10]
cmp ecx, 0x3fff
jne 0x4cd067
cmp eax, 0xffffffff
jle 0x4cd02d
movsx eax, si
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd qword [0x4df0d0]
jmp 0x4cd03e
movsx ecx, si
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fsub qword [0x4df0d0]
call fcn.004d7580
mov cx, word [ebx + 0x28]
cmp ax, cx
jl 0x4cd055
mov cx, word [ebx + 0x2a]
cmp ax, cx
jle 0x4cd057
mov eax, ecx
push 0x65d864
push eax
call fcn.004c8be0
add esp, 8
jmp 0x4cd0b1
fild dword [esp + 0x1c]
cmp eax, 0xffffffff
jle 0x4cd078
fadd qword [0x4debd8]
jmp 0x4cd07e
fsub qword [0x4debd8]
call fcn.004d7580
mov ecx, dword [ebx + 0x10]
cmp eax, ecx
jl 0x4cd091
mov ecx, dword [ebx + 0x14]
cmp eax, ecx
jle 0x4cd093
mov eax, ecx
mov cx, word [ebx + 0xe]
mov edx, dword [esp + 0x27c]
push ecx
push 0x65d864
push eax
mov eax, dword [edx + 4]
push eax
call fcn.004cb0e0
add esp, 0x10
mov dword [ebx + 0x30], esi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4ccc76
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x278]
push 0x65d864
push 3
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
mov esi, dword [esp + 0x27c]
mov edx, dword [esp + 0x278]
mov eax, dword [esp + 0x274]
mov edi, dword [esp + 0x26c]
push esi
push edx
push eax
push ecx
push edi
call fcn.004cb160
mov eax, dword [esi + 0xc]
add esp, 0x14
test eax, eax
je 0x4ce09e
push edi
call fcn.004d4ce0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov eax, dword [esp + 0x27c]
xor edx, edx
xor edi, edi
mov dx, word [eax + 0x1a]
mov esi, dword [eax + 0x14]
test edx, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
jle case.0x4cde1d.2
jmp 0x4cd180
mov esi, dword [esp + 0x2c]
lea ecx, [edi + edi*4]
lea eax, [edi + ecx*2]
lea eax, [eax + eax*4]
mov bx, word [esi + eax*2 + 0x2c]
lea ebp, [esi + eax*2]
cmp bx, 0x11
mov dword [esp + 0x24], ebp
jne 0x4cd19e
mov esi, dword [ebp + 8]
mov ax, bx
mov dword [esp + 0x20], esi
sub ax, 0x11
neg ax
sbb eax, eax
and eax, edi
lea ecx, [eax + eax*4]
lea ecx, [eax + ecx*2]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*2]
cmp bx, 0x11
jne 0x4cd1ca
xor ecx, ecx
mov cx, word [ebp + 0xc]
jmp 0x4cd1cd
lea ecx, [edi + 1]
cmp eax, ecx
jge 0x4cd1fb
mov edx, dword [esp + 0x278]
mov ecx, dword [esi]
mov edx, dword [edx + 8]
cmp ecx, edx
jg 0x4cd1f1
xor ebp, ebp
mov bp, word [esi + 0xc]
add ebp, ecx
cmp ebp, edx
jg 0x4cd213
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc eax
add esi, 0x6e
jmp 0x4cd1bc
inc edi
cmp edi, edx
jl 0x4cd17c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x258
ret 0x14
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edx*2 + 4]
test eax, eax
jne 0x4cd237
mov ecx, dword [esp + 0x27c]
mov eax, dword [ecx + 0x1c]
add eax, 0x20000
push eax
jmp 0x4cdd39
mov esi, dword [esp + 0x27c]
xor ebp, ebp
mov ecx, dword [esi + 0x14]
mov bp, word [esi + 0x1a]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x274]
mov eax, ecx
mov dword [esp + 0x20], ebp
and eax, 0xffff
cmp eax, 0x3e5
mov dword [esp + 0x18], eax
jg 0x4cddf0
je 0x4cdc6f
dec eax
je 0x4cd289
sub eax, 8
je 0x4cdd2f
jmp 0x4cddfb
xor ecx, ecx
test ebp, ebp
mov dword [esp + 0x28], ecx
jle 0x4cd8c7
mov esi, dword [esp + 0x1c]
lea edx, [ecx + ecx*4]
lea eax, [ecx + edx*2]
lea eax, [eax + eax*4]
lea edi, [esi + eax*2]
mov dword [esp + 0x30], edi
mov ax, word [edi + 0x2c]
cmp ax, 0x11
jne 0x4cd2b8
mov esi, dword [edi + 8]
sub ax, 0x11
mov dword [esp + 0x10], esi
neg ax
sbb eax, eax
and eax, ecx
mov dword [esp + 0x18], eax
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
lea edx, [edx + edx*4]
lea ebx, [esi + edx*2 + 0x1c]
mov edx, 0xffffffe4
sub edx, esi
mov dword [esp + 0x2c], edx
cmp word [edi + 0x2c], 0x11
jne 0x4cd2f2
xor edx, edx
mov dx, word [edi + 0xc]
jmp 0x4cd2f5
lea edx, [ecx + 1]
cmp eax, edx
jge 0x4cd8b3
mov eax, dword [ebx + 8]
test eax, eax
je case.0x4cd331.7
mov eax, dword [ebx - 0x1c]
mov ecx, dword [esp + 0x26c]
mov di, word [ebx + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, edi
mov ebp, eax
and esi, 0xffff
cmp esi, 0x15
ja case.0x4cd331.7
jmp dword [esi*4 + 0x4ce408]
mov eax, dword [ebx + 4]
test eax, eax
jne 0x4cd7e8
lea eax, [ebx + 0x14]
push 0x3c
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov edx, eax
mov ecx, 0x3c
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
add esi, edx
sub ecx, edx
add esi, edi
mov edx, ecx
xor eax, eax
lea edi, [esi + ebx + 0x30]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp case.0x4cd331.7
lea eax, [esp + 0x68]
push 0x14
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
cmp di, 0x15
jne 0x4cd3a1
lea ecx, [esp + 0x68]
push ecx
call fcn.004c96a0
add esp, 4
jmp 0x4cd400
cmp di, 0x12
jne 0x4cd3b6
lea edx, [esp + 0x68]
push edx
call fcn.004c9500
add esp, 4
jmp 0x4cd400
cmp di, 6
jne 0x4cd3e3
mov al, byte [esp + 0x68]
cmp al, 0x41
je 0x4cd3df
cmp al, 0x61
je 0x4cd3df
mov ax, word [ebx - 0xe]
mov edx, dword [esp + 0x27c]
push eax
lea ecx, [esp + 0x6c]
mov eax, dword [edx + 4]
push ecx
push eax
jmp 0x4cd3f8
xor eax, eax
jmp 0x4cd40b
mov cx, word [ebx - 0xe]
mov eax, dword [esp + 0x27c]
push ecx
lea edx, [esp + 0x6c]
mov ecx, dword [eax + 4]
push edx
push ecx
call fcn.004cb120
add esp, 0xc
cmp eax, 0x3fff7ffe
je 0x4cd937
cmp eax, dword [ebx - 0xc]
jl 0x4cd972
cmp eax, dword [ebx - 8]
jg 0x4cd972
mov dword [ebx + 0x14], eax
mov ecx, dword [ebx]
test ecx, ecx
je 0x4cd44b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push edx
lea edx, [ebx + 0x12]
push eax
mov eax, dword [esp + 0x274]
push edx
mov edx, dword [esp + 0x288]
push eax
push edx
call ecx
add esp, 0x14
jmp 0x4cd4bb
cmp di, 6
jne 0x4cd47b
test eax, eax
jne 0x4cd491
mov edi, str.Auto
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x68]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4cd4af
cmp di, 0x12
jne 0x4cd491
lea ecx, [esp + 0x68]
push ecx
push eax
call fcn.004c9460
add esp, 8
jmp 0x4cd4af
mov dx, word [ebx - 0xe]
lea ecx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x280]
push ecx
push eax
mov eax, dword [edx + 4]
push eax
call fcn.004cb0e0
add esp, 0x10
lea ecx, [esp + 0x68]
push ecx
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [ebx + 4]
test eax, eax
je case.0x4cd331.7
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push edx
lea edx, [ebx + 0x12]
push ecx
mov ecx, dword [esp + 0x274]
push edx
mov edx, dword [esp + 0x288]
push ecx
push edx
jmp 0x4cd88f
lea eax, [esp + 0x68]
push 0x14
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [esp + 0x60]
lea edx, [esp + 0x24]
push ecx
push edx
lea eax, [esp + 0x70]
push str._d_5s
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x10
cmp eax, 1
jne 0x4cd93f
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [ebx - 0xc]
cmp eax, ecx
jl 0x4cda72
xor edx, edx
mov dx, word [ebx - 8]
cmp eax, edx
jg 0x4cda72
mov word [ebx + 0x14], ax
push eax
lea eax, [esp + 0x6c]
push 0x4e6a10
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x68]
push ecx
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp case.0x4cd331.7
lea edx, [esp + 0x68]
push 0x14
push edx
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esp + 0x68]
push eax
call fcn.004c97b0
add esp, 4
cmp ax, 0x7ffe
je 0x4cd93f
mov edx, dword [ebx - 0xc]
movsx ecx, ax
cmp ecx, edx
jl 0x4cdae1
cmp ecx, dword [ebx - 8]
jg 0x4cdae1
lea ecx, [esp + 0x68]
mov word [ebx + 0x14], ax
push ecx
push eax
call fcn.004c8be0
add esp, 8
lea edx, [esp + 0x68]
push edx
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp case.0x4cd331.7
lea eax, [esp + 0x68]
push 0x14
push eax
push ebp
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov edi, dword [esp + 0x27c]
mov eax, dword [edi + 4]
test eax, eax
je 0x4cd5e8
add eax, 0x12c
jmp 0x4cd5ed
mov eax, 0x655b04
xor ecx, ecx
mov cx, word [ebx - 0xe]
lea edx, [eax + ecx*2]
lea eax, [esp + 0x68]
push edx
push eax
call fcn.004544f0
mov esi, eax
add esp, 8
cmp esi, 0x3fff7ffe
je 0x4cd93f
mov ecx, esi
shr ecx, 0x10
cmp ecx, 0x3fff
jne 0x4cd643
cmp si, word [ebx + 0xc]
jl 0x4cdb44
cmp si, word [ebx + 0xe]
jg 0x4cdb44
lea edx, [esp + 0x68]
push edx
push esi
call fcn.004c8be0
add esp, 8
jmp 0x4cd66c
cmp esi, dword [ebx - 0xc]
jl 0x4cdbab
cmp esi, dword [ebx - 8]
jg 0x4cdbab
mov ax, word [ebx - 0xe]
mov edx, dword [edi + 4]
lea ecx, [esp + 0x68]
push eax
push ecx
push esi
push edx
call fcn.004cb0e0
add esp, 0x10
lea eax, [esp + 0x68]
mov dword [ebx + 0x14], esi
push eax
push ebp
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp case.0x4cd331.7
push 0
push 0
push 0x147
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
lea esi, [eax + esi - 0xe]
cmp esi, 0x18
mov dword [esp + 0x14], esi
jl case.0x4cd331.12
mov eax, esi
add eax, 0x3d0
mov dword [esp + 0x14], eax
cmp di, 0xc
je 0x4cd6b4
cmp di, 0xd
jne case.0x4cd331.20
push 0
push 0
push 0x147
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [eax + edi - 0xc]
mov edx, dword [esp + 0x27c]
push ecx
mov ecx, dword [edx + 4]
call fcn.004ce950
movsx eax, ax
mov dword [esp + 0x14], eax
cmp di, 0x14
jne case.0x4cd331.0
push 0
push 0
push 0x147
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x14], eax
jmp 0x4cd7d4
test di, di
jne case.0x4cd331.11
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0
push 0x147
push ebp
call esi
push eax
push 0x150
push ebp
call esi
mov dword [esp + 0x14], eax
jmp 0x4cd7d4
cmp di, 0xb
jne case.0x4cd331.3
push 0
push 0
push 0x147
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x14], eax
jmp 0x4cd7d4
cmp di, 3
jne case.0x4cd331.4
push 0
push 0
push 0xf0
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x14], eax
jmp 0x4cd7d4
cmp di, 4
jne case.0x4cd331.16
push 0
push 0
push 0xf0
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x14], eax
jmp 0x4cd7d4
cmp di, 0x10
jne 0x4cd7d4
cmp word [ebx - 0x10], 0
mov dword [esp + 0x14], 0
jbe 0x4cd7d4
mov esi, dword [esp + 0x14]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [ebx - 0x1c]
mov edx, dword [esp + 0x26c]
mov ecx, esi
push 0
push 0
add ecx, eax
push 0xf0
push ecx
push edx
call edi
push eax
call ebp
test eax, eax
jne 0x4cd7d0
mov ax, word [ebx - 0x10]
inc esi
cmp esi, eax
jl 0x4cd7a5
mov dword [esp + 0x14], esi
mov cx, word [esp + 0x14]
mov word [ebx + 0x14], cx
mov eax, dword [ebx + 4]
test eax, eax
je case.0x4cd331.7
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push edx
lea edx, [ebx + 0x12]
push ecx
mov ecx, dword [esp + 0x274]
push edx
mov edx, dword [esp + 0x288]
push ecx
push edx
jmp 0x4cd88f
cmp di, 5
jne 0x4cd861
cmp word [ebx - 0x10], 0
mov dword [esp + 0x14], 0
jbe 0x4cd861
mov esi, dword [esp + 0x14]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov edx, dword [ebx - 0x1c]
mov ecx, dword [esp + 0x26c]
mov eax, esi
push 0
push 0
add eax, edx
push 0xf0
push eax
push ecx
call edi
push eax
call ebp
test eax, eax
jne 0x4cd85d
xor edx, edx
inc esi
mov dx, word [ebx - 0x10]
cmp esi, edx
jl 0x4cd830
mov dword [esp + 0x14], esi
mov ax, word [esp + 0x14]
mov word [ebx + 0x14], ax
mov eax, dword [ebx + 4]
test eax, eax
je case.0x4cd331.7
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push ecx
lea ecx, [ebx + 0x12]
push edx
mov edx, dword [esp + 0x274]
push ecx
mov ecx, dword [esp + 0x288]
push edx
push ecx
call eax
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov ecx, dword [esp + 0x28]
add ebx, 0x6e
jmp 0x4cd2e3
inc ecx
cmp ecx, ebp
mov dword [esp + 0x28], ecx
jl 0x4cd297
mov esi, dword [esp + 0x27c]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4ce09e
push 0
push 0
push 0xffffffffffffffff
call fcn.004ce9e0
add esp, 0xc
xor edi, edi
test ebp, ebp
jle 0x4cdc58
mov ebx, dword [esp + 0x1c]
lea edx, [edi + edi*4]
lea eax, [edi + edx*2]
lea eax, [eax + eax*4]
lea ebp, [ebx + eax*2]
mov ax, word [ebx + eax*2 + 0x2c]
cmp ax, 0x11
jne 0x4cd908
mov ebx, dword [ebp + 8]
sub ax, 0x11
neg ax
sbb eax, eax
and eax, edi
mov esi, eax
lea ecx, [esi + esi*4]
lea eax, [esi + ecx*2]
lea edx, [eax + eax*4]
lea ebx, [ebx + edx*2]
cmp word [ebp + 0x2c], 0x11
jne 0x4cdc22
xor eax, eax
mov ax, word [ebp + 0xc]
jmp 0x4cdc25
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
call fcn.004c8a00
push 0
call dword [sym.imp.USER32.dll_ReplyMessage]
push 0xffffffffffffffff
push 0
push 0xb1
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
push ebp
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x258
ret 0x14
cmp di, 0x12
jne 0x4cd9b1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
lea eax, [eax + edx*2]
lea edx, [esp + 0x38]
push edx
lea eax, [eax + eax*4]
lea esi, [ecx + eax*2]
mov eax, dword [ecx + eax*2 + 0x10]
push eax
call fcn.004c9460
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x54]
push ecx
push edx
call fcn.004c9460
add esp, 0x10
jmp 0x4cda36
mov eax, dword [esp + 0x18]
cmp di, 0x15
jne 0x4cd9ed
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea ecx, [esp + 0x38]
push ecx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea esi, [eax + edx*2]
mov edx, dword [eax + edx*2 + 0x10]
push edx
call fcn.004c9670
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x54]
push eax
push ecx
call fcn.004c9670
add esp, 0x10
jmp 0x4cda36
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov edi, dword [esp + 0x27c]
lea eax, [eax + edx*2]
lea eax, [eax + eax*4]
mov dx, word [ecx + eax*2 + 0xe]
lea esi, [ecx + eax*2]
lea eax, [esp + 0x38]
push edx
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004cb0e0
mov ax, word [esi + 0xe]
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x5c]
push eax
mov eax, dword [edi + 4]
push ecx
push edx
push eax
call fcn.004cb0e0
add esp, 0x20
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x38]
push ecx
push edx
push 0x18e3
push 0x30
push 0
mov dword [0x655b78], 0
call fcn.004c8a30
add esp, 0x14
mov dword [0x655b78], 1
jmp 0x4cd944
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edx*2 + 0x10]
lea esi, [eax + edx*2]
push ecx
lea edx, [esp + 0x50]
push 0x4e6a10
push edx
call edi
mov eax, dword [esi + 0x14]
lea ecx, [esp + 0x44]
push eax
push 0x4e6a10
push ecx
call edi
lea edx, [esp + 0x50]
lea eax, [esp + 0x64]
push edx
push eax
push 0x18e3
push 0x30
push 0
mov dword [0x655b78], 0
call fcn.004c8a30
add esp, 0x2c
mov dword [0x655b78], 1
jmp 0x4cd944
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea esi, [eax + edx*2]
mov dx, word [eax + edx*2 + 0x10]
push edx
call fcn.004c8be0
mov cx, word [esi + 0x14]
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.004c8be0
lea edx, [esp + 0x48]
lea eax, [esp + 0x5c]
push edx
push eax
push 0x18e3
mov dword [0x655b78], 0
call fcn.00454b50
add esp, 0x1c
mov dword [0x655b78], 1
jmp 0x4cd944
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x14]
lea esi, [eax + edx*2]
mov dx, word [eax + edx*2 + 0x28]
push edx
call fcn.004c8be0
mov cx, word [esi + 0x2a]
lea eax, [esp + 0x40]
push eax
push ecx
call fcn.004c8be0
lea edx, [esp + 0x48]
lea eax, [esp + 0x5c]
push edx
push eax
push 0x18e3
push 0x30
push 0
mov dword [0x655b78], 0
call fcn.004c8a30
add esp, 0x24
mov dword [0x655b78], 1
jmp 0x4cd944
mov eax, dword [esp + 0x18]
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov cx, word [eax + edx*2 + 0xe]
lea esi, [eax + edx*2]
lea edx, [esp + 0x4c]
push ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call fcn.004cb0e0
mov dx, word [esi + 0xe]
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x48]
push edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call fcn.004cb0e0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x6c]
push eax
push ecx
push 0x18e3
push 0x30
push 0
mov dword [0x655b78], 0
call fcn.004c8a30
add esp, 0x34
mov dword [0x655b78], 1
jmp 0x4cd944
lea eax, [edi + 1]
cmp esi, eax
jge 0x4cdc4b
mov eax, dword [esp + 0x27c]
mov edx, dword [esp + 0x26c]
push ebx
mov ecx, dword [eax]
push ecx
push edx
call dword [eax + 0x24]
add esp, 0xc
inc esi
add ebx, 0x6e
jmp 0x4cd921
mov eax, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x4cd8ea
call fcn.004ceb00
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
xor edi, edi
test ebp, ebp
mov dword [esp + 0x10], eax
jle 0x4cdd2f
lea eax, [edi + edi*4]
lea ecx, [edi + eax*2]
mov eax, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov bx, word [eax + ecx*2 + 0x2c]
lea ebp, [eax + ecx*2]
cmp bx, 0x11
mov dword [esp + 0x30], ebp
jne 0x4cdcac
mov eax, dword [ebp + 8]
mov cx, bx
sub cx, 0x11
neg cx
sbb ecx, ecx
and ecx, edi
lea edx, [ecx + ecx*4]
lea edx, [ecx + edx*2]
lea edx, [edx + edx*4]
lea esi, [eax + edx*2]
cmp bx, 0x11
jne 0x4cdcd4
xor edx, edx
mov dx, word [ebp + 0xc]
jmp 0x4cdcd7
lea edx, [edi + 1]
cmp ecx, edx
jge 0x4cdd1b
xor edx, edx
mov dx, word [esi + 0x2c]
cmp edx, 5
je 0x4cdceb
cmp edx, 0x10
jne 0x4cdd09
mov edx, dword [esi]
mov ebp, dword [esp + 0x10]
cmp edx, ebp
jg 0x4cdd05
xor ebp, ebp
mov bp, word [esi + 0xc]
add ebp, edx
mov edx, dword [esp + 0x10]
cmp ebp, edx
jg 0x4cdd60
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
cmp dword [esi], edx
je 0x4cdda8
inc ecx
add esi, 0x6e
jmp 0x4cdcc6
mov eax, dword [esp + 0x20]
inc edi
cmp edi, eax
jl 0x4cdc8a
mov esi, dword [esp + 0x27c]
mov ecx, dword [esi + 0x1c]
add ecx, 0x10000
push ecx
mov edx, dword [0x655b94]
mov eax, dword [0x655abc]
push 1
push edx
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + ecx*2 + 4]
test eax, eax
jne 0x4cdd80
mov edx, dword [esp + 0x27c]
mov eax, dword [edx + 0x1c]
add eax, 0x10000
mov ecx, dword [0x655abc]
push eax
mov eax, dword [0x655b94]
push 1
push eax
push ecx
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*2]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + ecx*2 + 4]
test eax, eax
jne 0x4cddc8
mov edx, dword [esp + 0x27c]
mov eax, dword [edx + 0x1c]
add eax, 0x10000
mov ecx, dword [0x655abc]
push eax
mov eax, dword [0x655b94]
push 1
push eax
push ecx
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
cmp eax, 0x40e
je 0x4cdd2f
shr ecx, 0x10
mov eax, ecx
and eax, 0xffff
cmp eax, 5
jg 0x4ce1d3
je 0x4ce1f4
cmp eax, 4
ja case.0x4cde1d.2
jmp dword [eax*4 + 0x4ce460]
test ebp, ebp
mov dword [esp + 0x14], 0
jle case.0x4cde1d.2
mov ebp, dword [esp + 0x26c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
lea edx, [ecx + ecx*4]
lea eax, [ecx + edx*2]
lea eax, [eax + eax*4]
lea edx, [esi + eax*2]
mov dword [esp + 0x30], edx
mov ax, word [edx + 0x2c]
cmp ax, 0x11
jne 0x4cde64
mov esi, dword [edx + 8]
sub ax, 0x11
mov dword [esp + 0x10], esi
neg ax
sbb eax, eax
mov edi, dword [esp + 0x10]
and eax, ecx
mov esi, eax
lea eax, [esi + esi*4]
lea eax, [esi + eax*2]
lea eax, [eax + eax*4]
lea edi, [edi + eax*2]
cmp word [edx + 0x2c], 0x11
jne 0x4cde94
xor eax, eax
mov ax, word [edx + 0xc]
jmp 0x4cde97
lea eax, [ecx + 1]
cmp esi, eax
jge 0x4cdf4d
xor eax, eax
mov ax, word [edi + 0x2c]
add eax, 0xfffffffd
cmp eax, 0xd
ja case.0x4cdeb9.7
xor edx, edx
mov dl, byte [eax + 0x4ce488]
jmp dword [edx*4 + 0x4ce474]
cmp dword [edi], ebx
je 0x4cdf6d
mov edx, dword [esp + 0x30]
inc esi
add edi, 0x6e
jmp 0x4cde85
cmp dword [edi], ebx
je 0x4cdfa5
mov edx, dword [esp + 0x30]
inc esi
add edi, 0x6e
jmp 0x4cde85
cmp dword [edi], ebx
je 0x4cdfda
mov edx, dword [esp + 0x30]
inc esi
add edi, 0x6e
jmp 0x4cde85
mov eax, dword [edi]
cmp eax, ebx
jg case.0x4cdeb9.7
xor edx, edx
mov dx, word [edi + 0xc]
add edx, eax
cmp edx, ebx
jle case.0x4cdeb9.7
mov eax, dword [esp + 0x18]
push eax
push ebp
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
xor edx, edx
mov ebx, eax
mov eax, dword [edi]
mov ecx, dword [esp + 0x18]
mov dx, word [edi + 0xc]
push ecx
lea ecx, [edx + eax - 1]
push ecx
push eax
push ebp
call dword [sym.imp.USER32.dll_CheckRadioButton]
test ebx, ebx
je 0x4ce053
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
inc esi
add edi, 0x6e
jmp 0x4cde85
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x4cde43
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x258
ret 0x14
push 0
push ebx
push ebp
call dword [sym.imp.USER32.dll_CheckDlgButton]
lea edx, [esi + esi*4]
push esi
lea eax, [esi + edx*2]
mov edx, dword [esp + 0x280]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
push eax
push 0
push ebp
push edx
call dword [eax + ecx*2 + 0x1c]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
dec eax
and eax, 1
push eax
push ecx
push ebp
call dword [sym.imp.USER32.dll_CheckDlgButton]
lea edx, [esi + esi*4]
mov ecx, dword [esp + 0x10]
lea esi, [esi + edx*2]
lea eax, [esi + esi*4]
mov dword [ecx + eax*2 + 0x24], 1
jmp 0x4ce078
mov eax, dword [esp + 0x274]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0xf0
push eax
push ebp
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 2
jne 0x4ce00a
push 0
push ebx
push ebp
call dword [sym.imp.USER32.dll_CheckDlgButton]
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi*4]
lea esi, [esi + ecx*2]
mov ecx, dword [esp + 0x27c]
lea edx, [esi + esi*4]
mov dword [eax + edx*2 + 0x24], 1
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x4ce09e
push 1
push ebp
call edi
push eax
push 1
push 0x111
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
mov ecx, dword [esp + 0x10]
lea edx, [esi + esi*4]
lea esi, [esi + edx*2]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x274]
mov dword [eax + 0x24], 1
sub cx, word [eax]
mov word [eax + 0x30], cx
mov edx, dword [esp + 0x27c]
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x4ce09e
push 1
push ebp
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push 1
push 0x111
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
xor ecx, ecx
test ebp, ebp
jle case.0x4cde1d.2
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + ecx*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
mov si, word [ebx + edx*2 + 0x2c]
lea ebp, [ebx + edx*2]
cmp si, 0x11
jne 0x4ce0d8
mov ebx, dword [ebp + 8]
mov ax, si
sub ax, 0x11
neg ax
sbb eax, eax
and eax, ecx
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
lea edx, [edx + edx*4]
lea edi, [ebx + edx*2]
cmp si, 0x11
jne 0x4ce100
xor edx, edx
mov dx, word [ebp + 0xc]
jmp 0x4ce103
lea edx, [ecx + 1]
cmp eax, edx
jge 0x4ce115
mov edx, dword [esp + 0x18]
cmp dword [edi], edx
je 0x4ce12d
inc eax
add edi, 0x6e
jmp 0x4ce0f2
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
jl 0x4ce0ba
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x258
ret 0x14
mov esi, dword [esp + 0x278]
lea ecx, [eax + eax*4]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
lea eax, [eax + ecx*2]
push 0
push 0x147
push esi
lea edx, [eax + eax*4]
mov dword [ebx + edx*2 + 0x24], 1
call edi
lea ecx, [esp + 0x168]
push ecx
push eax
push 0x148
push esi
call edi
lea edx, [esp + 0x168]
push edx
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [esp + 0x27c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4ce1c1
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x26
call esi
xor ecx, ecx
mov cl, ah
test cl, cl
jne 0x4ce1c1
push 0x28
call esi
xor edx, edx
mov dl, ah
test dl, dl
jne 0x4ce1c1
mov esi, dword [esp + 0x26c]
push 1
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push 0x10001
push 0x111
push esi
call edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x258
ret 0x14
cmp eax, 0x100
je case.0x4cde1d.3
cmp eax, 0x200
je case.0x4cde1d.3
cmp eax, 0x300
jne case.0x4cde1d.2
xor ecx, ecx
test ebp, ebp
jle case.0x4cde1d.2
lea eax, [ecx + ecx*4]
lea eax, [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x1c]
mov si, word [eax + edx*2 + 0x2c]
lea ebx, [eax + edx*2]
cmp si, 0x11
jne 0x4ce21e
mov ebp, dword [ebx + 8]
jmp 0x4ce222
mov ebp, dword [esp + 0x1c]
mov ax, si
sub ax, 0x11
neg ax
sbb eax, eax
and eax, ecx
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
lea edx, [edx + edx*4]
lea edi, [ebp + edx*2]
cmp si, 0x11
jne 0x4ce24b
xor edx, edx
mov dx, word [ebx + 0xc]
jmp 0x4ce24e
lea edx, [ecx + 1]
cmp eax, edx
jge 0x4ce260
mov edx, dword [esp + 0x18]
cmp dword [edi], edx
je 0x4ce278
inc eax
add edi, 0x6e
jmp 0x4ce23d
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
jl 0x4ce1fe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x258
ret 0x14
lea ecx, [eax + eax*4]
pop edi
pop esi
lea eax, [eax + ecx*2]
lea edx, [eax + eax*4]
mov eax, 1
mov dword [ebp + edx*2 + 0x24], eax
pop ebp
pop ebx
add esp, 0x258
ret 0x14
cmp cx, 4
je 0x4ce2a8
cmp cx, 0x200
je 0x4ce2a8
xor eax, eax
jmp 0x4ce2ad
mov eax, 1
push 0
push eax
mov eax, dword [esi + 4]
push 0x1e
push 2
push eax
call fcn.0042f060
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x258
ret 0x14