Function at 0x407050
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov eax, 0x42bdc
mov ebp, esp
push edi
push esi
push ebx
call fcn.0040ff60
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 0x4072e1
cmp eax, 2
je 0x40733c
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 0x407142
jmp 0x40715c
dec ecx
xor ebx, ebx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
je 0x40715c
cmp byte [ecx + edi], 0x20
jne 0x407130
mov byte [ecx + edi], 0
dec ecx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
jne 0x407142
xor esi, esi
cmp byte [edi], 0x20
jne 0x407177
lea esi, [esi]
lea edi, [edi]
inc esi
cmp byte [esi + edi], 0x20
je 0x407170
xor ebx, ebx
jmp 0x40718a
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 0x407180
movzx eax, byte [ebp - 0x128]
mov ecx, edi
test al, al
je 0x4071d7
mov dl, al
jmp 0x4071c0
mov al, dl
add al, 0x20
cmp al, 0x1f
jbe 0x4071ca
inc ecx
movzx edx, byte [ecx]
test dl, dl
je 0x4071d7
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x4071b0
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x4071c0
movzx eax, byte [ebp - 0x238]
lea ecx, [ebp - 0x238]
test al, al
je 0x407217
mov dl, al
jmp 0x407200
mov al, dl
add al, 0x20
cmp al, 0x1f
jbe 0x40720a
inc ecx
movzx edx, byte [ecx]
test dl, dl
je 0x407217
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x4071f0
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x407200
lea ecx, [ebp - 0x678]
lea ebx, [ebp - 0x238]
mov dword [esp], ecx
lea esi, [ebp - 0x678]
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea edx, [ebp - 0x788]
mov dword [esp], edx
mov dword [esp + 4], edi
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
cmp eax, 3
jg 0x4073e1
lea eax, [ebp - 0x788]
mov ebx, 0x4121e3
mov dword [esp], eax
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
test eax, eax
je 0x4073d8
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 0x4073d3
mov esi, 0x411024
mov dword [esp + 4], esi
lea ecx, [ebp - 0x458]
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea ebx, [ebp - 0x458]
lea esi, [ebp - 0x568]
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
jne 0x40742b
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 + 0x6b2c]
xor esi, esi
test ecx, ecx
jmp 0x40731a
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 0x407301
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 0x4070cb
lea ebx, [edi - 0xf9f]
mov esi, dword [ebp - 0x42b74]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
mov ecx, dword [esi + 0x6b2c]
sar ebx, 1
xor esi, esi
dec ebx
mov dword [ebp - 0x42b78], ebx
xor ebx, ebx
test ecx, ecx
jmp 0x40737f
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 0x407366
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 0x4073b3
dec eax
jne 0x4070cb
mov dword [esp + 4], esi
lea esi, [ebp - 0x238]
mov dword [esp], esi
jmp 0x40732f
mov ecx, dword [ebp - 0x42b80]
lea edx, [ebp - 0x238]
mov dword [esp], edx
add ecx, 0x104
mov dword [esp + 4], ecx
jmp 0x40732f
fstp st(0)
mov ebx, 0x41102a
mov dword [esp + 4], ebx
jmp 0x4072a5
lea edi, [ebp - 0x788]
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
test eax, eax
jne 0x407716
mov byte [ebp - 0x458], 0x3f
lea ebx, [ebp - 0x458]
lea esi, [ebp - 0x568]
mov byte [ebp - 0x457], 0
mov dword [esp + 4], ebx
mov dword [esp], esi
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
je 0x4072d9
lea esi, [ebp - 0x458]
mov edi, 0x411024
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x42b7c]
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_SetDlgItemTextA
sub esp, 0xc
lea edx, [ebp - 0x458]
mov dword [esp + 4], edi
mov dword [esp], edx
call sub.KERNEL32.dll_lstrcmpA
sub esp, 8
test eax, eax
je 0x4074ef
mov ebx, dword [ebp - 0x42b74]
mov eax, dword [ebx + 0x66a8]
cmp eax, 5
je 0x4074bb
mov ecx, dword [ebp - 0x42b78]
xor edi, edi
add ecx, 0x1f41
mov dword [esp + 4], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
mov edx, dword [ebp - 0x42b74]
sub esp, 8
mov eax, dword [edx + 0x66a8]
mov esi, dword [ebp - 0x42b74]
xor ebx, ebx
mov dword [esi + 0x66bc], ebx
cmp eax, 4
je 0x40797d
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x42b74]
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00406e60
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x42b74]
xor edi, edi
mov dword [ebp - 0x42b84], edi
mov edi, 1
mov eax, dword [edx + 0x524]
cmp eax, 1
jl 0x4076e1
cmp edi, 1
je 0x4076fe
mov ebx, dword [ebp - 0x42b80]
lea esi, [ebp - 0x42b38]
mov dword [esp], esi
add ebx, 0x104
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_lstrcpyA
mov ecx, dword [ebp - 0x42b74]
sub esp, 8
mov edx, dword [ebp - 0x42b78]
mov esi, dword [ecx + 0x524]
imul edx, esi
mov esi, 0x104
lea ebx, [edx + edi + 0xfa0]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0xc]
mov ebx, 1
mov dword [esp], eax
call sub.USER32.dll_GetDlgItem
sub esp, 8
lea ecx, [ebp - 0x458]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.USER32.dll_GetWindowTextA
sub esp, 0xc
lea edx, [ebp - 0x458]
mov dword [esp], edx
call sub.KERNEL32.dll_lstrlenA
lea ecx, [eax - 1]
sub esp, 4
test ecx, ecx
jg 0x4075b8
jmp 0x4075db
dec ecx
xor ebx, ebx
test ecx, ecx
setg dl
cmp ebx, 1
sete al
test al, dl
je 0x4075db
cmp byte [ecx + ebp - 0x458], 0x20
jne 0x4075a6
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 0x4075b8
xor esi, esi
cmp byte [ebp - 0x458], 0x20
jne 0x4075fb
lea esi, [esi]
lea edi, [edi]
inc esi
cmp byte [esi + ebp - 0x458], 0x20
je 0x4075f0
xor ebx, ebx
jmp 0x40760f
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 0x407600
movzx eax, byte [ebp - 0x42b38]
lea ecx, [ebp - 0x42b38]
test al, al
je 0x407667
mov dl, al
jmp 0x407650
mov al, dl
add al, 0x20
cmp al, 0x1f
jbe 0x40765a
inc ecx
movzx edx, byte [ecx]
test dl, dl
je 0x407667
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x407640
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x407650
movzx eax, byte [ebp - 0x458]
lea ecx, [ebp - 0x458]
test al, al
je 0x4076a7
mov dl, al
jmp 0x407690
mov al, dl
add al, 0x20
cmp al, 0x1f
jbe 0x40769a
inc ecx
movzx edx, byte [ecx]
test dl, dl
je 0x4076a7
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x407680
sub dl, 0x20
mov byte [ecx], dl
inc ecx
movzx edx, byte [ecx]
test dl, dl
jne 0x407690
lea edx, [ebp - 0x458]
lea ecx, [ebp - 0x42b38]
mov dword [esp + 4], edx
mov dword [esp], ecx
call sub.KERNEL32.dll_lstrcmpA
mov esi, dword [ebp - 0x42b74]
sub esp, 8
cmp eax, 1
adc dword [ebp - 0x42b84], 0
mov eax, dword [esi + 0x524]
inc edi
cmp eax, edi
jge 0x407511
cmp eax, dword [ebp - 0x42b84]
je 0x407c60
mov esi, dword [ebp - 0x42b74]
mov eax, dword [esi + 0x66a8]
jmp 0x4074c9
mov ecx, dword [ebp - 0x42b80]
lea eax, [ebp - 0x42b38]
mov dword [esp], eax
mov dword [esp + 4], ecx
jmp 0x407533
lea ebx, [ebp - 0x678]
mov dword [esp], ebx
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 edx, dword [ebp - 0x42b8c]
sub esp, 4
mov edi, eax
test edx, edx
je 0x407764
mov eax, dword [ebp - 0x42b8c]
test edi, edi
mov dword [ebp - 0x42b88], eax
jne 0x407b6f
mov ecx, dword [ebp - 0x42b88]
test ecx, ecx
je 0x40729c
lea edx, [ebp - 0x898]
lea ebx, [ebp - 0x678]
mov dword [esp], edx
lea edi, [ebp - 0x788]
mov dword [esp + 4], ebx
lea esi, [ebp - 0x898]
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
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
dec eax
xor esi, esi
xor edx, edx
cmp esi, eax
jge 0x4077ff
lea esi, [esi]
lea edi, [edi]
movzx ecx, byte [edx + ebp - 0x898]
movzx ebx, byte [ebp + edx - 0x897]
cmp cl, bl
jle 0x4077f7
mov byte [ebp + edx - 0x897], cl
mov esi, 1
mov byte [edx + ebp - 0x898], bl
inc edx
cmp edx, eax
jl 0x4077d0
dec esi
je 0x4077ba
mov dword [esp], edi
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
dec eax
xor esi, esi
xor edx, edx
cmp esi, eax
jge 0x407841
lea esi, [esi]
lea edi, [edi]
movzx ecx, byte [edx + edi]
movzx ebx, byte [edi + edx + 1]
cmp cl, bl
jle 0x407839
mov byte [edi + edx + 1], cl
mov esi, 1
mov byte [edx + edi], bl
inc edx
cmp edx, eax
jl 0x407820
dec esi
je 0x40780b
lea eax, [ebp - 0x898]
mov dword [esp], eax
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 0x407a65
test eax, eax
je 0x407e95
cmp dword [ebp - 0x42b88], 1
je 0x407f90
cmp dword [ebp - 0x42b88], 2
je 0x407f9b
lea ebx, [ebp - 0x678]
lea esi, [ebp - 0x788]
mov dword [esp], ebx
lea edi, [ebp - 0x678]
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
mov ebx, eax
mov dword [esp], esi
call sub.KERNEL32.dll_lstrlenA
fld dword [0x412234]
sub esp, 4
mov edx, 0x4121e5
push eax
mov esi, eax
lea eax, [ebp - 0x458]
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], edx
mov dword [esp], eax
call sub.KERNEL32.dll_lstrcpyA
sub esp, 8
lea ecx, [ebp - 0x788]
mov eax, dword [ebp - 0x42b74]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov edx, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00405d90
cmp eax, 0xfffffffe
je 0x407ee2
cmp eax, 2
je 0x407f50
cmp esi, ebx
jge 0x407f30
mov edx, dword [ebp - 0x42b88]
sub ebx, edx
push ebx
fild dword [esp]
add esp, 4
fmul dword [0x412234]
fdiv dword [ebp - 0x42b9c]
fld dword [0x412240]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x4073d3
mov esi, str.y_a_de_lid
jmp 0x4072a1
mov ecx, dword [ebp - 0x42b74]
mov edi, dword [ecx + 0x66bc]
test edi, edi
jne 0x4074d2
mov edx, dword [ecx + 0x520]
xor esi, esi
mov ebx, 1
cmp edx, 1
jl 0x4079f9
lea edi, [ebp - 0x42b38]
mov dword [esp + 8], edi
lea ecx, [ebx + 0x1388]
mov eax, 0x104
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.USER32.dll_GetDlgItemTextA
sub esp, 0x10
mov eax, 0x411024
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_lstrcmpA
mov ecx, dword [ebp - 0x42b74]
sub esp, 8
cmp eax, 1
adc esi, 0
mov edx, dword [ecx + 0x520]
inc ebx
cmp edx, ebx
jge 0x4079a9
mov ecx, dword [ebp - 0x42b74]
mov edi, edx
mov ebx, dword [ecx + 0x524]
imul edi, ebx
cmp edi, esi
jne 0x4074d2
mov esi, 1
mov ebx, 1
dec edx
mov dword [ecx + 0x66bc], esi
jmp 0x407a5e
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 ecx, 1
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
mov edx, dword [ebp - 0x42b74]
sub esp, 8
cmp dword [edx + 0x520], ebx
jge 0x407a25
jmp 0x4074d2
mov esi, dword [ebp - 0x42b94]
mov eax, dword [ebp - 0x42b90]
test esi, esi
je 0x407877
xor edx, edx
cmp edx, eax
jg 0x407a95
lea eax, [ebp - 0x42a28]
mov dword [eax], edx
inc edx
add eax, 0x410
cmp edx, dword [ebp - 0x42b90]
jle 0x407a85
xor eax, eax
jmp 0x407aa1
mov dword [ebp + eax*4 - 0x42a28], eax
inc eax
cmp eax, dword [ebp - 0x42b94]
jle 0x407a99
mov ebx, 1
mov edx, dword [ebp - 0x42b90]
mov dword [ebp - 0x42bb8], ebx
cmp dword [ebp - 0x42bb8], edx
jg 0x407b49
mov ecx, 0x104
mov dword [ebp - 0x42bac], ecx
mov esi, 1
jmp 0x407b23
movzx edx, byte [edi + esi - 1]
mov ebx, dword [ebp - 0x42bb8]
cmp byte [ebp + ebx - 0x899], dl
mov edx, dword [ebp - 0x42bac]
setne al
add edx, esi
movzx ecx, al
mov ebx, dword [ebp + edx*4 - 0x42a2c]
add ecx, dword [ebp + edx*4 - 0x42e3c]
mov eax, dword [ebp + edx*4 - 0x42e38]
inc ebx
inc eax
cmp eax, ebx
jl 0x407b15
mov eax, ebx
cmp eax, ecx
jl 0x407b1b
mov eax, ecx
mov dword [ebp + edx*4 - 0x42a28], eax
inc esi
cmp esi, dword [ebp - 0x42b94]
jle 0x407ad8
inc dword [ebp - 0x42bb8]
mov esi, dword [ebp - 0x42b90]
add dword [ebp - 0x42bac], 0x104
cmp dword [ebp - 0x42bb8], esi
jle 0x407ad1
mov ecx, dword [ebp - 0x42b90]
mov edx, dword [ebp - 0x42b90]
mov eax, dword [ebp - 0x42b94]
shl ecx, 6
add ecx, edx
lea edi, [eax + ecx*4]
mov eax, dword [ebp + edi*4 - 0x42a28]
jmp 0x407877
xor edx, edx
cmp edx, eax
jg 0x407b8b
lea eax, [ebp - 0x42a28]
mov dword [eax], edx
inc edx
add eax, 0x410
cmp edx, dword [ebp - 0x42b8c]
jle 0x407b7b
xor eax, eax
jmp 0x407b97
mov dword [ebp + eax*4 - 0x42a28], eax
inc eax
cmp eax, edi
jle 0x407b8f
mov esi, 1
mov eax, dword [ebp - 0x42b8c]
mov dword [ebp - 0x42bb4], esi
cmp dword [ebp - 0x42bb4], eax
jg 0x407c3a
mov edx, 0x104
mov dword [ebp - 0x42bb0], edx
mov esi, 1
jmp 0x407c18
movzx eax, byte [ebp + esi - 0x789]
mov ecx, dword [ebp - 0x42bb4]
mov edx, dword [ebp - 0x42bb0]
cmp byte [ebp + ecx - 0x679], al
setne bl
add edx, esi
movzx ecx, bl
mov eax, dword [ebp + edx*4 - 0x42e38]
mov ebx, dword [ebp + edx*4 - 0x42a2c]
add ecx, dword [ebp + edx*4 - 0x42e3c]
inc eax
inc ebx
cmp eax, ebx
jl 0x407c0a
mov eax, ebx
cmp eax, ecx
jl 0x407c10
mov eax, ecx
mov dword [ebp + edx*4 - 0x42a28], eax
inc esi
cmp esi, edi
jle 0x407bca
inc dword [ebp - 0x42bb4]
mov esi, dword [ebp - 0x42b8c]
add dword [ebp - 0x42bb0], 0x104
cmp dword [ebp - 0x42bb4], esi
jle 0x407bc3
mov ebx, dword [ebp - 0x42b8c]
mov eax, dword [ebp - 0x42b8c]
shl ebx, 6
add ebx, eax
lea edx, [edi + ebx*4]
mov edi, dword [ebp + edx*4 - 0x42a28]
mov dword [ebp - 0x42b88], edi
jmp 0x407764
mov edi, dword [ebp - 0x42b74]
xor ebx, ebx
xor esi, esi
mov ecx, dword [edi + 0x6b2c]
test ecx, ecx
jmp 0x407c8d
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 0x407c74
mov ebx, dword [ebp - 0x42b74]
mov ecx, 1
mov dword [esi + 0x410], ecx
mov eax, dword [ebx + 0x66a8]
cmp eax, 2
je 0x407fa9
jg 0x407ea3
cmp eax, 1
jne 0x4074c9
mov ebx, dword [ebp - 0x42b78]
mov ecx, 0x55555556
mov edi, dword [ebp - 0x42b74]
dec ebx
mov eax, ebx
imul ecx
mov eax, ebx
sar eax, 0x1f
mov ebx, 0x4121f4
sub edx, eax
mov esi, dword [edi + edx*4 + 0x66c4]
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
mov ecx, 0x104
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov edx, dword [ebp - 0x42b78]
mov dword [esp], eax
add edx, 0x28a1
mov dword [esp + 4], edx
call fcn.00409cb0
test eax, eax
mov edi, eax
je 0x407e84
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
add eax, ecx
mov ecx, 1
mov dword [esp + 0x14], ecx
mov esi, dword [ebp - 0x42ba8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov esi, 0x172
mov dword [esp], ebx
call sub.USER32.dll_MoveWindow
sub esp, 0x18
xor ecx, ecx
mov edx, 0x173
mov dword [esp + 8], ecx
xor eax, eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
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 dword [esp + 0xc], edi
xor edi, edi
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov edx, dword [ebp - 0x42b74]
mov eax, dword [edx + 0x66a8]
jmp 0x4074c9
mov ebx, str.Anagramme
mov dword [esp + 4], ebx
jmp 0x4072a5
cmp eax, 3
jne 0x4074c9
mov eax, dword [ebp - 0x42b78]
mov esi, 1
add eax, 0x1f41
mov dword [esp + 4], eax
mov edi, dword [ebp + 0xc]
mov dword [esp], edi
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.USER32.dll_ShowWindow
sub esp, 8
jmp 0x407cbe
cmp ebx, 9
jle 0x407fdf
fld dword [0x412240]
fld dword [ebp - 0x42bbc]
fucompp
fnstsw ax
sahf
ja 0x407ff7
fld dword [0x412244]
fld dword [ebp - 0x42bbc]
fucompp
fnstsw ax
sahf
jbe 0x4073d3
mov eax, str.Pas_loin
mov dword [esp + 4], eax
lea esi, [ebp - 0x458]
mov dword [esp], esi
jmp 0x4072ae
mov edi, dword [ebp - 0x42b88]
sub esi, edi
push esi
fild dword [esp]
add esp, 4
fmul dword [0x412234]
fdiv dword [ebp - 0x42b98]
jmp 0x407960
fld dword [0x412238]
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 0x4073d1
fld dword [0x41223c]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x407fe9
mov edi, str.Pas_loin
mov dword [esp + 4], edi
jmp 0x4072a5
mov esi, str.Quasiment
mov dword [esp + 4], esi
jmp 0x407f22
mov edi, str.Presque
mov dword [esp + 4], edi
jmp 0x4072a5
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 0x407e84
mov eax, 0x41102a
jmp 0x407f1e
mov ecx, str.Trop_long
mov dword [esp + 4], ecx
jmp 0x4072a5
mov eax, str.Trop_court
jmp 0x407f1e