Function at 0x4071a0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov eax, 0x42bdc
mov ebp, esp
push edi
push esi
push ebx
call fcn.0040fe70
mov edi, dword [ebp + 8]
xor edx, edx
xor eax, eax
mov dword [ebp - 0x42ba8], eax
lea ecx, [ebp - 0x568]
mov esi, 0xff
mov dword [ebp - 0x42ba4], edx
mov dword [ebp - 0x42b74], edi
mov edi, dword [ebp + 0x10]
lea ebx, [edi + 0x3e8]
mov dword [ebp - 0x42b7c], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDlgItemTextA
mov edx, dword [ebp - 0x42b74]
sub esp, 0x10
mov eax, dword [edx + 0x524]
cmp eax, 1
je 0x407402
cmp eax, 2
je 0x40745d
lea eax, [ebp - 0x348]
lea esi, [ebp - 0x238]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
mov dword [esp + 4], edi
mov ebx, dword [ebp + 0xc]
mov edi, 0x104
mov dword [esp], ebx
mov ebx, 1
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 8], edi
lea edi, [ebp - 0x128]
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.USER32.dll_GetWindowTextA
sub esp, 0xc
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
lea ecx, [eax - 1]
sub esp, 4
test ecx, ecx
jg 0x407292
jmp 0x4072ac
dec ecx
xor ebx, ebx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
je 0x4072ac
cmp byte [ecx + edi], 0x20
jne 0x407280
mov byte [ecx + edi], 0
dec ecx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
jne 0x407292
xor esi, esi
cmp byte [edi], 0x20
jne 0x4072c7
lea esi, [esi]
lea edi, [edi]
inc esi
cmp byte [esi + edi], 0x20
je 0x4072c0
xor ebx, ebx
jmp 0x4072da
lea ecx, [edi + ebx]
inc ebx
movzx eax, byte [ecx + esi]
mov byte [ecx], al
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, ebx
jg 0x4072d0
movzx eax, byte [ebp - 0x128]
mov ecx, edi
test al, al
je 0x40732d
mov dl, al
nop
lea esi, [esi]
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
jbe 0x407320
mov al, dl
add al, 0x20
cmp al, 0x1f
ja 0x407325
lea esi, [esi]
lea edi, [edi]
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x407300
xor ebx, ebx
jmp 0x40734b
movzx ecx, byte [ebx + ebp - 0x128]
mov dl, cl
sar dl, 4
shl cl, 4
add cl, dl
mov byte [ebx + ebp - 0x128], cl
inc ebx
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, ebx
jg 0x407331
lea ecx, [ebp - 0x238]
lea eax, [ebp - 0x678]
mov dword [esp + 4], ecx
lea ebx, [ebp - 0x788]
mov dword [esp], eax
lea esi, [ebp - 0x678]
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, 3
jg 0x4074f2
lea edx, [ebp - 0x788]
mov dword [esp], edx
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
test eax, eax
jne 0x4075d4
mov edi, 0x412203
mov dword [esp + 4], edi
lea esi, [ebp - 0x458]
mov dword [esp], esi
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea edx, [ebp - 0x568]
lea edi, [ebp - 0x458]
mov dword [esp + 4], edi
mov dword [esp], edx
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
jne 0x40753c
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x42b74]
lea ebx, [edi - 0xfa1]
mov dword [ebp - 0x42b78], ebx
xor ebx, ebx
mov ecx, dword [esi + 0x6b34]
xor esi, esi
test ecx, ecx
jmp 0x40743b
mov esi, ecx
mov ecx, dword [ecx + 0x418]
inc ebx
test ecx, ecx
setne dl
cmp ebx, dword [ebp - 0x42b78]
setbe al
test al, dl
jne 0x407422
mov dword [ebp - 0x42b80], esi
lea ecx, [ebp - 0x238]
mov dword [esp + 4], esi
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
jmp 0x40721b
lea ebx, [edi - 0xf9f]
mov esi, dword [ebp - 0x42b74]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
mov ecx, dword [esi + 0x6b34]
sar ebx, 1
xor esi, esi
dec ebx
mov dword [ebp - 0x42b78], ebx
xor ebx, ebx
test ecx, ecx
jmp 0x4074a0
mov esi, ecx
mov ecx, dword [ecx + 0x418]
inc ebx
test ecx, ecx
setne dl
cmp ebx, dword [ebp - 0x42b78]
setbe al
test al, dl
jne 0x407487
mov dword [ebp - 0x42b80], esi
mov eax, edi
mov ecx, edi
shr eax, 0x1f
lea ebx, [edi + eax]
and ebx, 0xfffffffe
sub ecx, ebx
mov eax, ecx
je 0x4074d4
dec eax
jne 0x40721b
mov dword [esp + 4], esi
lea esi, [ebp - 0x238]
mov dword [esp], esi
jmp 0x407450
mov ecx, dword [ebp - 0x42b80]
lea edx, [ebp - 0x238]
mov dword [esp], edx
add ecx, 0x104
mov dword [esp + 4], ecx
jmp 0x407450
lea ebx, [ebp - 0x788]
mov dword [esp], ebx
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
test eax, eax
jne 0x4075ff
mov byte [ebp - 0x458], 0x3f
lea edx, [ebp - 0x568]
lea edi, [ebp - 0x458]
mov byte [ebp - 0x457], 0
mov dword [esp + 4], edi
mov dword [esp], edx
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
je 0x4073fa
lea edx, [ebp - 0x458]
mov ebx, 0x411024
mov dword [esp + 8], edx
mov esi, dword [ebp - 0x42b7c]
mov dword [esp + 4], esi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_SetDlgItemTextA
sub esp, 0xc
lea ecx, [ebp - 0x458]
mov dword [esp + 4], ebx
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
je 0x407861
mov edi, dword [ebp - 0x42b74]
mov ecx, dword [edi + 0x66a8]
cmp ecx, 5
setne al
cmp ecx, 7
setne bl
test bl, al
jne 0x407d64
mov eax, dword [ebp - 0x42b74]
xor edi, edi
mov dword [eax + 0x66bc], edi
cmp ecx, 4
je 0x407a81
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x42b74]
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00406fb0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
lea esi, [ebp - 0x238]
mov dword [esp + 4], esi
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
jne 0x407a73
mov esi, 0x411024
mov dword [esp + 4], esi
jmp 0x4073c6
lea edx, [ebp - 0x678]
mov dword [esp], edx
call sub.KERNEL32.dll_lstrlenA
mov dword [ebp - 0x42b8c], eax
sub esp, 4
lea ecx, [ebp - 0x788]
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrlenA
mov dword [ebp - 0x42b88], eax
mov edi, eax
mov eax, dword [ebp - 0x42b8c]
sub esp, 4
test eax, eax
je 0x40764d
mov eax, dword [ebp - 0x42b8c]
test edi, edi
mov dword [ebp - 0x42b88], eax
jne 0x407c73
mov ecx, dword [ebp - 0x42b88]
test ecx, ecx
je 0x4075f1
lea edx, [ebp - 0x678]
lea ebx, [ebp - 0x898]
mov dword [esp + 4], edx
lea edi, [ebp - 0x788]
mov dword [esp], ebx
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
mov dword [esp + 4], edi
lea edi, [ebp - 0x9a8]
mov dword [esp], edi
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea eax, [ebp - 0x898]
mov dword [esp], eax
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
dec eax
xor esi, esi
xor edx, edx
cmp esi, eax
jge 0x4076df
mov esi, esi
lea edi, [edi]
movzx ecx, byte [edx + ebp - 0x898]
movzx ebx, byte [ebp + edx - 0x897]
cmp cl, bl
jle 0x4076d7
mov byte [ebp + edx - 0x897], cl
mov esi, 1
mov byte [edx + ebp - 0x898], bl
inc edx
cmp edx, eax
jl 0x4076b0
dec esi
je 0x40769f
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
dec eax
xor esi, esi
xor edx, edx
cmp esi, eax
jge 0x407721
lea esi, [esi]
lea edi, [edi]
movzx ecx, byte [edx + edi]
movzx ebx, byte [edi + edx + 1]
cmp cl, bl
jle 0x407719
mov byte [edi + edx + 1], cl
mov esi, 1
mov byte [edx + edi], bl
inc edx
cmp edx, eax
jl 0x407700
dec esi
je 0x4076eb
lea esi, [ebp - 0x898]
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
mov dword [ebp - 0x42b90], eax
sub esp, 4
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
mov dword [ebp - 0x42b94], eax
mov ecx, dword [ebp - 0x42b90]
sub esp, 4
test ecx, ecx
jne 0x407b69
test eax, eax
je 0x407fdb
cmp dword [ebp - 0x42b88], 1
je 0x4080f8
cmp dword [ebp - 0x42b88], 2
je 0x408103
lea ebx, [ebp - 0x678]
lea esi, [ebp - 0x788]
mov dword [esp], ebx
lea edi, [ebp - 0x458]
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
mov ebx, eax
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
fld dword [0x412254]
sub esp, 4
mov ecx, 0x412205
push eax
mov esi, eax
fild dword [esp]
fmul st(1), st(0)
fstp dword [ebp - 0x42b98]
mov dword [esp], ebx
fild dword [esp]
add esp, 4
fdiv st(1), st(0)
fstp dword [ebp - 0x42b9c]
fstp dword [ebp - 0x42bbc]
mov dword [esp + 4], ecx
mov dword [esp], edi
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea edx, [ebp - 0x788]
mov edi, dword [ebp - 0x42b74]
mov dword [esp + 0xc], edx
lea eax, [ebp - 0x678]
mov dword [esp + 8], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00405e60
cmp eax, 0xfffffffe
je 0x40804a
cmp eax, 2
je 0x4080b8
cmp esi, ebx
jge 0x408098
mov ecx, dword [ebp - 0x42b88]
sub ebx, ecx
push ebx
fild dword [esp]
add esp, 4
fmul dword [0x412254]
fdiv dword [ebp - 0x42b9c]
fld dword [0x412260]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x407a73
mov eax, str.y_a_de_lid
mov dword [esp + 4], eax
jmp 0x4073c6
mov esi, dword [ebp - 0x42b74]
xor ecx, ecx
mov edi, 1
mov dword [ebp - 0x42b84], ecx
mov eax, dword [esi + 0x524]
cmp eax, 1
jl 0x407a3c
cmp edi, 1
je 0x407a59
mov esi, dword [ebp - 0x42b80]
lea eax, [ebp - 0x42b38]
mov dword [esp], eax
add esi, 0x104
mov dword [esp + 4], esi
call sub.KERNEL32.dll_lstrcpyA
mov edx, dword [ebp - 0x42b74]
sub esp, 8
mov ebx, dword [ebp - 0x42b78]
mov ecx, dword [edx + 0x524]
imul ebx, ecx
lea esi, [ebx + edi + 0xfa0]
mov dword [esp + 4], esi
mov ebx, 0x104
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDlgItem
sub esp, 8
lea edx, [ebp - 0x458]
mov dword [esp + 8], ebx
mov ebx, 1
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.USER32.dll_GetWindowTextA
sub esp, 0xc
lea ecx, [ebp - 0x458]
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrlenA
lea ecx, [eax - 1]
sub esp, 4
test ecx, ecx
jg 0x40792a
jmp 0x40794d
dec ecx
xor ebx, ebx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
je 0x40794d
cmp byte [ecx + ebp - 0x458], 0x20
jne 0x407918
xor eax, eax
mov byte [ecx + ebp - 0x458], al
dec ecx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
jne 0x40792a
xor esi, esi
cmp byte [ebp - 0x458], 0x20
jne 0x40796b
nop
lea esi, [esi]
inc esi
cmp byte [esi + ebp - 0x458], 0x20
je 0x407960
xor ebx, ebx
jmp 0x40797f
lea ecx, [ebp - 0x458]
add ecx, ebx
inc ebx
movzx eax, byte [ecx + esi]
mov byte [ecx], al
lea edx, [ebp - 0x458]
mov dword [esp], edx
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, ebx
jg 0x407970
movzx eax, byte [ebp - 0x458]
lea ecx, [ebp - 0x458]
test al, al
je 0x4079cf
mov dl, al
mov esi, esi
lea edi, [edi]
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
jbe 0x4079c2
mov al, dl
add al, 0x20
cmp al, 0x1f
ja 0x4079c7
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x4079b0
xor ebx, ebx
jmp 0x4079ed
movzx ecx, byte [ebx + ebp - 0x458]
mov dl, cl
sar dl, 4
shl cl, 4
add cl, dl
mov byte [ebx + ebp - 0x458], cl
inc ebx
lea esi, [ebp - 0x458]
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, ebx
jg 0x4079d3
lea ecx, [ebp - 0x458]
lea eax, [ebp - 0x42b38]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.KERNEL32.dll_lstrcmpA
mov ebx, dword [ebp - 0x42b74]
sub esp, 8
cmp eax, 1
adc dword [ebp - 0x42b84], 0
mov eax, dword [ebx + 0x524]
inc edi
cmp eax, edi
jge 0x407883
cmp eax, dword [ebp - 0x42b84]
je 0x407da4
mov esi, dword [ebp - 0x42b74]
mov ecx, dword [esi + 0x66a8]
jmp 0x4075ae
mov ebx, dword [ebp - 0x42b80]
lea edx, [ebp - 0x42b38]
mov dword [esp], edx
mov dword [esp + 4], ebx
jmp 0x4078a5
fstp st(0)
mov eax, 0x41102a
mov dword [esp + 4], eax
jmp 0x4073c6
mov edx, dword [ebp - 0x42b74]
mov ecx, dword [edx + 0x66bc]
test ecx, ecx
jne 0x4075b7
mov edx, dword [edx + 0x520]
xor esi, esi
mov ebx, 1
cmp edx, 1
jl 0x407afd
lea edi, [ebp - 0x42b38]
mov dword [esp + 8], edi
mov edx, 0x104
lea eax, [ebx + 0x1388]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
call sub.USER32.dll_GetDlgItemTextA
sub esp, 0x10
mov edx, 0x411024
mov dword [esp + 4], edx
mov dword [esp], edi
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
cmp eax, 1
mov eax, dword [ebp - 0x42b74]
adc esi, 0
inc ebx
mov edx, dword [eax + 0x520]
cmp edx, ebx
jge 0x407aad
mov ecx, dword [ebp - 0x42b74]
mov edi, edx
mov ebx, dword [ecx + 0x524]
imul edi, ebx
cmp edi, esi
jne 0x4075b7
mov esi, 1
mov ebx, 1
dec edx
mov dword [ecx + 0x66bc], esi
jmp 0x407b62
lea edi, [ebx + 0x1f40]
inc ebx
mov dword [esp + 4], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
mov ecx, dword [ebp - 0x42b74]
sub esp, 8
cmp dword [ecx + 0x520], ebx
jge 0x407b29
jmp 0x4075b7
mov ebx, dword [ebp - 0x42b94]
mov eax, dword [ebp - 0x42b90]
test ebx, ebx
je 0x407757
xor edx, edx
cmp edx, eax
jg 0x407b99
lea eax, [ebp - 0x42a28]
mov dword [eax], edx
inc edx
add eax, 0x410
cmp edx, dword [ebp - 0x42b90]
jle 0x407b89
xor eax, eax
jmp 0x407ba5
mov dword [ebp + eax*4 - 0x42a28], eax
inc eax
cmp eax, dword [ebp - 0x42b94]
jle 0x407b9d
mov edx, 1
mov eax, dword [ebp - 0x42b90]
mov dword [ebp - 0x42bb8], edx
cmp dword [ebp - 0x42bb8], eax
jg 0x407c4d
mov ecx, 0x104
mov dword [ebp - 0x42bac], ecx
mov esi, 1
jmp 0x407c27
movzx eax, byte [edi + esi - 1]
mov edx, dword [ebp - 0x42bb8]
cmp byte [ebp + edx - 0x899], al
mov edx, dword [ebp - 0x42bac]
setne bl
add edx, esi
movzx ecx, bl
mov eax, dword [ebp + edx*4 - 0x42e38]
add ecx, dword [ebp + edx*4 - 0x42e3c]
mov ebx, dword [ebp + edx*4 - 0x42a2c]
inc eax
inc ebx
cmp eax, ebx
jl 0x407c19
mov eax, ebx
cmp eax, ecx
jl 0x407c1f
mov eax, ecx
mov dword [ebp + edx*4 - 0x42a28], eax
inc esi
cmp esi, dword [ebp - 0x42b94]
jle 0x407bdc
inc dword [ebp - 0x42bb8]
mov esi, dword [ebp - 0x42b90]
add dword [ebp - 0x42bac], 0x104
cmp dword [ebp - 0x42bb8], esi
jle 0x407bd5
mov ecx, dword [ebp - 0x42b90]
mov eax, dword [ebp - 0x42b90]
mov ebx, dword [ebp - 0x42b94]
shl ecx, 6
add ecx, eax
lea edi, [ebx + ecx*4]
mov eax, dword [ebp + edi*4 - 0x42a28]
jmp 0x407757
xor edx, edx
cmp edx, eax
jg 0x407c8f
lea eax, [ebp - 0x42a28]
mov dword [eax], edx
inc edx
add eax, 0x410
cmp edx, dword [ebp - 0x42b8c]
jle 0x407c7f
xor eax, eax
jmp 0x407c9b
mov dword [ebp + eax*4 - 0x42a28], eax
inc eax
cmp eax, edi
jle 0x407c93
mov ebx, 1
mov esi, dword [ebp - 0x42b8c]
mov dword [ebp - 0x42bb4], ebx
cmp dword [ebp - 0x42bb4], esi
jg 0x407d3e
mov eax, 0x104
mov dword [ebp - 0x42bb0], eax
mov esi, 1
jmp 0x407d1c
movzx ebx, byte [ebp + esi - 0x789]
mov ecx, dword [ebp - 0x42bb4]
cmp byte [ebp + ecx - 0x679], bl
setne dl
movzx ecx, dl
mov edx, dword [ebp - 0x42bb0]
add edx, esi
mov eax, dword [ebp + edx*4 - 0x42e38]
add ecx, dword [ebp + edx*4 - 0x42e3c]
mov ebx, dword [ebp + edx*4 - 0x42a2c]
inc eax
inc ebx
cmp eax, ebx
jl 0x407d0e
mov eax, ebx
cmp eax, ecx
jl 0x407d14
mov eax, ecx
mov dword [ebp + edx*4 - 0x42a28], eax
inc esi
cmp esi, edi
jle 0x407cce
inc dword [ebp - 0x42bb4]
mov esi, dword [ebp - 0x42b8c]
add dword [ebp - 0x42bb0], 0x104
cmp dword [ebp - 0x42bb4], esi
jle 0x407cc7
mov ebx, dword [ebp - 0x42b8c]
mov edx, dword [ebp - 0x42b8c]
shl ebx, 6
add ebx, edx
lea eax, [edi + ebx*4]
mov edi, dword [ebp + eax*4 - 0x42a28]
mov dword [ebp - 0x42b88], edi
jmp 0x40764d
mov ebx, dword [ebp - 0x42b78]
add ebx, 0x1f41
mov dword [esp + 4], ebx
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.USER32.dll_GetDlgItem
sub esp, 8
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
mov esi, dword [ebp - 0x42b74]
sub esp, 8
mov ecx, dword [esi + 0x66a8]
jmp 0x4075a0
mov edx, dword [ebp - 0x42b74]
xor ebx, ebx
xor esi, esi
mov edi, dword [edx + 0x6b34]
mov ecx, edi
test edi, edi
jmp 0x407dd3
mov esi, ecx
mov ecx, dword [ecx + 0x418]
inc ebx
test ecx, ecx
setne dl
cmp ebx, dword [ebp - 0x42b78]
setbe al
test al, dl
jne 0x407dba
mov ebx, 1
mov dword [esi + 0x410], ebx
mov esi, dword [ebp - 0x42b74]
mov ecx, dword [esi + 0x66a8]
cmp ecx, 2
je 0x408111
jg 0x407fe9
cmp ecx, 1
jne 0x4075ae
mov ecx, dword [ebp - 0x42b78]
mov esi, 0x55555556
dec ecx
mov eax, ecx
mov edi, ecx
sar edi, 0x1f
imul esi
mov eax, dword [ebp - 0x42b74]
mov esi, 0x104
sub edx, edi
mov ebx, dword [eax + edx*4 + 0x66c4]
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
mov ecx, 0x412214
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov edi, dword [ebp - 0x42b78]
mov dword [esp], eax
add edi, 0x28a1
mov dword [esp + 4], edi
call fcn.00409bc0
test eax, eax
mov edi, eax
je 0x407fca
mov dword [esp], eax
mov edx, 0x18
lea ecx, [ebp - 0x42b58]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sub.GDI32.dll_GetObjectA
mov esi, dword [ebp - 0x42b54]
sub esp, 0xc
mov eax, dword [ebp - 0x42b78]
mov dword [ebp - 0x42ba8], esi
mov esi, dword [ebp - 0x42b50]
add eax, 0x26ad
mov dword [ebp - 0x42ba4], esi
mov dword [esp + 4], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp], ebx
call sub.USER32.dll_GetDlgItem
sub esp, 8
lea ecx, [ebp - 0x42b68]
mov ebx, eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.USER32.dll_GetWindowRect
mov edx, dword [ebp - 0x42b68]
sub esp, 8
lea ecx, [ebp - 0x42b70]
mov eax, dword [ebp - 0x42b64]
mov dword [ebp - 0x42b70], edx
mov dword [ebp - 0x42b6c], eax
mov dword [esp + 4], ecx
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.USER32.dll_ScreenToClient
mov eax, dword [ebp - 0x42b68]
sub esp, 8
mov edx, dword [ebp - 0x42b60]
mov ecx, dword [ebp - 0x42b64]
sub edx, eax
mov eax, dword [ebp - 0x42b5c]
sub eax, ecx
mov ecx, dword [ebp - 0x42ba8]
sub edx, ecx
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [ebp - 0x42b70]
sar edx, 1
add edx, ecx
mov ecx, dword [ebp - 0x42ba4]
sub eax, ecx
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
mov ecx, dword [ebp - 0x42b6c]
mov dword [esp + 0x10], esi
sar eax, 1
xor esi, esi
add eax, ecx
mov ecx, 1
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0x42ba8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
call sub.USER32.dll_MoveWindow
sub esp, 0x18
mov ecx, 0x173
xor eax, eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp], ebx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [esp], eax
call sub.GDI32.dll_DeleteObject
sub esp, 4
mov edx, 0x172
mov dword [esp + 0xc], edi
xor edi, edi
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov edx, dword [ebp - 0x42b74]
mov ecx, dword [edx + 0x66a8]
jmp 0x4075ae
mov eax, str.Anagramme
mov dword [esp + 4], eax
jmp 0x4073c6
cmp ecx, 3
je 0x408155
cmp ecx, 7
jne 0x4075ae
xor esi, esi
xor ebx, ebx
mov ecx, edi
test edi, edi
jmp 0x40801e
mov ebx, ecx
mov ecx, dword [ecx + 0x418]
inc esi
test ecx, ecx
setne dl
cmp esi, dword [ebp - 0x42b78]
setbe al
test al, dl
jne 0x408005
lea esi, [ebx + 0x30c]
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x42b78]
add ecx, 0x1f41
mov dword [esp + 4], ecx
mov edi, dword [ebp + 0xc]
mov dword [esp], edi
call sub.USER32.dll_SetDlgItemTextA
sub esp, 0xc
jmp 0x407fca
cmp ebx, 9
jle 0x408147
fld dword [0x412260]
fld dword [ebp - 0x42bbc]
fucompp
fnstsw ax
sahf
ja 0x40818c
fld dword [0x412264]
fld dword [ebp - 0x42bbc]
fucompp
fnstsw ax
sahf
jbe 0x407a73
mov edi, str.Pas_loin
mov dword [esp + 4], edi
lea ebx, [ebp - 0x458]
mov dword [esp], ebx
jmp 0x4073cf
mov ebx, dword [ebp - 0x42b88]
sub esi, ebx
push esi
fild dword [esp]
add esp, 4
fmul dword [0x412254]
fdiv dword [ebp - 0x42b98]
jmp 0x407840
fld dword [0x412258]
mov eax, esi
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
push eax
fild dword [esp]
add esp, 4
fucom st(1)
fnstsw ax
fstp st(1)
sahf
ja 0x407a71
fld dword [0x41225c]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x40819a
mov edi, str.Pas_loin
jmp 0x4073c2
mov edx, str.Quasiment
mov dword [esp + 4], edx
jmp 0x40808a
mov eax, str.Presque
mov dword [esp + 4], eax
jmp 0x4073c6
mov eax, dword [ebp - 0x42b78]
mov edi, 1
add eax, 0x1f41
mov dword [esp + 4], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp], ebx
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
sub esp, 8
jmp 0x407fca
mov esi, 0x41102a
mov dword [esp + 4], esi
jmp 0x40808a
mov edx, dword [ebp - 0x42b78]
mov ebx, 1
add edx, 0x1f41
mov dword [esp + 4], edx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
sub esp, 8
jmp 0x407e04
mov edx, str.Trop_court
mov dword [esp + 4], edx
jmp 0x40808a
mov ecx, str.Trop_long
mov dword [esp + 4], ecx
jmp 0x4073c6